You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added new XmpWritebackMode::EmbeddedAndSidecar to support writing generated XMP both embedded and as a sibling .xmp sidecar. Update public docs and README to document the new option. Adjust core logic so sidecar output is requested whenever the mode is not EmbeddedOnly and only strips embedded XMP blocks in SidecarOnly mode; in dual mode the embedded carrier is preserved and a sidecar is emitted. Expose the new enum value to the Python binding and Python CLI, extend argument validation to require --output for non-embedded modes, and update the metatransfer tool help/parser/messages. Add a unit test verifying embedded+sidecar behavior.
ap.add_argument("--xmp-no-exif-projection", action="store_true", help="do not mirror EXIF-derived properties into generated XMP")
200
200
ap.add_argument("--xmp-no-iptc-projection", action="store_true", help="do not mirror IPTC-derived properties into generated XMP")
201
201
ap.add_argument("--xmp-conflict-policy", choices=["current", "existing_wins", "generated_wins"], default="current", help="conflict policy between existing decoded XMP and generated portable EXIF/IPTC XMP")
202
-
ap.add_argument("--xmp-writeback", choices=["embedded", "sidecar"], default="embedded", help="keep generated XMP embedded, or persist it as a sibling .xmp sidecar when --output is used")
202
+
ap.add_argument("--xmp-writeback", choices=["embedded", "sidecar", "embedded_and_sidecar"], default="embedded", help="keep generated XMP embedded, persist it only as a sibling .xmp sidecar, or do both when --output is used")
203
203
ap.add_argument("--xmp-exiftool-gpsdatetime-alias", action="store_true", help="emit exif:GPSDateTime alias for GPS time in portable mode")
0 commit comments