Main Menu

Writing to IFD0:XMPSubject

Started by gking, September 10, 2012, 08:18:33 AM

Previous topic - Next topic

gking

Hello,
I try to copy XMP-DC:Type into IFT0:XPSubject.
If I do this with a command line
exiftool -v "-xmp-dc:type>IFD0:XPSubject" a.jpg
I get a message "Sorry, IFD0:XPSubject is not writeable" but the tag is written anyway.

If I try this in an argument file with a line
-xmp-dc:type>IFD0:XPSubject it tells me "1 image file updated" but IFT0:XPSubject is still empty.

Phil Harvey

Quote from: gking on September 10, 2012, 08:18:33 AM
Hello,
I try to copy XMP-DC:Type into IFT0:XPSubject.
If I do this with a command line
exiftool -v "-xmp-dc:type>IFD0:XPSubject" a.jpg
I get a message "Sorry, IFD0:XPSubject is not writeable" but the tag is written anyway.

Yes.  This is due to the way that ExifTool writes list-type tags internally.  I will see about fixing this in the next release.  You can safely ignore any "TAG is not writable" messages in verbose mode as long as you get one "Writing TAG" message.

QuoteIf I try this in an argument file with a line
-xmp-dc:type>IFD0:XPSubject it tells me "1 image file updated" but IFT0:XPSubject is still empty.

This works for me.  Are you checking for IFTO:XPSubject (incorrect), or IFD0:XPSubject (correct)?

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

gking

Quote from: Phil Harvey on September 10, 2012, 08:42:09 AM
This works for me.  Are you checking for IFTO:XPSubject (incorrect), or IFD0:XPSubject (correct)?
I misspelt IFTO:XPSubject here in this message
The following argument file does not work for me.

# Picasa schreibt die Namen von erkannten Personen in den RegionName
# Windows zeigt aber nur den RegionPersonDisplayName an
#
# Windows zeigt den Type nicht an, daher wird das Feld zusätzlich nach XPSubject kopiert
#-m
#-RegionName>RegionPersonDisplayName
-xmp-dc:type>IFD0:XPSubject
#-xmp-iptcExt:event>xmp-exif:UserComment


If I drop a Picture onto exiftool(-k -@ argToWindows.txt).exe I get a new *.JPG_ORIGINAL but IFD0:XPSubject is empty.

-Gunther

Phil Harvey

Hi Gunther,

Quote from: gking on September 10, 2012, 10:23:46 AM
If I drop a Picture onto exiftool(-k -@ argToWindows.txt).exe I get a new *.JPG_ORIGINAL but IFD0:XPSubject is empty.

It will be empty in the "*.JPG_original" images, but the XPSubject should exist in the .JPG images if the images contained an XMP-dc:Title.

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

gking

Hi Phil,

Quote from: Phil Harvey on September 10, 2012, 10:30:47 AM
It will be empty in the "*.JPG_original" images, but the XPSubject should exist in the .JPG images if the images contained an XMP-dc:Title.
Yes I am aware, that the changes exist in the .JPG file (I suppose you meant XMP-dc:Type, because thats what I am trying to copy)

The metadata of my picture are exactly the same before and after copy

[ExifTool]      ExifToolVersion                 : 9.01
[System]        FileName                        : a.jpg
[System]        Directory                       : D:/Daten/Downloads/ExifTool
[System]        FileSize                        : 3.8 MB
[System]        FileModifyDate                  : 2012:09:10 18:06:08+02:00
[System]        FilePermissions                 : rw-rw-rw-
[File]          FileType                        : JPEG
[File]          MIMEType                        : image/jpeg
[File]          ImageWidth                      : 3648
[File]          ImageHeight                     : 2736
[File]          EncodingProcess                 : Baseline DCT, Huffman coding
[File]          BitsPerSample                   : 8
[File]          ColorComponents                 : 3
[File]          YCbCrSubSampling                : YCbCr4:2:2 (2 1)
[XMP-x]         XMPToolkit                      : Image::ExifTool 9.01
[XMP-iptcExt]   Event                           : gkEreignis
[XMP-iptcExt]   LocationShownCity               : gkStadt
[XMP-iptcExt]   LocationShownCountryName        : gkLand
[XMP-iptcExt]   LocationShownProvinceState      : gkBundesland
[XMP-iptcExt]   LocationShownSublocation        : gkAdresse
[XMP-dc]        Creator                         : gkPhotograph
[XMP-dc]        Date                            : 2000
[XMP-dc]        Description                     : gkBeschreibung
[XMP-dc]        Rights                          : gkCopyright
[XMP-dc]        Subject                         : gk1, gk2, gk3
[XMP-dc]        Title                           : gkTitel
[XMP-dc]        Type                            : gkHauptmotiv, gkNebenmotiv
[XMP-exif]      UserComment                     : gkHauptmotiv, gkNebenmotiv
[XMP-xmp]       Rating                          : 5
[Composite]     ImageSize                       : 3648x2736


- Gunther

Phil Harvey

Hi Gunther,

Now it's my turn for the tying error. :P

There should really be no difference between using the -@ option or running from the command line.  Something else must have changed.  Did you try this exact file from the command line (perhaps there is an error with this file)?  Are you sure you are running the same exiftool version both times?  Something must be different.

Here is what I get (on my Mac):

> exiftool a.jpg -xmp-dc:type
Type                            : x, y

> exiftool a.jpg -xpsubject

> cat a.args
-xmp-dc:type>IFD0:XPSubject

> exiftool a.jpg -@ a.args
    1 image files updated

> exiftool a.jpg -xpsubject
XP Subject                      : x, y


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

gking

Hi Phil,

Quote from: Phil Harvey on September 10, 2012, 12:37:40 PM
Did you try this exact file from the command line (perhaps there is an error with this file)?

You where right. Something happened with my exiftool(-@ argToWindows.txt).exeI made a new one and now it works.

Thank you for your quick support and for the great tool you gave us.

-Gunther