new version => 5 : modify IPTC ?

Started by chcoste, February 15, 2012, 01:57:35 AM

Previous topic - Next topic

Phil Harvey

Quote from: pb on April 12, 2012, 08:42:11 PM
So, I was thinking that the number of tags that have to do with still image files is probably smaller than 5826.

True, but the writable tags are all for image files, since ExifTool only writes XMP to non-image files anyway.

QuoteI guess someone could write some code that operates on exiftool's repository of existing tags to generate a workspace.ini file containing all existing tags, which could be run on each new version of exiftool, so nothing would have to be done by hand.

This is exactly the purpose of the exiftool -list option. :)

- 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 ($).

pb

Oh, somehow I was thinking that -list only pertained to a file arg.  Well, so much the better.  Now I can hack it to generate a workspace.ini file and see if I can make gui crash with a giant workspace.  Uh, just kidding.

Hmm, actually, looking into doing just that, it appears that GUI wants to know what group each tag belongs to in the form group:tag.  However, I don't see any direct way to get exiftool to output all tag names along with their groups.  It seems that first I need to ask for all the groups, then for each group ask for all its tags, using various variations of -list*.  Is there a way to get exiftool to output all tag names, ideally in the form group:tag, but in any way that a single exiftool command's output indicates both the group and what tags belong to it?  (Hmmm, maybe this now needs to go to the exiftool forum.)

(BTW, I may be abusing the word "group."  I'm using it to mean one of the things like EXIF, XMP, IPTC, Vorbis, MPEG, etc.  Also, I don't fully understand how the family number works, so the answer to my question is probably complex.)

--peter

BogdanH

#17
Hi,

Yes, it can happen one gets addicted with metadata (did I use correct terms for what I'm trying to say?)... I relate that to import all 3500 (or so) tags into Workspace. Yes, that is silly :) I mean, is there someone who regulary populates i.e Exif:TransferFunction tag?
As promised, I will create a bit more "universal" Workspace file, which should serve as a basis. The rest is up to the user: if neded, he really should take some time and read documentation provided by Phil.

About metadata terminology (what is group, section, family group,..).. I have a problem many times as well :)
Yes, one should use "common" terminology as much as possible, to avoid confusion. So I really don't mind if someone corrects me in this regard -it's welcomed actually.
Thus, to be clear, I usually describe what I mean, i.e.: "..this tag is written into Exif section.." or "..it is inside Xmp-photoshop group..", etc. -this is the best I can.

To Phil
Quote.. but is there any way for the application to load the default .ini if it doesn't find one in the system directory?  Say, look for it in the current directory?  It would be nice if this was somehow automatic.  Otherwise I think you'll probably still get people who ask questions because they didn't read enough to know they should load it themselves.
I understand. As it is now, it goes like this:
When GUI is started for the very first time, only hardcoded (minimal) Workspace is loaded/shown. Now, whatever user is changing here, on GUI's exit, it is automatically saved into ExifToolGUIv5.ini. Next time GUI is starting, Workspace content is automatically loaded from previously saved ExifToolGUIv5.ini file.
That is, user can modify Workspace manually, or...
Load predefined Workspace immediately and make further changes as necessary. Btw. when menu Workspace Load is executed, dialog always opens in ExifToolGUI's directory (that's where ini files are expected to be). In both cases (manually or loaded), on GUI's exit, current Workspace is automatically saved as default Workspace, which again, is automatically loaded next time GUI starts.
IMO, it can't be simpler and I'm very sure GUI users can manage this  :)

Added:
I forgot to mention: without workaround, it's impossible to load that much (Workspace) tags from ini file, because there's size limit for ini. If I remember correctly, when reading, only 8kb of data is "allowed" per group inside ini file -it's Windows related.
To overcome this, I would need to either "tweak" reading ini file, or create separate (say, mini database) file.

Bogdan

Phil Harvey

Quote from: pb on April 13, 2012, 12:54:23 PM
It seems that first I need to ask for all the groups, then for each group ask for all its tags, using various variations of -list*.  Is there a way to get exiftool to output all tag names, ideally in the form group:tag, but in any way that a single exiftool command's output indicates both the group and what tags belong to it?  (Hmmm, maybe this now needs to go to the exiftool forum.)

(BTW, I may be abusing the word "group."  I'm using it to mean one of the things like EXIF, XMP, IPTC, Vorbis, MPEG, etc.  Also, I don't fully understand how the family number works, so the answer to my question is probably complex.)

The different families are each just different ways of grouping the tags.  The general metadata locations you have specified are the family 1 set of groups.  You can list all family 0 groups with -listg0, then use options like -list -GROUP:all to list all tags in each group.  Or, you can output the entire ExifTool tag database in XML format with -listx -- this contains the group names for all families for each tag.  (I tell you this, but I don't expect you to actually use this output.  This is designed for a software developer rather than a user.)

- 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 ($).

pb

Quote from: Phil Harvey on April 13, 2012, 03:09:12 PM
Quote from: pb on April 13, 2012, 12:54:23 PM
It seems that first I need to ask for all the groups, then for each group ask for all its tags, using various variations of -list*.  Is there a way to get exiftool to output all tag names, ideally in the form group:tag, but in any way that a single exiftool command's output indicates both the group and what tags belong to it?  (Hmmm, maybe this now needs to go to the exiftool forum.)

(BTW, I may be abusing the word "group."  I'm using it to mean one of the things like EXIF, XMP, IPTC, Vorbis, MPEG, etc.  Also, I don't fully understand how the family number works, so the answer to my question is probably complex.)

The different families are each just different ways of grouping the tags.  The general metadata locations you have specified are the family 1 set of groups.  You can list all family 0 groups with -listg0, then use options like -list -GROUP:all to list all tags in each group.  Or, you can output the entire ExifTool tag database in XML format with -listx -- this contains the group names for all families for each tag.  (I tell you this, but I don't expect you to actually use this output.  This is designed for a software developer rather than a user.)

- Phil
Thanks.

Ah, but I'm a hacker in addition to a user.

I did discover -listg*, -GROUP:all, and -listx.  I was looking for something somewhere in between, which apparently you haven't implemented.  I did now take a look at -listx output.  Using it to get something in Workspace format would obviously require some parsing, probably more work than I want to do.  In fact, it's probably easier to just go through the groups I'm interested in with a script or by hand than to write stuff to parse the xml.  And, I'm a pretty naive perl programmer, so that would not save me time either, alas.  Well, something I may do for amusement in a more bored moment.

--peter

foxyshadis

I'm glad I searched out this thread first, because I was so confused; for a while I thought you had completely removed all editing capability from the program. I don't think that calling it "Workspace" and leaving it at that is particularly good usability; really, it should be called Editor or something else that makes it obvious that you can change tags, and by default allow editing EVERYTHING. Just IMHO. Even just having a preferences item along the lines of "Edit all known tags in Workspace" would be enough.