Summary: | Missing support for Media Pro hierarchical keywords [patch] | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Alan Pater <alan.pater> |
Component: | Metadata-Engine | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | alan.pater, caulier.gilles, metzpinguin |
Priority: | NOR | ||
Version: | 4.9.0 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | All | ||
Latest Commit: | http://commits.kde.org/digikam/c697e630c4483833a27c96bb3969c5574af01045 | Version Fixed In: | 4.10.0 |
Attachments: |
XMP sidecar created in Media Pro
Test image with embedded Media Pro metadata get Media Pro Catalog Sets |
Description
Alan Pater
2015-04-25 14:13:54 UTC
I adapted the LR code in dmetadata.cpp and came up with: // Read: bool DMetadata::getImageTagsPath(QStringList& tagsPath) const // Try to get Tags Path list from Media Pro XMP first. tagsPath = getXmpTagStringBag("Xmp.mediapro.CatalogSets", false); // There is another Media Pro tag for hierarchical subjects. if (tagsPath.isEmpty()) { tagsPath = getXmpTagStringSeq("Xmp.expressionmedia.CatalogSets", false); } if (!tagsPath.isEmpty()) { // Media Pro Catalog Sets use '|' as separator. tagsPath = tagsPath.replaceInStrings("|", "/"); kDebug() << "Tags Path imported from Media Pro : " << tagsPath; return true; } // Write: bool DMetadata::setImageTagsPath(const QStringList& tagsPath) const QStringList MediaProtagsPath = tagsPath; MediaProtagsPath = MediaProtagsPath.replaceInStrings("/", "|"); if (!setXmpTagStringBag("Xmp.mediapro.CatalogSets", MediaProtagsPath)) { return false; } I have not tested this as I am still unable to build digikam. Please provide patch against current source code, even if it do not compile. It's always better than to try to reproduce code as well. If you have some test images to import/export... Gilles Created attachment 92214 [details]
XMP sidecar created in Media Pro
Created attachment 92215 [details]
Test image with embedded Media Pro metadata
Comment on attachment 92215 [details]
Test image with embedded Media Pro metadata
Non-standard properties written by Media Pro:
Xmp.mediapro.Event XmpText 15 Media Pro Event
Xmp.mediapro.People XmpBag 4 Media Pro People, Alan Pater, Gilles Caulier, Robin Mills
Xmp.mediapro.CatalogSets XmpBag 3 0000|1111|2222, aaaa|bbbb|ccc, aaaa|bbbb|cccc|dddd|eeee|fff
Xmp.expressionmedia.Event XmpText 15 Media Pro Event
Xmp.expressionmedia.People XmpBag 4 Media Pro People, Alan Pater, Gilles Caulier, Robin Mills
Xmp.expressionmedia.CatalogSets XmpBag 3 0000|1111|2222, aaaa|bbbb|ccc, aaaa|bbbb|cccc|dddd|eeee|fff
Xmp.iptcExt.Event LangAlt 1 lang="x-default" Media Pro Event
Xmp.iptcExt.PersonInImage XmpBag 4 Media Pro People, Alan Pater, Gilles Caulier, Robin Mills
Created attachment 92217 [details]
get Media Pro Catalog Sets
Untested. Based on the code to get lr hierarchical keywords.
Alan, you use in the patch: getXmpTagStringSeq ("Xmp.expressionmedia.CatalogSets", false) I think this is correct: getXmpTagStringBag ("Xmp.expressionmedia.CatalogSets", false) Yes? Maik Maik yes, you are correct. It should be Bag just like the mediapro example. Git commit c697e630c4483833a27c96bb3969c5574af01045 by Maik Qualmann. Committed on 05/05/2015 at 16:32. Pushed by mqualmann into branch 'master'. apply patch #92217 from Alan Pater to support Media Pro hierarchical keywords FIXED-IN: 4.10.0 M +2 -1 NEWS M +28 -2 libs/dmetadata/dmetadata.cpp http://commits.kde.org/digikam/c697e630c4483833a27c96bb3969c5574af01045 Git commit e22fe7e171b4c3aeb9f56b6536892edf4ffd827b by Gilles Caulier. Committed on 05/05/2015 at 21:26. Pushed by cgilles into branch 'frameworks'. backport commit #c697e630c4483833a27c96bb3969c5574af01045 from git/master to frameworks branch M +28 -2 libs/dmetadata/dmetadata.cpp http://commits.kde.org/digikam/e22fe7e171b4c3aeb9f56b6536892edf4ffd827b |