Bug 406540 - Add Metatags to Canon Raw do not work with Exiv2 - Use ExifTool instead
Summary: Add Metatags to Canon Raw do not work with Exiv2 - Use ExifTool instead
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-ExifTool (show other bugs)
Version: 6.0.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-14 18:23 UTC by Lars Grabner
Modified: 2022-04-08 03:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.0.0


Attachments
Picture (160.62 KB, image/jpeg)
2019-04-20 04:05 UTC, Lars Grabner
Details
picture (19.06 KB, image/jpeg)
2019-04-20 04:29 UTC, Lars Grabner
Details
picture (115.80 KB, image/jpeg)
2019-04-20 05:21 UTC, Lars Grabner
Details
picture (109.29 KB, image/jpeg)
2019-04-20 05:39 UTC, Lars Grabner
Details
log file (133.22 KB, text/plain)
2019-04-20 06:10 UTC, Lars Grabner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Grabner 2019-04-14 18:23:52 UTC
SUMMARY
Write Metatags to RAW File (Canon) dosen´t work. (Like in version 4....)
Comment 1 Maik Qualmann 2019-04-14 20:19:01 UTC
RAW metadata write option is enabled in settings? The old option in the config file is no longer valid.

Maik
Comment 2 Maik Qualmann 2019-04-15 11:27:59 UTC
A test here with digiKam-6.1.0 shows no problem with a test image of an EOS 1D when writing metadata. Which Canon Camera Model do you use?

Maik
Comment 3 Lars Grabner 2019-04-20 03:46:15 UTC
EOS 400D
Comment 4 Lars Grabner 2019-04-20 04:05:36 UTC
Created attachment 119514 [details]
Picture

I want to find out, where my mistakes are... in the picture, the "klicked" option in settings.
Comment 5 Lars Grabner 2019-04-20 04:07:08 UTC
It is the option called "If possible, write metatags to RAW File"
Comment 6 Lars Grabner 2019-04-20 04:29:42 UTC
Created attachment 119515 [details]
picture

Then I select the files and klick on "more" and "Write metadata to all Files"
Comment 7 Maik Qualmann 2019-04-20 05:14:36 UTC
When I see the screenshot of Comment 4, it reminds me again to report the wrong German spelling to the translator team (Fall => Falls).

I also can not reproduce the problem with EOS400 RAW files. Metadata previously only in the database are correctly written into the RAW files. Which metadata are not written with you and how do you test the error at the RAW files?

Maik
Comment 8 Maik Qualmann 2019-04-20 05:16:32 UTC
Have you possibly activated writing to sidecars?

Maik
Comment 9 Lars Grabner 2019-04-20 05:21:27 UTC
Created attachment 119516 [details]
picture

I think so.
Comment 10 Lars Grabner 2019-04-20 05:39:39 UTC
Created attachment 119517 [details]
picture

Now I´ve disabled sidecars but it doesn´t work.
Comment 11 Maik Qualmann 2019-04-20 05:41:40 UTC
Even with this setting, the metadata in both image and sidecar are written here.

If you change tags, color labels or comments etc. in the right side bar, you have to click on "Apply" first. An additional writing of the metadata is not necessary. The "More..." functions read and write only existing metadata from the images to the database or vice versa. To synchronize the selected images or the database.

Maik
Comment 12 Maik Qualmann 2019-04-20 05:44:55 UTC
Specifically, why do you think the metadata was not written in the RAW images? And the problem does not occur with JPG images?

Maik
Comment 13 Lars Grabner 2019-04-20 05:48:24 UTC
In picasa (and windows explorer) the metatags are not shown. yet.
In version 4... or 5.. it was ok.
And yes at JPG images the tags are shown.
Comment 14 Lars Grabner 2019-04-20 05:54:10 UTC
Sorry, on windows explorer it wasn´t shown.
Comment 15 Maik Qualmann 2019-04-20 05:57:57 UTC
Can you download and start DebugView from Microsoft and then post the output when you set metadata to RAW files and write metadata?

Maik
Comment 16 Maik Qualmann 2019-04-20 05:59:40 UTC
Alternatively, under the Metadata Settings, reset the Advanced Metadata settings to default.

Maik
Comment 17 Lars Grabner 2019-04-20 06:01:15 UTC
ok. i do so and try ms debug
Comment 18 Lars Grabner 2019-04-20 06:10:39 UTC
Created attachment 119518 [details]
log file

