It would be great to create our own curators for pictures. With that, some features that are dearly missing could get implemented faster. It could be as simple as a script that gets called with a specific filename and returns a list of tag hierarchies for this file.
- During migration of existing libraries: Some of us have our own filing systems where tags are reflected in folder/filenames and should now become a tag
- New tags: Geotagging, Face detection, Object detection
I’ve thought about this a fair bit prior: ideally, the plugin could be written in any language, and would be just a process that PhotoStructure can fork and send requests to in JSON-encoded payloads.
At the point of running 1 (or more) “curators”, PhotoStructure knows (and can provide):
- A1: the list of full pathnames to the images or videos that have been deduplicated
- A2: the path to the “best” variation
- A3: explicit and inferred metadata associated to the best variation, including “dash-dash keywords”, google takeout metadata, and sidecars (see this for details)
- A4: prior user-generated metadata edits (if they’ve marked the asset as a favorite, rotated it, marked it for hiding or exclusion, …)
- A5: a list of tags currently associated to the asset (thanks to the built-in curators)
What a curator would presumably provide:
- B1: Possibly 1 or more tags to add
- B2: Possibly 1 or more tags to remove (from the current tags provided above in A5)
- B3: Possibly new state (like fave, hide, exclude, delete)
If you needed to inject metadata tags (like, with step A3), you’d need an additional plugin-in type, (maybe a “tag extractor”?) (I could move the current dash-dash keyword, google takeout tagger, and sidecar code into that framework, perhaps).
File rename, date modification (maybe a tool taking a gpx track or some other ‘more correct’ time stamp, folder move, face tag (specialized version of a tag with region information, gps coordinates if missing…
Then there could be sidecar edit updates (hue, brightness, whatever editing functions that people do to fix images).
Maybe these aren’t all valid plugins, but I’m tossing ideas to support future integrations. Some may fit better to just let the other tool update the file and PhotoStructure sees the changes.