56 VIDEOCOLORMODEL_UNKNOWN = 1000,
70 explicit DMetadata(
const QString& filePath);
76 void registerMetadataSettings();
87 bool load(
const QString& filePath,
bool videoAll =
false,
Backend* backend =
nullptr);
88 bool save(
const QString& filePath,
bool setVersion =
false)
const;
89 bool applyChanges(
bool setVersion =
false)
const;
94 bool loadUsingRawEngine(
const QString& filePath);
98 QString getItemHistory()
const;
99 bool setItemHistory(
const QString& imageHistoryXml)
const;
100 bool hasItemHistoryTag()
const;
102 QString getItemUniqueId()
const;
103 bool setItemUniqueId(
const QString& uuid)
const;
111 bool getItemFacesMap(QMultiMap<QString, QVariant>& facesPath)
const;
119 bool setItemFacesMap(
const QMultiMap<QString, QVariant>& facesPath,
bool write,
const QSize& size = QSize())
const;
124 bool removeItemFacesMap()
const;
128 bool getItemTagsPath(QStringList& tagsPath,
130 bool setItemTagsPath(
const QStringList& tagsPath,
133 bool getACDSeeTagsPath(QStringList& tagsPath)
const;
135 bool setACDSeeTagsPath(
const QStringList& tagsPath)
const;
152 bool setItemRating(
int rating,
156 bool setItemPickLabel(
int pickId,
160 bool setItemColorLabel(
int colorId,
165 bool setMetadataTemplate(
const Template& t)
const;
166 Template getMetadataTemplate()
const;
167 bool removeMetadataTemplate()
const;
173 bool getCopyrightInformation(
Template& t)
const;
188 bool setIccProfile(
const IccProfile& profile);
193 bool removeExifColorSpace()
const;
198 int getMSecsInfo()
const;
204 bool mSecTimeStamp(
const char*
const exifTagName,
int& ms)
const;
206 bool removeExifTags(
const QStringList& tagFilters);
210 QString getExifTagStringFromTagsList(
const QStringList& tagsList)
const;
220 QStringList getIptcCoreSubjects()
const;
222 bool removeIptcTags(
const QStringList& tagFilters);
236 bool setIptcTag(
const QString& text,
238 const char*
const debugLabel,
239 const char*
const tagKey)
const;
241 QVariant fromIptcEmulateList(
const char*
const iptcTagName)
const;
242 QVariant fromIptcEmulateLangAlt(
const char*
const iptcTagName)
const;
252 bool addToXmpTagStringBag(
const char*
const xmpTagName,
const QStringList& entriesToAdd)
const;
259 bool removeFromXmpTagStringBag(
const char*
const xmpTagName,
const QStringList& entriesToRemove)
const;
264 QStringList getXmpKeywords()
const;
272 bool setXmpKeywords(
const QStringList& newKeywords)
const;
278 bool removeXmpKeywords(
const QStringList& keywordsToRemove);
283 QStringList getXmpSubjects()
const;
291 bool setXmpSubjects(
const QStringList& newSubjects)
const;
297 bool removeXmpSubjects(
const QStringList& subjectsToRemove);
303 QStringList getXmpSubCategories()
const;
311 bool setXmpSubCategories(
const QStringList& newSubCategories)
const;
317 bool removeXmpSubCategories(
const QStringList& categoriesToRemove);
319 bool removeXmpTags(
const QStringList& tagFilters);
323 QVariant fromXmpList(
const char*
const xmpTagName)
const;
324 QVariant fromXmpLangAlt(
const char*
const xmpTagName)
const;
331 bool loadUsingFFmpeg(
const QString& filePath);
341 static QString videoColorModelToString(
VIDEOCOLORMODEL videoColorModel);
352 QString getLensDescription()
const;
357 QString getCameraSerialNumber()
const;
361 static double apexApertureToFNumber(
double aperture);
362 static double apexShutterSpeedToExposureTime(
double shutterSpeed);
371 QVariantList getMetadataFields(
const MetadataFields& fields)
const;
378 static QStringList valuesToString(
const QVariantList& list,
const MetadataFields& fields);
388 QVariant fromExifOrXmp(
const char*
const exifTagName,
const char*
const xmpTagName)
const;
389 QVariant fromIptcOrXmp(
const char*
const iptcTagName,
const char*
const xmpTagName)
const;
390 QVariant fromExifOrXmpList(
const QStringList& tagList)
const;
391 bool hasValidField(
const QVariantList& list)
const;
392 QVariant toStringListVariant(
const QStringList& list)
const;
393 QVariant toStringVariant(
const QString& str)
const;
402 bool loadUsingLibheif(
const QString& filePath);
411 bool loadUsingImageMagick(
const QString& filePath);
418 bool loadUsingExifTool(
const QString& filePath,
bool videoAll =
false);
419 bool saveUsingExifTool(
const QString& filePath)
const;