here is the file
Comment 19 Lars Grabner 2019-04-20 06:11:10 UTC
[9364] digikam.general: -------------------------- New Keywords ("Josiah")
[9364] digikam.metaengine: "E:/xp1 Eigene Dateien/Eigene Bilder/DVD 46/19-04/IMG_3311.CR2"  ==> New Iptc Keywords:  ("Josiah")
[9364] digikam.metaengine: MetaEngine::metadataWritingMode 0
[9364] digikam.metaengine: Will write Metadata to file "E:/xp1 Eigene Dateien/Eigene Bilder/DVD 46/19-04/IMG_3311.CR2"
[9364] digikam.metaengine: wroteComment:  false
[9364] digikam.metaengine: wroteEXIF:  true
[9364] digikam.metaengine: wroteIPTC:  true
[9364] digikam.metaengine: wroteXMP:  true
[9364] digikam.metaengine: Metadata for file "IMG_3311.CR2" written to file.
[12516] 2019-04-20 08:11:01.881+02:00 [12516:001] [INFO] Keeping user active 
[14440] PPLE [Informational] LIFECYCLE: OnResuming
[12516] SkypeBridge.exe Information: 0 : 
[12516] 2019-04-20 08:11:01.942+02:00 [12516:013] [INFO] IdleStateTracker - SendSystemIdleStatusUpdateAsync sent isIdle = False 
[14440] PPLE [Informational] LIFECYCLE: OnSuspending
[12516] SkypeBridge.exe Information: 0 : 
[12516] 2019-04-20 08:12:41.881+02:00 [12516:001] [INFO] Keeping user active 
[14440] PPLE [Informational] LIFECYCLE: OnResuming
[12516] SkypeBridge.exe Information: 0 : 
[12516] 2019-04-20 08:12:41.971+02:00 [12516:010] [INFO] IdleStateTracker - SendSystemIdleStatusUpdateAsync sent isIdle = False 
[14440] PPLE [Informational] LIFECYCLE: OnSuspending
Comment 20 Maik Qualmann 2019-04-20 07:29:34 UTC
I have not tested it yet. But your value of rating is outside the valid range. This should prevent metadata from being written to the images. As a test you can set the rating to a star and try again to write tags in the images.

Maik
Comment 21 Lars Grabner 2019-04-20 07:47:34 UTC
But my problem: I don´t have set any rating to the files...
Comment 22 caulier.gilles 2019-04-20 08:48:44 UTC
Perhaps from another application ? Microsoft applications can do it and digiKam is able to import these properties. At least this have been tested with Windows 7 and 8, not yet with 10.

