Digikam 2.9: Save image comments to file

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Digikam 2.9: Save image comments to file

Markus Ebert
Hi,

After tagging and commenting my photos and trying to share them with
others (windows users), I found out that digikam did not actually save
my comments to the files, neither to the jpg nor to xmp.
I crosschecked by using exiftool and even deleting the database-file:
digikam was able to restore the tags, but not the comments.
All options in "Write this information to the Metadata" are set, I also
checked the digikamrc (see below).

I am using digikam 2.9 on a SUSE 12.2 running KDE 4.9.2.

Apart from the problem above, what is your opinion on how to organize
photos on multiple platforms?


Kind regards
Markus


Contents of digikamrc:
...
[Metadata Settings]
EXIF Rotate=true
EXIF Set Orientation=true
Metadata Writing Mode=2
Rotate By Internal Flag=true
Rotate By Metadata Flag=true
Rotate Contents Lossless=true
Rotate Contents Lossy=false
Save Color Label=true
Save Date Time=true
Save EXIF Comments=true
Save Pick Label=true
Save Rating=true
Save Tags=true
Save Template=true
Update File Timestamp=false
Use XMP Sidecar For Reading=true
Write RAW Files=false
...
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Peter Albrecht
Hi,

what do you mean by "comments"?
In the right side view, selecting "Caption/Tags", I can see
"Title" and "Captions".

I enter unique texts in these input fields and click apply.
Then I look at the jpg file with okteta (hex viewer).

I can find
  - the caption seven times
  - the title two times

For example in the XMP-Part of the file:

  - caption can be found at:
     /x:xmpmeta/rdf:RDF/rdf:Description/dc:description/...

  - title can be found at:
     /x:xmpmeta/rdf:RDF/rdf:Description/dc:title/...


Do your jpg files contain XMP-Data? Have a look at them with
some hex editor and look for something starting with:
"<x:xmpmeta".


My setup:
  - Gentoo Linux
  - KDE 4.8.5
  - DigiKam 2.9.0

Regards,
        Peter

On 10.10.2012 20:48, Markus Ebert wrote:

> Hi,
>
> After tagging and commenting my photos and trying to share
> them with others (windows users), I found out that digikam
> did not actually save my comments to the files, neither to
> the jpg nor to xmp.
> I crosschecked by using exiftool and even deleting the
> database-file: digikam was able to restore the tags, but not
> the comments.
> All options in "Write this information to the Metadata" are
> set, I also checked the digikamrc (see below).
>
> I am using digikam 2.9 on a SUSE 12.2 running KDE 4.9.2.
>
> Apart from the problem above, what is your opinion on how to
> organize photos on multiple platforms?
>
>
> Kind regards
> Markus
>
>
> Contents of digikamrc:
> ...
> [Metadata Settings]
> EXIF Rotate=true
> EXIF Set Orientation=true
> Metadata Writing Mode=2
> Rotate By Internal Flag=true
> Rotate By Metadata Flag=true
> Rotate Contents Lossless=true
> Rotate Contents Lossy=false
> Save Color Label=true
> Save Date Time=true
> Save EXIF Comments=true
> Save Pick Label=true
> Save Rating=true
> Save Tags=true
> Save Template=true
> Update File Timestamp=false
> Use XMP Sidecar For Reading=true
> Write RAW Files=false
> ...
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
>
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Markus Ebert
Hi,

sorry I use the German translation and thought comment would be the
right translation, in fact I mean the captions.
The title is indeed saved to the jpg, but the caption is not (I now also
used okteta; there is also an xmp-section)
The same is true for the xmp-files - title saved, caption not. Indeed
there is not even a dc:description section.

