Extracting xmp from jpegs - sometimes it works, sometimes it doesn't...

Started by areohbee, December 21, 2013, 09:09:13 PM

Previous topic - Next topic

Phil Harvey

Hi Rob,

Quote from: areohbee on December 24, 2013, 11:06:10 AM
Not all tags necessarily have a samed-named tag and therefore not a preferred location either. In such cases tags will be "mirrored as-is" (copied verbatim). In cases where there is a same-named tag, what happens depends on whether one is creating a new xmp file (or in any case, tag does not exist in output file), versus updating an existing xmp file (and same-named tags exist in the output file). In the former case (new file or tag not existing in output file...), the tag will be written only once - regardless of how it's found in the source file, it will, by default, be mapped to a preferred location. In the latter case (same-named tags exist in output file, e.g. in non-preferred locations too), all existing tags of same name will be updated based on (set equal to) source tag value.

Wow.  That's a bit confusing... ;)

I think you have got it, but the rules are simpler than this explanation may suggest.  All writable tags have a preferred location that they will be created if you don't specify a group, but tags with the same name in other groups will still be updated if they already existed.

QuoteAnd again, the purpose of the '-all:all' or '-xmp:all>all:all' is to prevent the default behavior of mapping to preferred location (and creating only once), in case one just wants things done as close as possible to how they were in the source file, right or wrong, preferred or not, duplication and all...

Right.

QuotePS - My current homework is trying to get a better handle on the distinction between "location" and "namespace" and/or "family" / "group".

Maybe the best description of the organization of the groups is here.  The different families are just different ways of grouping the tags.  BTW, there is an undocumented family 5, which I leave as an easter egg for you to discover. :)

QuoteThanks again for helping me/us get a handle on this stuff,

My pleasure.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

areohbee

Very helpful Phil - thanks for clarifying (and simplifying ;))

In addition to the GetGroup (perl) doc, section 9.b of FAQ was worth re-reading.

Perhaps by April I'll be ready for family 5 :o

Cheers,
Rob

Phil Harvey

Hi Rob,

Thanks for mentioning FAQ 9, I had forgotten about it.  A bit heavy with all those examples, but it does discuss exactly the subject you were grappling with.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).