Gilles Caulier
Comment 23 Maik Qualmann 2019-04-20 09:06:44 UTC
(In reply to Lars Grabner from comment #14)
> Sorry, on windows explorer it wasn´t shown.

I only tested it fast on Windows7, Windows10 testing is still in progress. But Explorer is unable to display or set metadata such as tags or ratings to RAW files. Did you install an extension for Explorer?

Maik
Comment 24 Maik Qualmann 2019-04-20 09:09:27 UTC
When the rating range is not valid, does not prevent the writing of the tags to the files, tested here.

Maik
Comment 25 caulier.gilles 2019-04-20 09:29:48 UTC
No, i never install extra application under Windows to assing properties to images.

And i only tested with most common format, as JPEG, PNG and TIFF, not RAW.

But all is possible with Windows, who can know what's is done in background by the system.

Remember that CR2 files are based on TIFF/EP. The signature is exactly the same than TIFF. Canon extend the TIFF container to host RAW data and private metadata in markernotes. And yes, it's a big puzzle, especially when you know that 80 of RAW file are based on TIFF/EP. It's the hell...

So, the question is how M$ will differentiate a real TIFF file than a CR2 file.

Gilles Caulier
Comment 26 caulier.gilles 2019-04-20 09:34:21 UTC
80% of RAW files i want mean...

Interesting links : 

https://en.wikipedia.org/wiki/Raw_image_format#Windows_Imaging_Component_(WIC)
https://en.wikipedia.org/wiki/Windows_Imaging_Component

Gilles Caulier
Comment 27 caulier.gilles 2019-04-20 09:36:22 UTC
For your pleasure, if you is curious :

http://lclevy.free.fr/cr2/#key_info

Gilles Caulier
Comment 28 Lars Grabner 2019-04-20 09:37:59 UTC
What is the meaning of "the rating range is not valid"?
Comment 29 caulier.gilles 2019-04-20 09:44:43 UTC
MAik want mean that rating value is not in the range of supported values by digiKam.

I know that M$ rating can set something between 0 and 100, where other all photos applications support between 0 and 5 (stars).

Gilles Caulier
Comment 30 Lars Grabner 2019-04-20 09:47:22 UTC
Yes, but the broblem is: i don´t gave rating stars to the files. Only names and things are shown on the photos, i tagged.
Comment 31 Maik Qualmann 2019-04-20 20:48:44 UTC
I've here tested under a recent Windows 10 in the VM with digiKam and Picasa.
Fact1: With JPG, everything works as expected.
Fact2: With RAW images no tags or rating are displayed in Explorer, although not available (can not be set).
Fact3: Picasa displays the tags in the Properties view, but does not include them in the tags view for RAW files.
Fact4: Tags added in Picasa are not written to the RAW files. If I overlook an option, please correct me.

Conclusion: DigiKam does it all right, Explorer does not show tags for RAW files and Picasa only uses the DB for RAW files.

Maik
Comment 32 caulier.gilles 2020-07-31 11:28:57 UTC
digiKam 7.0.0 stable release is now published:

https://www.digikam.org/news/2020-07-19-7.0.0_release_announcement/

We need a fresh feedback on this file using this version.

Best Regards

Gilles Caulier
Comment 33 caulier.gilles 2021-04-25 08:35:27 UTC
See related bug #326408
Comment 34 caulier.gilles 2021-04-25 08:35:44 UTC
See related bug #326408
Comment 35 caulier.gilles 2021-05-08 16:51:57 UTC
Git commit 434f065e74282cbb9335c2cc4db256007ca2ae5d by Gilles Caulier.
Committed on 08/05/2021 at 16:46.
Pushed by cgilles into branch 'master'.

ExifTool support: add new method to get list of changes operated on metadata. The goal is to make a temporary EXV file to pass later to ExifTool to patch target file.
Related: bug 134486, bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 416516, bug 421464, bug 436286

M  +162  -0    core/libs/metadataengine/engine/metaengine.cpp
M  +5    -0    core/libs/metadataengine/engine/metaengine.h
M  +0    -1    core/libs/metadataengine/engine/metaengine_p.cpp

https://invent.kde.org/graphics/digikam/commit/434f065e74282cbb9335c2cc4db256007ca2ae5d
Comment 36 caulier.gilles 2021-05-09 08:33:50 UTC
Git commit 2cb42fd246428932edd2049c59def826dcc9a420 by Gilles Caulier.
Committed on 09/05/2021 at 08:13.
Pushed by cgilles into branch 'master'.

ExifTool support: now export the list of tags changes from Exif, Iptc, and Xmp in a temporary EXV file.
We will pass later this file to ExifTool to patch target file.
Related: bug 134486, bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 416516, bug 421464, bug 436286

M  +0    -186  core/libs/metadataengine/engine/metaengine.cpp
M  +8    -5    core/libs/metadataengine/engine/metaengine.h
M  +196  -0    core/libs/metadataengine/engine/metaengine_fileio.cpp
M  +4    -4    core/tests/metadataengine/CMakeLists.txt
R  +5    -4    core/tests/metadataengine/exportchanges_cli.cpp [from: core/tests/metadataengine/dmetadatadiff_cli.cpp - 082% similarity]

https://invent.kde.org/graphics/digikam/commit/2cb42fd246428932edd2049c59def826dcc9a420
Comment 37 caulier.gilles 2021-05-09 13:18:57 UTC
Git commit 2ef074a3f5c239bf4674c4cdda5bf99f511d8ae0 by Gilles Caulier.
Committed on 09/05/2021 at 13:04.
Pushed by cgilles into branch 'master'.

ExifTool support: add new method to apply list of changes operated on metadata.
A temporary EXV file constainer is computed with the list of changes to operated on Exif, Iptc, and Xmp.
This EXV file is processed with ExifTool to patch metadata.
Add new CLI test tool to try apply changes with EXV constainer. Here the file is patched with DMetadata::setImageDateTime()
which change or add new tags in Exif, Iptc, and Xmp

Exemple of changes processed to a CR3 raw image:

CR3 ORIGINAL:

exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060.CR3_original
[EXIF:IFD0:Image] Image Width                   : 8192
[EXIF:IFD0:Image] Image Height                  : 5464
[EXIF:IFD0:Image] Bits Per Sample               : 8 8 8
[EXIF:IFD0:Image] Compression                   : JPEG (old-style)
[EXIF:IFD0:Camera] Make                         : Canon
[EXIF:IFD0:Camera] Camera Model Name            : Canon EOS R5
[EXIF:IFD0:Image] Orientation                   : Rotate 90 CW
[EXIF:IFD0:Image] Resolution Unit               : inches
[EXIF:IFD0:Author] Artist                       : kdmurray
[EXIF:IFD0:Author] Copyright                    :
[EXIF:ExifIFD:Image] Exposure Time              : 1/200
[EXIF:ExifIFD:Image] F Number                   : 10.0
[EXIF:ExifIFD:Camera] Exposure Program          : Manual
[EXIF:ExifIFD:Image] ISO                        : 400
[EXIF:ExifIFD:Image] Sensitivity Type           : Recommended Exposure Index
[EXIF:ExifIFD:Image] Recommended Exposure Index : 400
[EXIF:ExifIFD:Image] Exif Version               : 0231
[EXIF:ExifIFD:Time] Date/Time Original          : 2020:09:22 21:27:23
[EXIF:ExifIFD:Time] Offset Time                 : +10:00
[EXIF:ExifIFD:Time] Offset Time Original        : +10:00
[EXIF:ExifIFD:Time] Offset Time Digitized       : +10:00
[EXIF:ExifIFD:Image] Components Configuration   : Y, Cb, Cr, -
[EXIF:ExifIFD:Image] Shutter Speed Value        : 1/197
[EXIF:ExifIFD:Image] Aperture Value             : 9.9
[EXIF:ExifIFD:Camera] Flash                     : On, Fired
[EXIF:ExifIFD:Camera] Focal Length              : 90.0 mm
[EXIF:ExifIFD:Image] User Comment               :
[EXIF:ExifIFD:Time] Sub Sec Time                : 59
[EXIF:ExifIFD:Time] Sub Sec Time Original       : 59
[EXIF:ExifIFD:Time] Sub Sec Time Digitized      : 59
[EXIF:ExifIFD:Image] Flashpix Version           : 0100
[EXIF:ExifIFD:Image] Exif Image Width           : 8192
[EXIF:ExifIFD:Image] Exif Image Height          : 5464
[EXIF:ExifIFD:Camera] Focal Plane X Resolution  : 5773.079634
[EXIF:ExifIFD:Camera] Focal Plane Y Resolution  : 5769.799366
[EXIF:ExifIFD:Camera] Focal Plane Resolution Unit: inches
[EXIF:ExifIFD:Image] Custom Rendered            : Normal
[EXIF:ExifIFD:Camera] Exposure Mode             : Manual
[EXIF:ExifIFD:Camera] Scene Capture Type        : Standard
[EXIF:ExifIFD:Image] Serial Number              : 035021000124
[EXIF:ExifIFD:Image] Lens Info                  : 90mm f/0
[EXIF:ExifIFD:Image] Lens Serial Number         : 0000000000
[EXIF:GPS:Location] GPS Version ID              : 2.3.0.0
[EXIF:GPS:Location] GPS Altitude Ref            : Above Sea Level
[EXIF:GPS:Location] GPS Satellites              :
[EXIF:GPS:Location] GPS Status                  : Unknown ()
[EXIF:GPS:Location] GPS Measure Mode            : Unknown ()
[XMP:XMP-xmp:Image] Rating                      : 0

*EXV constainer generated:

exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060_changes.exv
[XMP:XMP-x:Document] XMP Toolkit                : XMP Core 4.4.0-Exiv2
[XMP:XMP-exif:Time] Date/Time Original          : 2021:05:09 15:02:43
[XMP:XMP-exif:Time] Date/Time Digitized         : 2021:05:09 15:02:43
[XMP:XMP-tiff:Time] Date/Time Modified          : 2021:05:09 15:02:43
[XMP:XMP-xmp:Time] Create Date                  : 2021:05:09 15:02:43
[XMP:XMP-xmp:Time] Metadata Date                : 2021:05:09 15:02:43
[XMP:XMP-xmp:Time] Modify Date                  : 2021:05:09 15:02:43

*CR3 PATCHED:

exiftool]$ exiftool -G:0:1:2:4 -exif:all -xmp:all 2020-09-22_21-27-23_0C4A1060.CR3
[EXIF:IFD0:Image] Image Width                   : 8192
[EXIF:IFD0:Image] Image Height                  : 5464
[EXIF:IFD0:Image] Bits Per Sample               : 8 8 8
[EXIF:IFD0:Image] Compression                   : JPEG (old-style)
[EXIF:IFD0:Camera] Make                         : Canon
[EXIF:IFD0:Camera] Camera Model Name            : Canon EOS R5
[EXIF:IFD0:Image] Orientation                   : Rotate 90 CW
[EXIF:IFD0:Image] Resolution Unit               : inches
[EXIF:IFD0:Author] Artist                       : kdmurray
[EXIF:IFD0:Author] Copyright                    :
[EXIF:ExifIFD:Image] Exposure Time              : 1/200
[EXIF:ExifIFD:Image] F Number                   : 10.0
[EXIF:ExifIFD:Camera] Exposure Program          : Manual
[EXIF:ExifIFD:Image] ISO                        : 400
[EXIF:ExifIFD:Image] Sensitivity Type           : Recommended Exposure Index
[EXIF:ExifIFD:Image] Recommended Exposure Index : 400
[EXIF:ExifIFD:Image] Exif Version               : 0231
[EXIF:ExifIFD:Time] Offset Time                 : +10:00
[EXIF:ExifIFD:Time] Offset Time Original        : +10:00
[EXIF:ExifIFD:Time] Offset Time Digitized       : +10:00
[EXIF:ExifIFD:Image] Components Configuration   : Y, Cb, Cr, -
[EXIF:ExifIFD:Image] Shutter Speed Value        : 1/197
[EXIF:ExifIFD:Image] Aperture Value             : 9.9
[EXIF:ExifIFD:Camera] Flash                     : On, Fired
[EXIF:ExifIFD:Camera] Focal Length              : 90.0 mm
[EXIF:ExifIFD:Image] User Comment               :
[EXIF:ExifIFD:Time] Sub Sec Time                : 59
[EXIF:ExifIFD:Time] Sub Sec Time Original       : 59
[EXIF:ExifIFD:Time] Sub Sec Time Digitized      : 59
[EXIF:ExifIFD:Image] Flashpix Version           : 0100
[EXIF:ExifIFD:Image] Exif Image Width           : 8192
[EXIF:ExifIFD:Image] Exif Image Height          : 5464
[EXIF:ExifIFD:Camera] Focal Plane X Resolution  : 5773.079634
[EXIF:ExifIFD:Camera] Focal Plane Y Resolution  : 5769.799366
[EXIF:ExifIFD:Camera] Focal Plane Resolution Unit: inches
[EXIF:ExifIFD:Image] Custom Rendered            : Normal
[EXIF:ExifIFD:Camera] Exposure Mode             : Manual
[EXIF:ExifIFD:Camera] Scene Capture Type        : Standard
[EXIF:ExifIFD:Image] Serial Number              : 035021000124
[EXIF:ExifIFD:Image] Lens Info                  : 90mm f/0
[EXIF:ExifIFD:Image] Lens Serial Number         : 0000000000
[EXIF:GPS:Location] GPS Version ID              : 2.3.0.0
[EXIF:GPS:Location] GPS Altitude Ref            : Above Sea Level
[EXIF:GPS:Location] GPS Satellites              :
[EXIF:GPS:Location] GPS Status                  : Unknown ()
[EXIF:GPS:Location] GPS Measure Mode            : Unknown ()
[XMP:XMP-x:Document] XMP Toolkit                : Image::ExifTool 12.00
[XMP:XMP-exif:Time] Date/Time Digitized         : 2021:05:09 15:02:43           <====!
[XMP:XMP-exif:Time] Date/Time Original          : 2021:05:09 15:02:43           <====!
[XMP:XMP-photoshop:Time] Date Created           : 2021:05:09 15:02:43           <====!
[XMP:XMP-tiff:Time] Date/Time Modified          : 2021:05:09 15:02:43           <====!
[XMP:XMP-xmp:Time] Create Date                  : 2021:05:09 15:02:43           <====!
[XMP:XMP-xmp:Time] Metadata Date                : 2021:05:09 15:02:43           <====!
[XMP:XMP-xmp:Time] Modify Date                  : 2021:05:09 15:02:43           <====!
[XMP:XMP-xmp:Image] Rating                      : 0
Related: bug 134486, bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 416516, bug 421464, bug 436286