I suspect that something is wrong with a tool digikam relies on (e.g.
exiftool did not work out box as it turned out dependencies were wrong),
so is there a possibility to turn on a debug mode such that I can see
what happens when digikam tries to write the metadata? Or maybe a logfile?
(Starting in console doesn't reveal anything)


Regards,
Markus



Am 10.10.2012 21:42, schrieb Peter Albrecht:

> Hi,
>
> what do you mean by "comments"?
> In the right side view, selecting "Caption/Tags", I can see
> "Title" and "Captions".
>
> I enter unique texts in these input fields and click apply.
> Then I look at the jpg file with okteta (hex viewer).
>
> I can find
>    - the caption seven times
>    - the title two times
>
> For example in the XMP-Part of the file:
>
>    - caption can be found at:
>       /x:xmpmeta/rdf:RDF/rdf:Description/dc:description/...
>
>    - title can be found at:
>       /x:xmpmeta/rdf:RDF/rdf:Description/dc:title/...
>
>
> Do your jpg files contain XMP-Data? Have a look at them with
> some hex editor and look for something starting with:
> "<x:xmpmeta".
>
>
> My setup:
>    - Gentoo Linux
>    - KDE 4.8.5
>    - DigiKam 2.9.0
>
> Regards,
> Peter
>
> On 10.10.2012 20:48, Markus Ebert wrote:
>> Hi,
>>
>> After tagging and commenting my photos and trying to share
>> them with others (windows users), I found out that digikam
>> did not actually save my comments to the files, neither to
>> the jpg nor to xmp.
>> I crosschecked by using exiftool and even deleting the
>> database-file: digikam was able to restore the tags, but not
>> the comments.
>> All options in "Write this information to the Metadata" are
>> set, I also checked the digikamrc (see below).
>>
>> I am using digikam 2.9 on a SUSE 12.2 running KDE 4.9.2.
>>
>> Apart from the problem above, what is your opinion on how to
>> organize photos on multiple platforms?
>>
>>
>> Kind regards
>> Markus
>>
>>
>> Contents of digikamrc:
>> ...
>> [Metadata Settings]
>> EXIF Rotate=true
>> EXIF Set Orientation=true
>> Metadata Writing Mode=2
>> Rotate By Internal Flag=true
>> Rotate By Metadata Flag=true
>> Rotate Contents Lossless=true
>> Rotate Contents Lossy=false
>> Save Color Label=true
>> Save Date Time=true
>> Save EXIF Comments=true
>> Save Pick Label=true
>> Save Rating=true
>> Save Tags=true
>> Save Template=true
>> Update File Timestamp=false
>> Use XMP Sidecar For Reading=true
>> Write RAW Files=false
>> ...
>> _______________________________________________
>> Digikam-users mailing list
>> [hidden email]
>> https://mail.kde.org/mailman/listinfo/digikam-users
>>
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
>

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Peter Albrecht
On 10.10.2012 22:05, Markus Ebert wrote:
> I suspect that something is wrong with a tool digikam relies
> on (e.g. exiftool did not work out box as it turned out
> dependencies were wrong),

In DigiKam, go to "Help" -> "Components Information" and
post the output on the mailing list.

Mine looks like:
-------------------------- 8< ------------------------------

> digiKam version 2.9.0
> Exiv2 can write to Jp2: Yes
> Exiv2 can write to Jpeg: Yes
> Exiv2 can write to Pgf: Yes
> Exiv2 can write to Png: Yes
> Exiv2 can write to Tiff: Yes
> Exiv2 supports XMP metadata: Yes
> LibCImg: 130
> LibClapack: external shared library
> LibExiv2: 0.21.1
> LibJPEG: 80
> LibJasper: 1.900.1
> LibKDE: 4.8.5 (4.8.5)
> LibKExiv2: 2.1.0
> LibKGeoMap: 2.0.0
> LibKdcraw: 2.0.1
> LibLCMS: 119
> LibLensFun: external shared library
> LibLqr: internal library
> LibPGF: 6.12.27 - external shared library
> LibPNG: 1.5.10
> LibQt: 4.8.2
> LibRaw: 0.14.4
> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
> Marble Widget: 0.13.4 (stable release)
> Parallelized PGF codec: No
> Parallelized demosaicing: Yes
> Database backend: QSQLITE
> LibGphoto2: 2.4.12
> LibKface: 2.0.0
> LibKipi: 1.3.0
> LibOpenCV: 2.3.1
> Libface: 0.2
-------------------------- >8 ------------------------------

Maybe this helps identifying an old library.


> ... so is there a possibility to turn
> on a debug mode such that I can see what happens when
> digikam tries to write the metadata? Or maybe a logfile?
> (Starting in console doesn't reveal anything)

To enable debug output: Start the programm "kdebugdialog",
search for "digikam" and select all checkboxes. Click "OK"
and start digikam from your terminal.

Applying title ("mytitle") and caption ("mycaption"), I get
the following debug output:
-------------------------- 8< ------------------------------

> digikam(3572)/digikam (core) Digikam::DMetadata::setImageTitles: "/home/user/pictures/Pow-img_1418.jpg"  ==> Title:  QMap(("x-default", CaptionValues::caption: "mytitle", CaptionValues::author: "", CaptionValues::date: QDateTime("")  ) )
> digikam(3572)/digikam (core) Digikam::DMetadata::setImageComments: "/home/user/pictures/Pow-img_1418.jpg"  ==> Comment:  QMap(("x-default", CaptionValues::caption: "mycaption", CaptionValues::author: "", CaptionValues::date: QDateTime("Do. Okt 11 09:50:17 2012")  ) )
> digikam(3572)/digikam (core) Digikam::DMetadata::setImageRating: Rating value to write is out of range!
> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::KExiv2Priv::saveToFile: File Extension:  "jpg"  is supported for writing mode
> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::save: Metadata for file ' Pow-img_1418.jpg ' written to file.
-------------------------- >8 ------------------------------

Regards,
        Peter
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Markus Ebert
Hi,

thanks for your help, I made at least a littele progress.
Firstly,  the output of "Components Information":
--------------------------------

digiKam version 2.9.0

Exiv2 can write to Jp2: Yes

Exiv2 can write to Jpeg: Yes

Exiv2 can write to Pgf: Yes

Exiv2 can write to Png: Yes

Exiv2 can write to Tiff: Yes

Exiv2 supports XMP metadata: Yes

LibCImg: 130

LibClapack: internal library

LibExiv2: 0.23

LibJPEG: 62

LibJasper: 1.900.1

LibKDE: 4.9.2 "release 511"

LibKExiv2: 2.3.0

LibKGeoMap: 2.0.0

LibKdcraw: 2.1.0

LibLCMS: 119

LibLensFun: external shared library

LibLqr: internal library

LibPGF: 6.12.27 - internal library

LibPNG: 1.4.11

LibQt: 4.8.3

LibRaw: 0.14.6

LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.

Marble Widget: 0.14.1 (stable release)

Parallelized PGF codec: No

Parallelized demosaicing: Yes

Database backend: QSQLITE

LibGphoto2: 2.4.14

LibKface: 2.0.0

LibKipi: 1.6.0

LibOpenCV: 2.4.2

Libface: 0.2

--------------------------------

It seems to contain everything.


In the mean time, I figured out that saving comments with language
"x-default" works, but using "lang=de-DE" does not. When saving the
title, the language does not matter.
Here's the debugging output for both cases:

1) Using "lang=x-default" (working)
--------------

digikam(3612)/digikam (core) Digikam::DMetadata::setImageTitles: "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE", CaptionValues::caption: "mytitle", CaptionValues::author: "", CaptionValues::date: QDateTime("")  ) )

digikam(3612)/digikam (core) Digikam::DMetadata::setImageComments: "/home/user/bilder/DSC_1229.JPG"  ==> Comment:  QMap(("x-default", CaptionValues::caption: "mycaption", CaptionValues::author: "", CaptionValues::date: QDateTime("Thu Oct 11 12:24:26 2012")  ) )

--------------

2) Using "lang=de-DE" (not working)
--------------

digikam(3612)/digikam (core) Digikam::DMetadata::setImageTitles: "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE", CaptionValues::caption: "mytitle", CaptionValues::author: "", CaptionValues::date: QDateTime("")  ) )
digikam(3612)/digikam (core) Digikam::DMetadata::setImageComments: "/home/user/bilder/DSC_1229.JPG"  ==> Comment:  QMap(("de-DE", CaptionValues::caption: "mycaption", CaptionValues::author: "", CaptionValues::date: QDateTime("Thu Oct 11 12:23:48 2012")  ) )

-----------------

At least now I know how to do a workaround by using only x-default.
However it would be great to get de-DE to work since I don't want to
switch the language of ~3000 captions by hand.


Regards,
Markus



Am 11.10.2012 09:55, schrieb Peter Albrecht:

