On Tue, 17 Aug 2004 15:58:20 +0200, Raphaël Quinet <quinet@xxxxxxxxxx> wrote: > As some of you may remember, I started working on a metadata/parasite > editor a long time ago (bug #61499, bug #56443, bug #94416) but lost > most of it in a disk crash during a backup (doh!). Since my new > digital camera is begging for better metadata support in the GIMP > (starting with the EXIF orientation tag, bug #121810) I re-started > that work from scratch and built a new metadata viewer and editor. [...] > http://wilber.gimp.org/~raphael/metadata/ > I would like some feedback about that, and any help about the open > issues mentioned in the page would be more than welcome. [...] > If I am heading in the wrong direction or if I have overlooked > something, please tell me. I don't want to waste my time doing the > wrong things if I don't get any feedback. Well, I didn't get much feedback through this list, but I would like to thank Sven and Jimmac who discussed some issues on #gimp and Alan who also sent me some suggestions. During the weekend, I rewrote the XMP parser and I modified the code of the metadata editor so that it works better when all metadata is stored in a single GIMP parasite, using accessor functions so that other plug-ins can get/set the metadata through the appropriate PDB calls. There are still several open issues, but there at least two things for which I would need some help as soon as possible so that I can continue and hopefully finish the implementation: XMP files for testing the parser and some suggestions on how to exchange structured properties through the PDB. * XMP files for testing the parser: the new parser should be able to handle most (hopefully all) files that conform to the XMP specs, including some annoying features such as properties with qualifiers, language alternatives, etc. However, I have only been able to test the parser with the examples given in the XMP specs and some test files that I found (such as the Creative Commons templates for Adobe products). I would be very interested in getting more test files, either as standalone *.xmp files or as XMP embedded into some image formats (JPEG, TIFF, PNG) or even PDF or Adobe Illustrator files. If you have access to a tool that can generate XMP metadata (such as Photoshop 7 or CS, Illustrator 10 or later, ...) then please send me some files or tell me where I can fetch them. I am very interested in files that have one or more of the following features: - containing a description, title or rights statement in multiple languages (please also tell me how your tool allows you to enter multiple languages such as en_US, fr_FR... and how to select which one becomes the default); - containing metadata converted from EXIF; note that I mean XMP files with "exif:" and "tiff:" schemas converted from EXIF, not just files with metadata in a raw EXIF block; - containing XMP Media Management metadata (e.g., xmpMM:History); - containing some properties with qualifiers, such as a list of authors in which one is labeled as "composer", the other as "lyricist", etc. (please also tell me how you can enter this). In all cases, please tell me the name and version of the tool used to create the image or the metadata because there have been some changes to the XMP specs and I want to be able to support both the old and new versions. For example, the "exif:Flash" property is defined as a structed type in the current XMP specs (on page 68) but is shown as a simple integer value in some examples so I would like to know what can be seen in XMP packets from various tools. You can send the files or the link to the files directly to me by email (do not send files to this list!) but be sure to include both "GIMP" and "metadata" in the subject if you want to get past my spam filter. ;-) * How to exchange structured properties through the PDB: as explained in http://wilber.gimp.org/~raphael/metadata/#Issues I don't know what is the best way to pass the metadata via the PDB. Simple types could be passed as STRING and structured types could be passed as STRINGARRAY, but the annoying thing is that the XMP specs allow any property to get optional qualifiers. I could just discard the qualifiers (I don't know if they are used often in practice) but that wouldn't be very nice. I could also pass XML fragments instead of simple strings, but that would force all scripts and plug-ins to be able to parse XML if they want to be able to get or set metadata. This would be very annoying for Script-Fu or Tiny-Fu. I also don't know what is the best way to pass the array of thumbnail images for the xmp:Thumbnails array. XMP says that it should be an array of structures containing width, height, format and image as a base 64 encoded string. It would be nicer to be able to pass one or several DRAWABLEs instead of big strings. That would probably require separate PDB calls just for the thumbnails. Any suggestions would be greatly appreciated because I'm a bit stuck for the moment. I hope that I will get a bit more feedback this time. :-) Anyway, even if the code of the plug-in is not ready yet due to the problems with the PDB calls, I may be able to release the XMP parser first because it should be easy to package it separately (it only depends on glib).' -Raphaël