M  +12   -2    core/libs/metadataengine/exiftool/exiftoolparser.h
M  +32   -0    core/libs/metadataengine/exiftool/exiftoolparser_command.cpp
M  +6    -0    core/libs/metadataengine/exiftool/exiftoolparser_output.cpp
M  +1    -0    core/libs/metadataengine/exiftool/exiftoolprocess.h
M  +2    -1    core/tests/metadataengine/exiftool/CMakeLists.txt
C  +20   -19   core/tests/metadataengine/exiftool/exiftoolapplychanges_cli.cpp [from: core/tests/metadataengine/exiftool/exiftoolwrite_cli.cpp - 059% similarity]
M  +1    -1    core/tests/metadataengine/exiftool/exiftoolwrite_cli.cpp

https://invent.kde.org/graphics/digikam/commit/2ef074a3f5c239bf4674c4cdda5bf99f511d8ae0
Comment 38 caulier.gilles 2021-05-15 15:19:43 UTC
Git commit 5507cb4c7779f42321d751d3788ee18562df6c9d by Gilles Caulier.
Committed on 15/05/2021 at 15:14.
Pushed by cgilles into branch 'master'.

ExifToolParser: new command to copy tags from source file to a destination file.
Related: bug 134486, bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 416516, bug 421464, bug 436286, bug 381967