> On 10.10.2012 22:05, Markus Ebert wrote:
>> I suspect that something is wrong with a tool digikam relies
>> on (e.g. exiftool did not work out box as it turned out
>> dependencies were wrong),
> In DigiKam, go to "Help" -> "Components Information" and
> post the output on the mailing list.
>
> Mine looks like:
> -------------------------- 8< ------------------------------
>> digiKam version 2.9.0
>> Exiv2 can write to Jp2: Yes
>> Exiv2 can write to Jpeg: Yes
>> Exiv2 can write to Pgf: Yes
>> Exiv2 can write to Png: Yes
>> Exiv2 can write to Tiff: Yes
>> Exiv2 supports XMP metadata: Yes
>> LibCImg: 130
>> LibClapack: external shared library
>> LibExiv2: 0.21.1
>> LibJPEG: 80
>> LibJasper: 1.900.1
>> LibKDE: 4.8.5 (4.8.5)
>> LibKExiv2: 2.1.0
>> LibKGeoMap: 2.0.0
>> LibKdcraw: 2.0.1
>> LibLCMS: 119
>> LibLensFun: external shared library
>> LibLqr: internal library
>> LibPGF: 6.12.27 - external shared library
>> LibPNG: 1.5.10
>> LibQt: 4.8.2
>> LibRaw: 0.14.4
>> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
>> Marble Widget: 0.13.4 (stable release)
>> Parallelized PGF codec: No
>> Parallelized demosaicing: Yes
>> Database backend: QSQLITE
>> LibGphoto2: 2.4.12
>> LibKface: 2.0.0
>> LibKipi: 1.3.0
>> LibOpenCV: 2.3.1
>> Libface: 0.2
> -------------------------- >8 ------------------------------
>
> Maybe this helps identifying an old library.
>
>
>> ... so is there a possibility to turn
>> on a debug mode such that I can see what happens when
>> digikam tries to write the metadata? Or maybe a logfile?
>> (Starting in console doesn't reveal anything)
> To enable debug output: Start the programm "kdebugdialog",
> search for "digikam" and select all checkboxes. Click "OK"
> and start digikam from your terminal.
>
> Applying title ("mytitle") and caption ("mycaption"), I get
> the following debug output:
> -------------------------- 8< ------------------------------
>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageTitles: "/home/user/pictures/Pow-img_1418.jpg"  ==> Title:  QMap(("x-default", CaptionValues::caption: "mytitle", CaptionValues::author: "", CaptionValues::date: QDateTime("")  ) )
>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageComments: "/home/user/pictures/Pow-img_1418.jpg"  ==> Comment:  QMap(("x-default", CaptionValues::caption: "mycaption", CaptionValues::author: "", CaptionValues::date: QDateTime("Do. Okt 11 09:50:17 2012")  ) )
>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageRating: Rating value to write is out of range!
>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::KExiv2Priv::saveToFile: File Extension:  "jpg"  is supported for writing mode
>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory: Detected change, triggering rescan of directory "/home/px79/daten/Bilder (private)/Fotos unsortiert/Incoming"
>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::save: Metadata for file ' Pow-img_1418.jpg ' written to file.
> -------------------------- >8 ------------------------------
>
> Regards,
> Peter
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
>

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Gilles Caulier-4
=>> Exiv2 supports XMP metadata: Yes

This can be the problem. I remember a bug where this info is show as
"Yes", where it's "No" in fact.

Bug is in libkexiv2, already fixed of course.

Multi-language Caption is managed through Exiv2 library using XMP metadata...

Gilles Caulier

2012/10/11 Markus Ebert <[hidden email]>:

> Hi,
>
> thanks for your help, I made at least a littele progress.
> Firstly,  the output of "Components Information":
> --------------------------------
>
>
> digiKam version 2.9.0
>
> Exiv2 can write to Jp2: Yes
>
> Exiv2 can write to Jpeg: Yes
>
> Exiv2 can write to Pgf: Yes
>
> Exiv2 can write to Png: Yes
>
> Exiv2 can write to Tiff: Yes
>
> Exiv2 supports XMP metadata: Yes
>
> LibCImg: 130
>
> LibClapack: internal library
>
> LibExiv2: 0.23
>
> LibJPEG: 62
>
> LibJasper: 1.900.1
>
> LibKDE: 4.9.2 "release 511"
>
> LibKExiv2: 2.3.0
>
> LibKGeoMap: 2.0.0
>
> LibKdcraw: 2.1.0
>
>
> LibLCMS: 119
>
> LibLensFun: external shared library
>
> LibLqr: internal library
>
> LibPGF: 6.12.27 - internal library
>
> LibPNG: 1.4.11
>
> LibQt: 4.8.3
>
> LibRaw: 0.14.6
>
>
> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler
> Copyright (c) 1991-1996 Silicon Graphics, Inc.
>
> Marble Widget: 0.14.1 (stable release)
>
>
> Parallelized PGF codec: No
>
> Parallelized demosaicing: Yes
>
> Database backend: QSQLITE
>
> LibGphoto2: 2.4.14
>
> LibKface: 2.0.0
>
> LibKipi: 1.6.0
>
> LibOpenCV: 2.4.2
>
> Libface: 0.2
>
> --------------------------------
>
> It seems to contain everything.
>
>
> In the mean time, I figured out that saving comments with language
> "x-default" works, but using "lang=de-DE" does not. When saving the title,
> the language does not matter.
> Here's the debugging output for both cases:
>
> 1) Using "lang=x-default" (working)
> --------------
>
> digikam(3612)/digikam (core) Digikam::DMetadata::setImageTitles:
> "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE",
> CaptionValues::caption: "mytitle", CaptionValues::author: "",
> CaptionValues::date: QDateTime("")  ) )
>
> digikam(3612)/digikam (core) Digikam::DMetadata::setImageComments:
> "/home/user/bilder/DSC_1229.JPG"  ==> Comment:  QMap(("x-default",
> CaptionValues::caption: "mycaption", CaptionValues::author: "",
> CaptionValues::date: QDateTime("Thu Oct 11 12:24:26 2012")  ) )
>
> --------------
>
> 2) Using "lang=de-DE" (not working)
> --------------
>
> digikam(3612)/digikam (core) Digikam::DMetadata::setImageTitles:
> "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE",
> CaptionValues::caption: "mytitle", CaptionValues::author: "",
> CaptionValues::date: QDateTime("")  ) )
> digikam(3612)/digikam (core) Digikam::DMetadata::setImageComments:
> "/home/user/bilder/DSC_1229.JPG"  ==> Comment:  QMap(("de-DE",
> CaptionValues::caption: "mycaption", CaptionValues::author: "",
> CaptionValues::date: QDateTime("Thu Oct 11 12:23:48 2012")  ) )
>
> -----------------
>
> At least now I know how to do a workaround by using only x-default. However
> it would be great to get de-DE to work since I don't want to switch the
> language of ~3000 captions by hand.
>
>
> Regards,
> Markus
>
>
>
> Am 11.10.2012 09:55, schrieb Peter Albrecht:
>
>> On 10.10.2012 22:05, Markus Ebert wrote:
>>>
>>> I suspect that something is wrong with a tool digikam relies
>>> on (e.g. exiftool did not work out box as it turned out
>>> dependencies were wrong),
>>
>> In DigiKam, go to "Help" -> "Components Information" and
>> post the output on the mailing list.
>>
>> Mine looks like:
>> -------------------------- 8< ------------------------------
>>>
>>> digiKam version 2.9.0
>>> Exiv2 can write to Jp2: Yes
>>> Exiv2 can write to Jpeg: Yes
>>> Exiv2 can write to Pgf: Yes
>>> Exiv2 can write to Png: Yes
>>> Exiv2 can write to Tiff: Yes
>>> Exiv2 supports XMP metadata: Yes
>>> LibCImg: 130
>>> LibClapack: external shared library
>>> LibExiv2: 0.21.1
>>> LibJPEG: 80
>>> LibJasper: 1.900.1
>>> LibKDE: 4.8.5 (4.8.5)
>>> LibKExiv2: 2.1.0
>>> LibKGeoMap: 2.0.0
>>> LibKdcraw: 2.0.1
>>> LibLCMS: 119
>>> LibLensFun: external shared library
>>> LibLqr: internal library
>>> LibPGF: 6.12.27 - external shared library
>>> LibPNG: 1.5.10
>>> LibQt: 4.8.2
>>> LibRaw: 0.14.4
>>> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler
>>> Copyright (c) 1991-1996 Silicon Graphics, Inc.
>>> Marble Widget: 0.13.4 (stable release)
>>> Parallelized PGF codec: No
>>> Parallelized demosaicing: Yes
>>> Database backend: QSQLITE
>>> LibGphoto2: 2.4.12
>>> LibKface: 2.0.0
>>> LibKipi: 1.3.0
>>> LibOpenCV: 2.3.1
>>> Libface: 0.2
>>
>> -------------------------- >8 ------------------------------
>>
>> Maybe this helps identifying an old library.
>>
>>
>>> ... so is there a possibility to turn
>>> on a debug mode such that I can see what happens when
>>> digikam tries to write the metadata? Or maybe a logfile?
>>> (Starting in console doesn't reveal anything)
>>
>> To enable debug output: Start the programm "kdebugdialog",
>> search for "digikam" and select all checkboxes. Click "OK"
>> and start digikam from your terminal.
>>
>> Applying title ("mytitle") and caption ("mycaption"), I get
>> the following debug output:
>> -------------------------- 8< ------------------------------
>>>
>>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageTitles:
>>> "/home/user/pictures/Pow-img_1418.jpg"  ==> Title:  QMap(("x-default",
>>> CaptionValues::caption: "mytitle", CaptionValues::author: "",
>>> CaptionValues::date: QDateTime("")  ) )
>>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageComments:
>>> "/home/user/pictures/Pow-img_1418.jpg"  ==> Comment:  QMap(("x-default",
>>> CaptionValues::caption: "mycaption", CaptionValues::author: "",
>>> CaptionValues::date: QDateTime("Do. Okt 11 09:50:17 2012")  ) )
>>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageRating: Rating
>>> value to write is out of range!
>>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::KExiv2Priv::saveToFile: File
>>> Extension:  "jpg"  is supported for writing mode
>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>> (private)/Fotos unsortiert/Incoming"
>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>> (private)/Fotos unsortiert/Incoming"
>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>> (private)/Fotos unsortiert/Incoming"
>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>> (private)/Fotos unsortiert/Incoming"
>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>> (private)/Fotos unsortiert/Incoming"
>>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::save: Metadata for file '
>>> Pow-img_1418.jpg ' written to file.
>>
>> -------------------------- >8 ------------------------------
>>
>> Regards,
>>         Peter
>> _______________________________________________
>> Digikam-users mailing list
>> [hidden email]
>> https://mail.kde.org/mailman/listinfo/digikam-users
>>
>
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Markus Ebert
I turned on exiv2 debugging, giving me the following output when saving
metadata:
-------------------

digikam(18633)/KEXIV2 KExiv2Iface::KExiv2::save: KExiv2::metadataWritingMode 2

digikam(18633)/KEXIV2 KExiv2Iface::KExiv2::save: Will write Metadata to file "01_Philadelphia-1.JPG"

digikam(18633)/KEXIV2 KExiv2Iface::KExiv2::KExiv2Priv::saveToFile: File Extension:  "jpg"  is supported for writing mode

...

digikam(18633)/KEXIV2 KExiv2Iface::KExiv2::save: Metadata for file "01_Philadelphia-1.JPG" written to file.

digikam(18633)/KEXIV2 KExiv2Iface::KExiv2::save: Will write XMP sidecar for file "01_Philadelphia-1.JPG"

-------------------

So KExiv2 itself works, but still only x-default is saved.
Is there a way to test by a console command if the language support in
exiv2 is somehow broken?
Btw, I am using exiv2 version 0.23-6.1 and libkexiv2 version 4.9.2-42.1.

Regards,
Markus



Am 11.10.2012 13:41, schrieb Gilles Caulier:

> =>> Exiv2 supports XMP metadata: Yes
>
> This can be the problem. I remember a bug where this info is show as
> "Yes", where it's "No" in fact.
>
> Bug is in libkexiv2, already fixed of course.
>
> Multi-language Caption is managed through Exiv2 library using XMP metadata...
>
> Gilles Caulier
>
> 2012/10/11 Markus Ebert <[hidden email]>:
>> Hi,
>>
>> thanks for your help, I made at least a littele progress.
>> Firstly,  the output of "Components Information":
>> --------------------------------
>>
>>
>> digiKam version 2.9.0
>>
>> Exiv2 can write to Jp2: Yes
>>
>> Exiv2 can write to Jpeg: Yes
>>
>> Exiv2 can write to Pgf: Yes
>>
>> Exiv2 can write to Png: Yes
>>
>> Exiv2 can write to Tiff: Yes
>>
>> Exiv2 supports XMP metadata: Yes
>>
>> LibCImg: 130
>>
>> LibClapack: internal library
>>
>> LibExiv2: 0.23
>>
>> LibJPEG: 62
>>
>> LibJasper: 1.900.1
>>
>> LibKDE: 4.9.2 "release 511"
>>
>> LibKExiv2: 2.3.0
>>
>> LibKGeoMap: 2.0.0
>>
>> LibKdcraw: 2.1.0
>>
>>
>> LibLCMS: 119
>>
>> LibLensFun: external shared library
>>
>> LibLqr: internal library
>>
>> LibPGF: 6.12.27 - internal library
>>
>> LibPNG: 1.4.11
>>
>> LibQt: 4.8.3
>>
>> LibRaw: 0.14.6
>>
>>
>> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler
>> Copyright (c) 1991-1996 Silicon Graphics, Inc.
>>
>> Marble Widget: 0.14.1 (stable release)
>>
>>
>> Parallelized PGF codec: No
>>
>> Parallelized demosaicing: Yes
>>
>> Database backend: QSQLITE
>>
>> LibGphoto2: 2.4.14
>>
>> LibKface: 2.0.0
>>
>> LibKipi: 1.6.0
>>
>> LibOpenCV: 2.4.2
>>
>> Libface: 0.2
>>
>> --------------------------------
>>
>> It seems to contain everything.
>>
>>
>> In the mean time, I figured out that saving comments with language
>> "x-default" works, but using "lang=de-DE" does not. When saving the title,
>> the language does not matter.
>> Here's the debugging output for both cases:
>>
>> 1) Using "lang=x-default" (working)
>> --------------
>>
>> digikam(3612)/digikam (core) Digikam::DMetadata::setImageTitles:
>> "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE",
>> CaptionValues::caption: "mytitle", CaptionValues::author: "",
>> CaptionValues::date: QDateTime("")  ) )
>>
>> digikam(3612)/digikam (core) Digikam::DMetadata::setImageComments:
>> "/home/user/bilder/DSC_1229.JPG"  ==> Comment:  QMap(("x-default",
>> CaptionValues::caption: "mycaption", CaptionValues::author: "",
>> CaptionValues::date: QDateTime("Thu Oct 11 12:24:26 2012")  ) )
>>
>> --------------
>>
>> 2) Using "lang=de-DE" (not working)
>> --------------
>>
>> digikam(3612)/digikam (core) Digikam::DMetadata::setImageTitles:
>> "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE",
>> CaptionValues::caption: "mytitle", CaptionValues::author: "",
>> CaptionValues::date: QDateTime("")  ) )
>> digikam(3612)/digikam (core) Digikam::DMetadata::setImageComments:
>> "/home/user/bilder/DSC_1229.JPG"  ==> Comment:  QMap(("de-DE",
>> CaptionValues::caption: "mycaption", CaptionValues::author: "",
>> CaptionValues::date: QDateTime("Thu Oct 11 12:23:48 2012")  ) )
>>
>> -----------------
>>
>> At least now I know how to do a workaround by using only x-default. However
>> it would be great to get de-DE to work since I don't want to switch the
>> language of ~3000 captions by hand.
>>
>>
>> Regards,
>> Markus
>>
>>
>>
>> Am 11.10.2012 09:55, schrieb Peter Albrecht:
>>
>>> On 10.10.2012 22:05, Markus Ebert wrote:
>>>> I suspect that something is wrong with a tool digikam relies
>>>> on (e.g. exiftool did not work out box as it turned out
>>>> dependencies were wrong),
>>> In DigiKam, go to "Help" -> "Components Information" and
>>> post the output on the mailing list.
>>>
>>> Mine looks like:
>>> -------------------------- 8< ------------------------------
>>>> digiKam version 2.9.0
>>>> Exiv2 can write to Jp2: Yes
>>>> Exiv2 can write to Jpeg: Yes
>>>> Exiv2 can write to Pgf: Yes
>>>> Exiv2 can write to Png: Yes
>>>> Exiv2 can write to Tiff: Yes
>>>> Exiv2 supports XMP metadata: Yes
>>>> LibCImg: 130
>>>> LibClapack: external shared library
>>>> LibExiv2: 0.21.1
>>>> LibJPEG: 80
>>>> LibJasper: 1.900.1
>>>> LibKDE: 4.8.5 (4.8.5)
>>>> LibKExiv2: 2.1.0
>>>> LibKGeoMap: 2.0.0
>>>> LibKdcraw: 2.0.1
>>>> LibLCMS: 119
>>>> LibLensFun: external shared library
>>>> LibLqr: internal library
>>>> LibPGF: 6.12.27 - external shared library
>>>> LibPNG: 1.5.10
>>>> LibQt: 4.8.2
>>>> LibRaw: 0.14.4
>>>> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996 Sam Leffler
>>>> Copyright (c) 1991-1996 Silicon Graphics, Inc.
>>>> Marble Widget: 0.13.4 (stable release)
>>>> Parallelized PGF codec: No
>>>> Parallelized demosaicing: Yes
>>>> Database backend: QSQLITE
>>>> LibGphoto2: 2.4.12
>>>> LibKface: 2.0.0
>>>> LibKipi: 1.3.0
>>>> LibOpenCV: 2.3.1
>>>> Libface: 0.2
>>> -------------------------- >8 ------------------------------
>>>
>>> Maybe this helps identifying an old library.
>>>
>>>
>>>> ... so is there a possibility to turn
>>>> on a debug mode such that I can see what happens when
>>>> digikam tries to write the metadata? Or maybe a logfile?
>>>> (Starting in console doesn't reveal anything)
>>> To enable debug output: Start the programm "kdebugdialog",
>>> search for "digikam" and select all checkboxes. Click "OK"
>>> and start digikam from your terminal.
>>>
>>> Applying title ("mytitle") and caption ("mycaption"), I get
>>> the following debug output:
>>> -------------------------- 8< ------------------------------
>>>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageTitles:
>>>> "/home/user/pictures/Pow-img_1418.jpg"  ==> Title:  QMap(("x-default",
>>>> CaptionValues::caption: "mytitle", CaptionValues::author: "",
>>>> CaptionValues::date: QDateTime("")  ) )
>>>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageComments:
>>>> "/home/user/pictures/Pow-img_1418.jpg"  ==> Comment:  QMap(("x-default",
>>>> CaptionValues::caption: "mycaption", CaptionValues::author: "",
>>>> CaptionValues::date: QDateTime("Do. Okt 11 09:50:17 2012")  ) )
>>>> digikam(3572)/digikam (core) Digikam::DMetadata::setImageRating: Rating
>>>> value to write is out of range!
>>>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::KExiv2Priv::saveToFile: File
>>>> Extension:  "jpg"  is supported for writing mode
>>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>>> (private)/Fotos unsortiert/Incoming"
>>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>>> (private)/Fotos unsortiert/Incoming"
>>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>>> (private)/Fotos unsortiert/Incoming"
>>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>>> (private)/Fotos unsortiert/Incoming"
>>>> digikam(3572)/digikam (core) Digikam::AlbumWatch::rescanDirectory:
>>>> Detected change, triggering rescan of directory "/home/px79/daten/Bilder
>>>> (private)/Fotos unsortiert/Incoming"
>>>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::save: Metadata for file '
>>>> Pow-img_1418.jpg ' written to file.
>>> -------------------------- >8 ------------------------------
>>>
>>> Regards,
>>>          Peter
>>> _______________________________________________
>>> Digikam-users mailing list
>>> [hidden email]
>>> https://mail.kde.org/mailman/listinfo/digikam-users
>>>
>> _______________________________________________
>> Digikam-users mailing list
>> [hidden email]
>> https://mail.kde.org/mailman/listinfo/digikam-users
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
>

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Peter Albrecht
On 11.10.2012 14:15, Markus Ebert wrote:
> Btw, I am using exiv2 version 0.23-6.1 and libkexiv2 version
> 4.9.2-42.1.

On my system are installed:
  - libkexiv2  4.8.5 (as of KDE version 4.8.5)
  - exiv2  0.21.1


>>> 2012/10/11 Markus Ebert <[hidden email]>:
>>>> In the mean time, I figured out that saving comments with
>>>> language "x-default" works, but using "lang=de-DE" does not.

I tried it on my system an saving "de-DE" caption and title
worked. So I would guess, it is not "digikam 2.9.0's fault".

An interesting point:
Setting all kind of caption / title with de-DE / x-default
you find different number of occurences in the file:

 de-caption:       1 (only in XMP data)
 de-title:         1 (only in XMP data
 xdefault-title:   2 (one of them in the XMP data)
 xdefault-caption: 7 (three of them in the XMP data)

By "in the XMP data" I mean: Between "<x:xmpmeta" and
"</x:xmpmeta>" in the jpg-file.


> On 11.10.2012 13:41, Gilles Caulier wrote:
>> =>> Exiv2 supports XMP metadata: Yes
>>
>> This can be the problem. I remember a bug where this info is show as
>> "Yes", where it's "No" in fact.
>>
>> Bug is in libkexiv2, already fixed of course.

So if your libkexiv2 or exiv2 has a bug and does not write
XMP data. The x-default caption has good chance to be
written elsewhere in the jpg-file, e.g. in the EXIF data.
(See the numbers above).
This might be, why you find x-default captions in your jpg
and no x-default title or de-DE data.

Solution:
You could try to find newer versions of libkexiv2 (which
might include, to update whole KDE) or exiv2. Or you
downgrade KDE and/or exiv2 to the versions I use, see
version numbers above. These work. ;)
Or you just wait a few weeks, until new versions are
officially released.

Regards,
        Peter

>>
>> Multi-language Caption is managed through Exiv2 library
>> using XMP metadata...
>>
>> Gilles Caulier
>>
>> 2012/10/11 Markus Ebert <[hidden email]>:
>>> Hi,
>>>
>>> thanks for your help, I made at least a littele progress.
>>> Firstly,  the output of "Components Information":
>>> --------------------------------
>>>
>>>
>>> digiKam version 2.9.0
>>>
>>> Exiv2 can write to Jp2: Yes
>>>
>>> Exiv2 can write to Jpeg: Yes
>>>
>>> Exiv2 can write to Pgf: Yes
>>>
>>> Exiv2 can write to Png: Yes
>>>
>>> Exiv2 can write to Tiff: Yes
>>>
>>> Exiv2 supports XMP metadata: Yes
>>>
>>> LibCImg: 130
>>>
>>> LibClapack: internal library
>>>
>>> LibExiv2: 0.23
>>>
>>> LibJPEG: 62
>>>
>>> LibJasper: 1.900.1
>>>
>>> LibKDE: 4.9.2 "release 511"
>>>
>>> LibKExiv2: 2.3.0
>>>
>>> LibKGeoMap: 2.0.0
>>>
>>> LibKdcraw: 2.1.0
>>>
>>>
>>> LibLCMS: 119
>>>
>>> LibLensFun: external shared library
>>>
>>> LibLqr: internal library
>>>
>>> LibPGF: 6.12.27 - internal library
>>>
>>> LibPNG: 1.4.11
>>>
>>> LibQt: 4.8.3
>>>
>>> LibRaw: 0.14.6
>>>
>>>
>>> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996
>>> Sam Leffler
>>> Copyright (c) 1991-1996 Silicon Graphics, Inc.
>>>
>>> Marble Widget: 0.14.1 (stable release)
>>>
>>>
>>> Parallelized PGF codec: No
>>>
>>> Parallelized demosaicing: Yes
>>>
>>> Database backend: QSQLITE
>>>
>>> LibGphoto2: 2.4.14
>>>
>>> LibKface: 2.0.0
>>>
>>> LibKipi: 1.6.0
>>>
>>> LibOpenCV: 2.4.2
>>>
>>> Libface: 0.2
>>>
>>> --------------------------------
>>>
>>> It seems to contain everything.
>>>
>>>
>>> In the mean time, I figured out that saving comments with
>>> language
>>> "x-default" works, but using "lang=de-DE" does not. When
>>> saving the title,
>>> the language does not matter.
>>> Here's the debugging output for both cases:
>>>
>>> 1) Using "lang=x-default" (working)
>>> --------------
>>>
>>> digikam(3612)/digikam (core)
>>> Digikam::DMetadata::setImageTitles:
>>> "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE",
>>> CaptionValues::caption: "mytitle", CaptionValues::author:
>>> "",
>>> CaptionValues::date: QDateTime("")  ) )
>>>
>>> digikam(3612)/digikam (core)
>>> Digikam::DMetadata::setImageComments:
>>> "/home/user/bilder/DSC_1229.JPG"  ==> Comment:
>>> QMap(("x-default",
>>> CaptionValues::caption: "mycaption",
>>> CaptionValues::author: "",
>>> CaptionValues::date: QDateTime("Thu Oct 11 12:24:26
>>> 2012")  ) )
>>>
>>> --------------
>>>
>>> 2) Using "lang=de-DE" (not working)
>>> --------------
>>>
>>> digikam(3612)/digikam (core)
>>> Digikam::DMetadata::setImageTitles:
>>> "/home/user/bilder/DSC_1229.JPG"  ==> Title:  QMap(("de-DE",
>>> CaptionValues::caption: "mytitle", CaptionValues::author:
>>> "",
>>> CaptionValues::date: QDateTime("")  ) )
>>> digikam(3612)/digikam (core)
>>> Digikam::DMetadata::setImageComments:
>>> "/home/user/bilder/DSC_1229.JPG"  ==> Comment:
>>> QMap(("de-DE",
>>> CaptionValues::caption: "mycaption",
>>> CaptionValues::author: "",
>>> CaptionValues::date: QDateTime("Thu Oct 11 12:23:48
>>> 2012")  ) )
>>>
>>> -----------------
>>>
>>> At least now I know how to do a workaround by using only
>>> x-default. However
>>> it would be great to get de-DE to work since I don't want
>>> to switch the
>>> language of ~3000 captions by hand.
>>>
>>>
>>> Regards,
>>> Markus
>>>
>>>
>>>
>>> Am 11.10.2012 09:55, schrieb Peter Albrecht:
>>>
>>>> On 10.10.2012 22:05, Markus Ebert wrote:
>>>>> I suspect that something is wrong with a tool digikam
>>>>> relies
>>>>> on (e.g. exiftool did not work out box as it turned out
>>>>> dependencies were wrong),
>>>> In DigiKam, go to "Help" -> "Components Information" and
>>>> post the output on the mailing list.
>>>>
>>>> Mine looks like:
>>>> -------------------------- 8<
>>>> ------------------------------
>>>>> digiKam version 2.9.0
>>>>> Exiv2 can write to Jp2: Yes
>>>>> Exiv2 can write to Jpeg: Yes
>>>>> Exiv2 can write to Pgf: Yes
>>>>> Exiv2 can write to Png: Yes
>>>>> Exiv2 can write to Tiff: Yes
>>>>> Exiv2 supports XMP metadata: Yes
>>>>> LibCImg: 130
>>>>> LibClapack: external shared library
>>>>> LibExiv2: 0.21.1
>>>>> LibJPEG: 80
>>>>> LibJasper: 1.900.1
>>>>> LibKDE: 4.8.5 (4.8.5)
>>>>> LibKExiv2: 2.1.0
>>>>> LibKGeoMap: 2.0.0
>>>>> LibKdcraw: 2.0.1
>>>>> LibLCMS: 119
>>>>> LibLensFun: external shared library
>>>>> LibLqr: internal library
>>>>> LibPGF: 6.12.27 - external shared library
>>>>> LibPNG: 1.5.10
>>>>> LibQt: 4.8.2
>>>>> LibRaw: 0.14.4
>>>>> LibTIFF: LIBTIFF, Version 4.0.2 Copyright (c) 1988-1996
>>>>> Sam Leffler
>>>>> Copyright (c) 1991-1996 Silicon Graphics, Inc.
>>>>> Marble Widget: 0.13.4 (stable release)
>>>>> Parallelized PGF codec: No
>>>>> Parallelized demosaicing: Yes
>>>>> Database backend: QSQLITE
>>>>> LibGphoto2: 2.4.12
>>>>> LibKface: 2.0.0
>>>>> LibKipi: 1.3.0
>>>>> LibOpenCV: 2.3.1
>>>>> Libface: 0.2
>>>> -------------------------- >8
>>>> ------------------------------
>>>>
>>>> Maybe this helps identifying an old library.
>>>>
>>>>
>>>>> ... so is there a possibility to turn
>>>>> on a debug mode such that I can see what happens when
>>>>> digikam tries to write the metadata? Or maybe a logfile?
>>>>> (Starting in console doesn't reveal anything)
>>>> To enable debug output: Start the programm "kdebugdialog",
>>>> search for "digikam" and select all checkboxes. Click "OK"
>>>> and start digikam from your terminal.
>>>>
>>>> Applying title ("mytitle") and caption ("mycaption"), I get
>>>> the following debug output:
>>>> -------------------------- 8<
>>>> ------------------------------
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::DMetadata::setImageTitles:
>>>>> "/home/user/pictures/Pow-img_1418.jpg"  ==> Title:
>>>>> QMap(("x-default",
>>>>> CaptionValues::caption: "mytitle",
>>>>> CaptionValues::author: "",
>>>>> CaptionValues::date: QDateTime("")  ) )
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::DMetadata::setImageComments:
>>>>> "/home/user/pictures/Pow-img_1418.jpg"  ==> Comment:
>>>>> QMap(("x-default",
>>>>> CaptionValues::caption: "mycaption",
>>>>> CaptionValues::author: "",
>>>>> CaptionValues::date: QDateTime("Do. Okt 11 09:50:17
>>>>> 2012")  ) )
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::DMetadata::setImageRating: Rating
>>>>> value to write is out of range!
>>>>> digikam(3572)/KEXIV2
>>>>> KExiv2Iface::KExiv2::KExiv2Priv::saveToFile: File
>>>>> Extension:  "jpg"  is supported for writing mode
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::AlbumWatch::rescanDirectory:
>>>>> Detected change, triggering rescan of directory
>>>>> "/home/px79/daten/Bilder
>>>>> (private)/Fotos unsortiert/Incoming"
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::AlbumWatch::rescanDirectory:
>>>>> Detected change, triggering rescan of directory
>>>>> "/home/px79/daten/Bilder
>>>>> (private)/Fotos unsortiert/Incoming"
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::AlbumWatch::rescanDirectory:
>>>>> Detected change, triggering rescan of directory
>>>>> "/home/px79/daten/Bilder
>>>>> (private)/Fotos unsortiert/Incoming"
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::AlbumWatch::rescanDirectory:
>>>>> Detected change, triggering rescan of directory
>>>>> "/home/px79/daten/Bilder
>>>>> (private)/Fotos unsortiert/Incoming"
>>>>> digikam(3572)/digikam (core)
>>>>> Digikam::AlbumWatch::rescanDirectory:
>>>>> Detected change, triggering rescan of directory
>>>>> "/home/px79/daten/Bilder
>>>>> (private)/Fotos unsortiert/Incoming"
>>>>> digikam(3572)/KEXIV2 KExiv2Iface::KExiv2::save:
>>>>> Metadata for file '
>>>>> Pow-img_1418.jpg ' written to file.
>>>> -------------------------- >8
>>>> ------------------------------
>>>>
>>>> Regards,
>>>>          Peter
>>>> _______________________________________________
>>>> Digikam-users mailing list
>>>> [hidden email]
>>>> https://mail.kde.org/mailman/listinfo/digikam-users
>>>>
>>> _______________________________________________
>>> Digikam-users mailing list
>>> [hidden email]
>>> https://mail.kde.org/mailman/listinfo/digikam-users
>> _______________________________________________
>> Digikam-users mailing list
>> [hidden email]
>> https://mail.kde.org/mailman/listinfo/digikam-users
>>
>
> _______________________________________________
> Digikam-users mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-users
>
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Jean-François Rabasse
In reply to this post by Markus Ebert

Hello,

Some comments, as I happened to face the same problem Markus raised
(not with lang=de-DE, in my case with lang=fr-FR but it's the same
issue).

On Fri, 12 Oct 2012, Peter Albrecht wrote:

> > > > > 2012/10/11 Markus Ebert <[hidden email]>: In the mean
> > > > > time, I figured out that saving comments with language
> > > > > "x-default" works, but using "lang=de-DE" does not.
>
> I tried it on my system an saving "de-DE" caption and title worked.
> So I would guess, it is not "digikam 2.9.0's fault".

It's not a problem with Digikam.
Problem comes from the way multi-languages support is implemented and
not very well defined in the standards.
(Not well defined = the implementation syntax is well defined
but the way to use it, and what metadata readers are expected to do
is a misty planet.)

First, XMP metadata provides two kinds of text fields :
- simple text string. This is a Unicode encoded characters string.
- text string with languages alternatives. This is an array of
   strings with language specifiers, allowing metadata readers to
   select one or the other value of a text, according to a prefered
   language.

And the special "x-default" language specifier seems more or less
mandatory. The Adobe XMP specification says :

     « Languages alternatives allow the text value of a property to be
     chosen based on a desired language. Each item in a language
     alternative array is a simple text value, which must have a
     language qualifier associated with it. The language qualifier is a
     property qualifier, as described in the previous section.
     The qualifier name is xml:lang and its value is a string that
     conforms to RFC 3066 notation.

     XMP uses the "x-default" language code to denote the default value
     for a language alternative. It should be the first item in the
     array, so that generic RDF processors will also use it as the
     default (according to the RDF default-is-first rule). »

This means that specifying a language for a text is not setting a field
value definition, but adding an *extra* value to the initial default
definition as a language alternative.
Digikam captions are saved into the xmp.dc.description field, and this
field is a multi languages array (as stated by the Dublin Core specs).
A theoretical ideal definition should be something like :
   xmp.dc.description = "
     lang=x-default Default value for the text,
  lang=de-DE German translation for the same text,
  lang=fr-FR French translation ... "

But when selecting a non default language, it's not what is written.
The XMP space will only contain something like :
   xmp.dc.description = "
   lang=de-DE Some text in German"

What happens when a definition contains only non default values ?
Nothing seems specified in the XMP standards, so it will be
metadata readers dependent. Some reading software will perhaps use the
single definition as a default value. Some other reading software will
consider the definition as empty because of the missing x-default,
and won't parse to find some readable text.
Or some readers may check the specified language, compare to
the default environment language and accept or reject.


Peter says saving de-DE title and caption works for him.
Peter, what's your default O.S. session language ? German maybe ?
As for me, as my O.S. is installed in English, en-US,
saving with fr-FR language doesn't work (except if I add first
the same text with lang=x-default).


The conclusion is that saved metadata *should always* provide a default
value for texts if compatibility is required.
Language specific values are extra (and must come after the default
definition, cf. XMP standard). This is just provided for a metadata reader
able to deal with various languages, other will use only the default value.

But another problem is that a metadata reading software doesn't always
know the default language used for text definitions. It could be made
possible by specifying some kind of xml:lang=... at the XML structure
level.
The bad new is that the libexiv2 used by DK to create a XMP section
doesn't export the current session language. :-(


Regards,
Jean-François


NB: Editing multi languages metadata is not a simple task. From the
Digikam GUI it requires selecting x-default, then typing the text and
clicking Apply, then selecting e.g. fr-FR, type the text, Apply, then
selecting en-US, type, Apply, etc.
And the nightmare comes when one wishes to change/edit existing data.
All existing alternatives must be redisplayed, edited, saved, but this has
to be done by hand (and mind); there's no help support to issue some kind
of warning, « You've modified the French text, but you also had a previous
English, German, Other, variant ! »

So, the safe and simple way is to stick to x-default.:-)

_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users
Reply | Threaded
Open this post in threaded view
|

Re: Digikam 2.9: Save image comments to file

Peter Albrecht
Wow, thanks for research and in-depth information!

On 14.10.2012 14:02, Jean-François Rabasse wrote:
> Peter says saving de-DE title and caption works for him.
> Peter, what's your default O.S. session language ? German
> maybe ?

My language settings are:
------------------- 8< -------------------
# locale
LANG=
LC_CTYPE=de_DE.utf8
LC_NUMERIC=de_DE.utf8
LC_TIME=de_DE.utf8
LC_COLLATE=POSIX
LC_MONETARY=de_DE.utf8
LC_MESSAGES=en_US.utf8
LC_PAPER=de_DE.utf8
LC_NAME=de_DE.utf8
LC_ADDRESS=de_DE.utf8
LC_TELEPHONE=de_DE.utf8
LC_MEASUREMENT=de_DE.utf8
LC_IDENTIFICATION=de_DE.utf8
LC_ALL=
------------------- >8 -------------------
Almost all set to de_DE, but LC_MESSAGES=en_US.utf8.
I guess this adds another level of complexity. ;)


> As for me, as my O.S. is installed in English, en-US, saving
> with fr-FR language doesn't work (except if I add first
> the same text with lang=x-default).

Adding only a de_DE title to a picture works in my system.
Even adding a fr_FR title to a picture works:
Okteta shows:
--------------------- 8< ---------------------
<dc:title>
  <rdf:Alt>
    <rdf:li xml:lang="fr-FR">fr-title</rdf:li>
  </rdf:Alt>
</dc:title>
--------------------- >8 ---------------------
in the XMP-Metadata in the file.

What I did:
  1) start digikam
  2) copy a picture imported from my camera, not tagged yet
  3) select "fr-FR" for the title
  4) typed "fr-title" in the input box
  5) click "Apply"
  6) opened the jpg with okteta


