From 5c43caa75f86606394b95ac40d653eb7c1f56a68 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Tue, 3 Feb 2026 10:30:39 +0100 Subject: [PATCH] Add README with feature documentation Co-Authored-By: Claude Opus 4.5 --- README.md | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..22b0132 --- /dev/null +++ b/README.md @@ -0,0 +1,100 @@ +# Video Montage Linker + +A PyQt6 application to create sequenced symlinks for image files. Useful for preparing image sequences for video editing or montage creation. + +## Features + +### Multiple Source Folders +- Add multiple source folders to merge images from different locations +- Files are ordered by folder (first added = first in sequence), then alphabetically within each folder +- Drag & drop folders directly onto the window to add them +- Multi-select support for removing folders + +### File Management +- Two-column view showing filename and source path +- Drag & drop to reorder files in the sequence +- Multi-select files (Ctrl+click, Shift+click) +- Remove files with Delete key or "Remove Files" button +- Refresh to rescan source folders + +### Symlink Creation +- Creates numbered symlinks (`seq_0000.png`, `seq_0001.png`, etc.) +- Uses relative paths for portability +- Automatically cleans up old `seq_*` links before creating new ones + +### Session Tracking +- SQLite database tracks all symlink sessions +- Located at `~/.config/video-montage-linker/symlinks.db` +- List past sessions and clean up by destination + +### Supported Formats +- PNG, WEBP, JPG, JPEG + +## Installation + +Requires Python 3 and PyQt6: + +```bash +pip install PyQt6 +``` + +## Usage + +### GUI Mode + +```bash +# Launch the graphical interface +python symlink.py +python symlink.py --gui +``` + +1. Click "Add Folder" or drag & drop folders to add source directories +2. Reorder files by dragging them in the list +3. Remove unwanted files (select + Delete key) +4. Select destination folder +5. Click "Generate Virtual Sequence" + +### CLI Mode + +```bash +# Create symlinks from a single source +python symlink.py --src /path/to/images --dst /path/to/dest + +# Merge multiple source folders +python symlink.py --src /folder1 --src /folder2 --dst /path/to/dest + +# List all tracked sessions +python symlink.py --list + +# Clean up symlinks and remove session record +python symlink.py --clean /path/to/dest +``` + +## System Installation (Linux) + +To add as a system application: + +```bash +# Make executable and add to PATH +chmod +x symlink.py +ln -s /path/to/symlink.py ~/.local/bin/video-montage-linker + +# Create desktop entry +cat > ~/.local/share/applications/video-montage-linker.desktop << 'EOF' +[Desktop Entry] +Name=Video Montage Linker +Comment=Create sequenced symlinks for image files +Exec=/path/to/symlink.py +Icon=emblem-symbolic-link +Terminal=false +Type=Application +Categories=Utility;Graphics; +EOF + +# Update desktop database +update-desktop-database ~/.local/share/applications/ +``` + +## License + +MIT