M  +7    -0    core/libs/metadataengine/exiftool/exiftoolparser.h
M  +64   -0    core/libs/metadataengine/exiftool/exiftoolparser_command.cpp
M  +17   -1    core/libs/metadataengine/exiftool/exiftoolprocess.h

https://invent.kde.org/graphics/digikam/commit/5507cb4c7779f42321d751d3788ee18562df6c9d
Comment 39 caulier.gilles 2021-05-16 10:15:12 UTC
Git commit 8f332525788359d2c13c3e029bfb1b956dd5a4d2 by Gilles Caulier.
Committed on 16/05/2021 at 10:09.
Pushed by cgilles into branch 'master'.

DNGWriter : include ExifTool Error View in Settings Widget.
Fix API to check ExifTool program availability.
Factoring codes.
Related: bug 134486, bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 416516, bug 421464, bug 436286, bug 381967

M  +29   -5    core/libs/dngwriter/dngsettings.cpp
M  +6    -0    core/libs/dngwriter/dngsettings.h
M  +3    -10   core/libs/metadataengine/exiftool/exiftoolparser.cpp
M  +4    -1    core/libs/metadataengine/exiftool/exiftoolparser.h
M  +31   -21   core/libs/metadataengine/exiftool/exiftoolprocess.cpp
M  +2    -0    core/libs/metadataengine/exiftool/exiftoolprocess.h

