Setting tags of the array type from the command-line

Started by hojj, November 27, 2010, 11:29:51 AM

Previous topic - Next topic

hojj

Good afternoon,

Could someone please explain to me how to set array-type (int16u[n]) of EXIF tags from the command-line? I've looked around, but still haven't figured it out. I get errors like "Warning: Not an integer for IFD0:MDct" or "Warning: Bad int format: int16u[4] for IFD0:MDct".

I hope this question is not too silly.

Thanks for your time.

hojj

To be more specific, I need to add this private EXIF tag to a file: http://www.awaresystems.be/imaging/tiff/tifftags/mdcolortable.html

This is how I set up this custom tag on .ExifTool_config:

        0x82A7 => {
            Name => 'MDct',
            Writable => 'int16u[17]',
            WriteGroup => 'ExifIFD',
        }

I assume the correct data structure for this is an array (as opposed to a list or something).

Again, if someone could point me in the right direction, it would be great :)

Thanks.

hojj

Strangely, even if I try to copy directly from another file (which does have the correct int16u[17] array), it fails to copy the tag.

me@laptop:~/temp/test$ exiftool -TagsFromFile source.tif -exif:MDct dest.tif
Warning: Not an integer for ExifIFD:MDct - source.tif
No writable tags found - source.gel
    0 image files updated
    1 image files unchanged

I've tried introducing the tag by hand (inserted a 0x82a7 tag containing a single int16u value, using exiftool; changed the tag so it points to the 17 last bytes of the file and appended the 34 bytes with the correct array at the end, using an hex editor) and it does work, so I don't know what I'm doing wrong with exiftool.

If you have any idea about this, please tell me ;) Thanks.

hojj

It might have something to do with setting correct ValueConv and ValueConvInv, no? ??? eheh, I'm lost.

Phil Harvey

For EXIF tags, set the "Writable" to the write format and "Count" to the number of values (-1 if the number is variable).  Then input the values as a string like "1 2 3 4 5".

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