> So, the safe and simple way is to stick to x-default.:-)

That's the way, I am happily working with digikam several
years now. ;)


> NB: Editing multi languages metadata is not a simple task. From the
> Digikam GUI it requires selecting x-default, then typing the text and
> clicking Apply, then selecting e.g. fr-FR, type the text, Apply, then
> selecting en-US, type, Apply, etc.

That's different with my digikam (and my libkexiv2 / exiv2):
  1) start digikam
  2) copy a picture imported from my camera, not tagged yet
  3) select "ar-EG" for the title
  4) typed "ar-EG-title" in the input box
  3) select "de-LI" for the title
  4) typed "de-LI-title" in the input box
  3) select "fr-FR" for the title
  4) typed "fr-FR-title" in the input box
  5) click "Apply"
  6) opened the jpg with okteta

This shows me:
-------------------- 8< --------------------
<dc:title>
  <rdf:Alt>
    <rdf:li xml:lang="ar-EG">ar-EGtitle</rdf:li>
    <rdf:li xml:lang="de-LI">de-LI-title</rdf:li>
    <rdf:li xml:lang="fr-FR">fr-title</rdf:li>
  </rdf:Alt>
</dc:title>
-------------------- >8 --------------------
So I don't have to click apply for each title-language.

Regards,
        Peter
_______________________________________________
Digikam-users mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-users