https://invent.kde.org/graphics/digikam/commit/8f332525788359d2c13c3e029bfb1b956dd5a4d2
Comment 40 caulier.gilles 2021-05-17 04:02:51 UTC
Git commit 067a15c4ed14d75eb2ce3cc725fcba709131392e by Gilles Caulier.
Committed on 17/05/2021 at 03:57.
Pushed by cgilles into branch 'master'.

DPlugin interface; add new method to be able to open an host application setup dialog page from a plugin.
DNGWriter: add ExifTool error view to settings Widget. If ExifTool is not available, show error view and allow
Related: bug 134486, bug 170693, bug 219856, bug 237504, bug 264210, bug 309341, bug 325458, bug 326408, bug 377622, bug 384092, bug 416516, bug 421464, bug 436286, bug 381967
to customize installation from configuration panel.

M  +1    -1    core/app/main/digikamapp.cpp
M  +1    -0    core/app/main/digikamapp_p.h
M  +28   -0    core/dplugins/bqm/convert/converttodng/converttodng.cpp
M  +1    -1    core/dplugins/bqm/convert/converttodng/converttodng.h
M  +20   -1    core/libs/database/utils/ifaces/dbinfoiface.cpp
M  +2    -0    core/libs/database/utils/ifaces/dbinfoiface.h
M  +5    -1    core/libs/dngwriter/dngsettings.cpp
M  +4    -4    core/libs/dngwriter/dngwriter_postprocess.cpp
M  +4    -1    core/libs/dplugins/iface/dinfointerface.cpp
M  +13   -0    core/libs/dplugins/iface/dinfointerface.h
M  +1    -1    core/libs/metadataengine/exiftool/exiftoolparser.cpp
M  +6    -6    core/libs/widgets/metadata/exiftool/exiftoolconfpanel.cpp
M  +1    -1    core/libs/widgets/metadata/exiftool/exiftoollistview.cpp
M  +1    -0    core/showfoto/CMakeLists.txt
M  +1    -1    core/showfoto/main/showfoto.cpp
M  +2    -1    core/showfoto/main/showfoto_p.h
A  +66   -0    core/showfoto/main/showfotoinfoiface.cpp     [License: GPL (v2+)]
A  +51   -0    core/showfoto/main/showfotoinfoiface.h     [License: GPL (v2+)]
M  +2    -2    core/tests/metadataengine/exiftool/exiftoolmulticore_cli.cpp
M  +14   -1    core/utilities/queuemanager/dplugins/dpluginbqm.cpp
M  +7    -0    core/utilities/queuemanager/dplugins/dpluginbqm.h
M  +1    -0    core/utilities/queuemanager/main/queuemgrwindow.h
M  +10   -0    core/utilities/queuemanager/manager/batchtoolsfactory.cpp
M  +3    -0    core/utilities/queuemanager/manager/batchtoolsfactory.h

