I recently scanned over 1000 old family photos and wanted an easy way to step through them and update 1) photo title, 2) photo date, 3) caption and 4) keywords (names, places, etc). I didn’t find any tool I particulary liked so I decided to write my own (as an EoG plugin).
A couple of caveats:
- This tool modifies the original file. I could have written it to use sidecar files but since it was intended primarily for scanned images (which had no valid data already) and I am diligent about backing up my image files I am OK with modifying the metadata in the originals.
- The metadata updated was chosen to be compatible with Darktable and Zenfolio.
- If you modify the metadata with eogMetaData and then import the image to Darktable and export it back to a new file, the metadata as required by Zenfolio will no longer be set. In order to again prep the images for Zenfolio you can step through the newly exported images again with eogMetaEdit with Set default values? checked or you may use Zenify to process them from the command line.
Here’s the plugin in action:
The Commit and Revert buttons will be enabled if there are any changes made to the Title, Date, Caption or Keyword fields. If Set default values? is checked default values will be forced on the freshly opened file and, if any changes are needed the Commit and Revert buttons will be enabled.
Here is an example with Set default values? checked. Note that the Title is prefixed with the date (which is what I want when I upload to Zenfolio)
If you try to load a new photo when there are unsaved changes you will be
prompted as to whether to save the changes or cancel the new file selection.
The Details view will show what changes will be made to the image if you select Yes.
eogMetaEdit Commit will write the following fields in your image file:
|Title||Exif.Application2.Headline, Exif.Image.ImageDescription, Xmp.dc.title NOTE: The title will be prefixed by Iptc.Application2.DateCreated to allow for sorting on Zenfolio of images with dates prior to 1914.|
|Date||Exif.Photo.DateTimeOriginal, Exif.Image.DateTimeOriginal, Exif.Photo.DateTimeDigitized, Exif.Image.DateTime, Iptc.Application2.DateCreated, Iptc.Application2.TimeCreated|
|Caption||Exif.Photo.UserComment, Iptc.Application2.Caption, Xmp.dc.description|
For the above, the tags will be read from the file in the order given and the first valid, non null, entry will be used as the default (i.e. displayed in the form field). Any other valid entries will be available for selection in the pull-down.
|Make||Exif.Image.Make will be set to “eogMetaEdit” if it is not already set|
|Model||Exif.Image.Model will be set to “eogMetaEdit vX.X” if it is not already set|
|Removed||Xmp.exif.DateTimeOriginal, Xmp.dc.date, Xmp.acdsee.caption|
Note, valid date strings are:
- YYYY-MM-DD HH:MM:SS
- YYYY:MM:DD HH:MM:SS