Skip to content

RapidReady v0.6.0

Choose a tag to compare

@on370 on370 released this 05 Nov 19:17
· 10 commits to main since this release

RapidReady v0.6.0: Universal Adobe XMP & RapidRAW Sidecars, Multi-RAW Developer Integration, and Lazy Import Duplicate Detection

RapidReady 0.6.0 marks a major architectural milestone: full coexistence and bidirectional synchronization between Adobe XMP (.xmp) sidecars and native RapidRAW (.rrdata) sidecars, non-destructive editing guarantees across all external tools, a configurable external RAW developer launcher, zero-I/O duplicate detection during import, and robust handling of reverse-layout Capture One DNGs.

Key Achievements

  • Universal Adobe XMP (.xmp) sidecar engine with non-destructive read-modify-write and 3 configurable sync modes (RapidRAW Native, Dual-Sync, Standard XMP).
  • Conflict resolution via filesystem modification timestamps (mtime) as Single Source of Truth (SSoT).
  • Dual XMP naming convention support: Adobe Standard STD (<stem>.xmp) and darktable DT (<file>.<ext>.xmp) with automatic companion JPEG collision protection.
  • Native bidirectional compatibility for darktable color labels (<darktable:colorlabels>) and hierarchical tags (<lr:hierarchicalSubject>).
  • Configurable external RAW developer launcher (R / Shift+R) supporting RapidRAW, darktable, Adobe Lightroom Classic, System Default, or Custom Applications with dynamic UI labels and truncate protection.
  • Zero-I/O lazy on-demand import duplicate detection recognizing pre-existing archive files during SD card scanning without background library hashing.
  • Full rendering and EXIF metadata extraction for reverse-layout Capture One DNGs lacking embedded JPEGs.
  • Archive catalog deletion reconciliation eliminating ghost directories in folder trees upon sync.

Universal Adobe XMP (.xmp) & RapidRAW (.rrdata) Architecture

  • Non-Destructive Read-Modify-Write: Atomically updates ratings, picks, rejects, color labels, tags, GPS coordinates, and orientations via temporary file replacement (.tmp → rename). Preserves all foreign XML tags, attributes, and development blocks (such as Lightroom crs:* parameters, darktable history stacks, and RapidRAW adjustments).
  • Three Configurable Sidecar Modes:
    • RapidRAW Native (.rrdata) (Default): Writes native .rrdata with automatic fallback to .xmp if only an XMP exists.
    • Dual-Sync (.rrdata + .xmp) (Hybrid): Writes changes synchronously to both formats for friction-free switching between RapidRAW, Lightroom, and darktable.
    • Standard XMP (.xmp): Writes directly to .xmp (updating existing .rrdata if present) with read fallback to .rrdata.
  • Filesystem mtime SSoT Resolution: When both .rrdata and .xmp exist for an image, RapidReady automatically resolves conflicts in favor of the file with the most recent modification timestamp (mtime).
  • Dual XMP Naming Conventions: Choose between Adobe Standard STD (<stem>.xmp, e.g. DSC001.xmp) and darktable DT (<file>.<ext>.xmp, e.g. DSC001.ARW.xmp), with automatic per-extension naming whenever companion JPEGs exist.
  • Inspector Sidecar Badges: Compact header indicators ([ .rrdata ], [ .xmp ], [ .rrdata · .xmp ]) with interactive tooltips clarifying the authoritative SSoT source based on mtime.
  • NAS-Safe Bulk Sidecar Sync: On-demand synchronization tool in Settings to reconcile existing archives (20k+ files) between .rrdata and .xmp with a live progress bar and pause/resume/cancel controls (ScanController).

Configurable External RAW Developer Launcher

  • Target Application Selector: Choose between RapidRAW (Default), darktable, Adobe Lightroom Classic, System Default, or a Custom Application (.app on macOS, .exe on Windows).
  • Dynamic UI Labels & Shortcuts: Context menus, toolbar popovers, import completion buttons, and shortcut references dynamically display the target app name and key combination (e.g. „In darktable öffnen (Shift+R)“ vs. „In RapidRAW öffnen (R)“).
  • Truncate & Layout Protection: 5-column button grid in Settings with hover tooltips and dynamic explanation text. All UI labels and shortcut badges use text truncation and flex protection (min-w-0 truncate + shrink-0) to ensure long custom application names never obscure shortcut badges.
  • Dedicated In-App Help Chapter (HelpRawDevelopers.tsx): Comprehensive guide in the Help modal covering end-to-end integration, recommended sidecar modes per tool, darktable library.db XMP refresh tips, and guidance on darktable's default 1-star import behavior.

Lazy On-Demand Import Duplicate Detection

  • Zero-I/O Archive Duplicate Detection: Photos already existing in a photo archive (e.g. imported prior to RapidReady) are automatically recognized as already_imported = true when scanning an SD card or source directory.
  • 100% CTSP Compliance: Eliminates background disk hashing during library browsing. During source scanning, pre-filters files by exact byte size and lazily computes 64 KB head hashes only for matching candidates, caching results permanently in import_index.db.
  • Special thanks to community contributor @DanieGu for suggesting the import duplicate detection backfill mechanism!

Capture One & Reverse-Layout DNG Support

  • Reverse TIFF Layout Support: Added decoding for DNG files where IFD0 sits near the end of the file (e.g. exported from Capture One 23 Windows from Sony ILCE-6700).
  • ImageIO RAW Fallback: Enabled Apple ImageIO RAW decoding fallback for uncompressed sensor CFA files lacking embedded JPEGs.
  • Letterbox Border Filtering: Filtered transparent letterbox borders in thumb_rs to prevent false 404 preview errors.

Archive Deletion Reconciliation

  • Ghost Directory Cleanup: Added removed_dirs tracking to ArchiveDeltaResult and reconcile_directory_files.
  • Automatically identifies and purges externally deleted folders and orphaned photos upon folder refresh or archive delta sync, eliminating ghost folders in the directory tree.

Download & Installation

macOS (Apple Silicon & Intel)

  1. Download RapidReady_0.6.0_universal.dmg.
  2. Open the .dmg and drag RapidReady into your Applications folder.
  3. First Launch Note: If macOS Gatekeeper shows a warning because RapidReady is an open-source project without a paid developer certificate, run this command once in Terminal:
    xattr -cr /Applications/RapidReady.app
    (Or right-click RapidReady.app in Applications and select Open).

Windows (x64)

  1. Download RapidReady_0.6.0_x64-setup.exe.
  2. Run the installer (no administrator privileges required).
  3. SmartScreen Note: Click More info and then Run anyway if prompted by Windows SmartScreen.