https://invent.kde.org/graphics/digikam/commit/067a15c4ed14d75eb2ce3cc725fcba709131392e
Comment 41 caulier.gilles 2022-04-07 04:57:36 UTC
Git commit 3a672f38cda7738356f19707a6a634ca91c269e6 by Gilles Caulier.
Committed on 07/04/2022 at 04:45.
Pushed by cgilles into branch 'master'.

Write metadata with ExifTool backend if Exiv2 fails to process, for exemple with RAW files or Video files.
Tested successfuly with a MP4 video to insert a comment.
For RAW and other king of files as MPO or JPEG with more than 64kB of Exif segement, Exiv2 must be bannned to uses in cases of writting operations as files can be corrupted.
This require more regression tests to validate ExifTool uses in place of Exiv2.
Related: bug 416516, bug 237504, bug 384092, bug 264210, bug 326408, bug 421464, bug 134486, bug 309341, bug 219856, bug 377622, bug 325458, bug 170693, bug 448729, bug 338075, bug 436876, bug 366348

M  +1    -0    core/libs/metadataengine/dmetadata/dmetadata.h
M  +43   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp
M  +49   -3    core/libs/metadataengine/dmetadata/dmetadata_fileio.cpp
M  +2    -2    core/libs/metadataengine/exiftool/exiftoolparser.h

https://invent.kde.org/graphics/digikam/commit/3a672f38cda7738356f19707a6a634ca91c269e6
Comment 42 caulier.gilles 2022-04-08 03:36:26 UTC
Git commit 80ecdd9980c6cf14789606455bf9d367c1ffef51 by Gilles Caulier.
Committed on 08/04/2022 at 03:25.
Pushed by cgilles into branch 'master'.

Use only ExifTool backend to write metadata to RAW files, as Exiv2 is fully unsafe with these kind of operations.
Reading and Writing metadata to video files is now delegate to ExifTool Backend too.
Related: bug 416516, bug 237504, bug 384092, bug 264210, bug 326408, bug 134486, bug 309341, bug 377622, bug 170693, bug 419801, bug 338075, bug 366348
FIXED-IN: 8.0.0

M  +1    -0    NEWS
M  +13   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp
M  +6    -52   core/libs/metadataengine/engine/metaengine_p.cpp
M  +4    -20   core/utilities/setup/metadata/setupmetadata.cpp
M  +3    -4    core/utilities/setup/metadata/setupmetadata_behavior.cpp

https://invent.kde.org/graphics/digikam/commit/80ecdd9980c6cf14789606455bf9d367c1ffef51