This project provides photo/video import and organization tools, similar to Adobe Lightroom's import functionality.
A full-featured cross-platform version with GUI preview and thumbnail support.
Features:
- Cross-platform (Windows, macOS, Linux)
- Preview images with thumbnails
- RAW file support via LibRaw
- Modern Qt6-based UI
See the main build instructions below for this version.
A lightweight, high-performance Windows-native implementation using pure WinAPI and C.
Features:
- Windows-only, optimized for maximum performance
- Pure C implementation with no external dependencies
- Memory-mapped file I/O for fast hash computation
- Native Windows threading
- ~100 KB executable size (vs 10-20 MB for Qt version)
- All core features: scanning, deduplication, custom folder structures, preview
- NEW: Preview folder structure before importing
📖 See README_C.md for details and build instructions
Build the C version:
cd src_c
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config ReleaseOr use NMAKE:
cd src_c
nmake /f Makefile.msvc- Scan folders for photos and videos (recursive option).
- Generate thumbnails (using LibRaw for RAW files).
- Organize files by date (based on file modification time or EXIF).
- Import files (Copy/Move/Add) with duplicate detection (MD5 hash).
- Preview images.
- Cross-platform support (Windows, macOS, Linux).
- CMake 3.16+
- Qt 6.5+ (Core, Gui, Widgets)
- C++17 compiler (GCC 9+, Clang 10+, MSVC 2019+)
- LibRaw (optional, will be fetched automatically if not found)
-
Clone the repository:
git clone <repository_url> cd CP
-
Configure:
cmake -B build -DCMAKE_BUILD_TYPE=Release
Note: If Qt is not in your PATH, specify
-DCMAKE_PREFIX_PATH=/path/to/Qt. -
Build:
cmake --build build --config Release
-
Run:
- On macOS:
open build/LightroomImportClone.appor./build/LightroomImportClone - On Linux:
./build/LightroomImportClone - On Windows:
build\Release\LightroomImportClone.exe
- On macOS:
- Qt6: Used for GUI and core functionality.
- LibRaw: Used for processing RAW image files. It is automatically fetched via CMake if not found on the system.
MIT