From f099e68e8c7994dcffa9bc02878c71cc8b667ad8 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Mon, 11 Feb 2013 09:12:04 +0100 Subject: [PATCH] Mark THM metadata as ExifTool, not ML --- src/projectlist.cpp | 61 +++++++++++++++++--------------- src/widgets/clipproperties_ui.ui | 2 +- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/projectlist.cpp b/src/projectlist.cpp index 6564238a..717d17f7 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -2200,28 +2200,49 @@ void ProjectList::extractMetadata(DocClipBase *clip) { QMap props = clip->properties(); if (KdenliveSettings::use_exiftool() && !props.contains("exiftool")) { - QString codecid = props.value("videocodecid").simplified(); - if (codecid == "h264") { + QMap meta; + QString url = clip->fileURL().path(); + //Check for Canon THM file + url = url.section('.', 0, -2) + ".THM"; + if (QFile::exists(url)) { + // Read the exif metadata embeded in the THM file QProcess p; QStringList args; - args << "-g" << "-args" << clip->fileURL().encodedPathAndQuery(); + args << "-g" << "-args" << url; p.start("exiftool", args); p.waitForFinished(); QString res = p.readAllStandardOutput(); QStringList list = res.split("\n"); - QMap meta; foreach(QString tagline, list) { - if (!tagline.startsWith("-H264")) continue; - QString tag = tagline.section(':', 1); + if (tagline.startsWith("-File") || tagline.startsWith("-ExifTool")) continue; + QString tag = tagline.section(':', 1).simplified(); if (tag.startsWith("ImageWidth") || tag.startsWith("ImageHeight")) continue; - meta.insert(tag.section('=', 0, 0), tag.section('=', 1)); + if (!tag.section('=', 0, 0).isEmpty() && !tag.section('=', 1).simplified().isEmpty()) + meta.insert(tag.section('=', 0, 0), tag.section('=', 1).simplified()); } - clip->setProperty("exiftool", "1"); - if (!meta.isEmpty()) { - clip->setMetadata(meta, "ExifTool"); - //checkCamcorderFilters(clip, meta); + } else { + QString codecid = props.value("videocodecid").simplified(); + if (codecid == "h264") { + QProcess p; + QStringList args; + args << "-g" << "-args" << clip->fileURL().encodedPathAndQuery(); + p.start("exiftool", args); + p.waitForFinished(); + QString res = p.readAllStandardOutput(); + QStringList list = res.split("\n"); + foreach(QString tagline, list) { + if (!tagline.startsWith("-H264")) continue; + QString tag = tagline.section(':', 1); + if (tag.startsWith("ImageWidth") || tag.startsWith("ImageHeight")) continue; + meta.insert(tag.section('=', 0, 0), tag.section('=', 1)); + } } } + clip->setProperty("exiftool", "1"); + if (!meta.isEmpty()) { + clip->setMetadata(meta, "ExifTool"); + //checkCamcorderFilters(clip, meta); + } } if (KdenliveSettings::use_magicLantern() && !props.contains("magiclantern")) { QMap meta; @@ -2238,24 +2259,6 @@ void ProjectList::extractMetadata(DocClipBase *clip) } } } - url = url.section('.', 0, -2) + ".THM"; - if (QFile::exists(url) && KdenliveSettings::use_exiftool()) { - // Read the exif metadata embeded in the THM file - QProcess p; - QStringList args; - args << "-g" << "-args" << url; - p.start("exiftool", args); - p.waitForFinished(); - QString res = p.readAllStandardOutput(); - QStringList list = res.split("\n"); - foreach(QString tagline, list) { - if (tagline.startsWith("-File") || tagline.startsWith("-ExifTool")) continue; - QString tag = tagline.section(':', 1).simplified(); - if (tag.startsWith("ImageWidth") || tag.startsWith("ImageHeight")) continue; - if (!tag.section('=', 0, 0).isEmpty() && !tag.section('=', 1).simplified().isEmpty()) - meta.insert(tag.section('=', 0, 0), tag.section('=', 1).simplified()); - } - } if (!meta.isEmpty()) clip->setMetadata(meta, "Magic Lantern"); diff --git a/src/widgets/clipproperties_ui.ui b/src/widgets/clipproperties_ui.ui index 8ae184d2..08b71094 100644 --- a/src/widgets/clipproperties_ui.ui +++ b/src/widgets/clipproperties_ui.ui @@ -525,7 +525,7 @@ true - false + true true -- 2.39.2