[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:43:38 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=fe95f42

The following commit has been merged in the master branch:
commit fe95f427b3da8227aca17deb22e18e3fc9c51754
Author: nkbj <nkbj1970 at hotmail.com>
Date:   Fri Mar 22 03:52:04 2013 +0000

    Issue #896: ser-readable output of Olympus' FocusDistance. Thanks to Teemu Rytilahti for the patch.
---
 src/olympusmn.cpp     | 22 +++++++++++++++++++++-
 src/olympusmn_int.hpp |  2 ++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/src/olympusmn.cpp b/src/olympusmn.cpp
index cbe3791..9171ee4 100644
--- a/src/olympusmn.cpp
+++ b/src/olympusmn.cpp
@@ -1005,7 +1005,7 @@ namespace Exiv2 {
         TagInfo(0x0301, "FocusStepCount", N_("Focus Step Count"), N_("Focus step count"), olympusFiId, makerTags, unsignedShort, -1, printValue),
         TagInfo(0x0303, "FocusStepInfinity", N_("Focus Step Infinity"), N_("Focus step infinity"), olympusFiId, makerTags, unsignedShort, -1, printValue),
         TagInfo(0x0304, "FocusStepNear", N_("Focus Step Near"), N_("Focus step near"), olympusFiId, makerTags, unsignedShort, -1, printValue),
-        TagInfo(0x0305, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), olympusFiId, makerTags, unsignedRational, -1, printValue),
+        TagInfo(0x0305, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), olympusFiId, makerTags, unsignedRational, -1, print0x0305),
         TagInfo(0x0308, "AFPoint", N_("AF Point"), N_("AF point"), olympusFiId, makerTags, unsignedShort, -1, print0x0308),
         TagInfo(0x1201, "ExternalFlash", N_("External Flash"), N_("External flash"), olympusFiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)),
         TagInfo(0x1203, "ExternalFlashGuideNumber", N_("External Flash Guide Number"), N_("External flash guide number"), olympusFiId, makerTags, signedRational, -1, printValue),
@@ -1514,6 +1514,26 @@ namespace Exiv2 {
         return os;
     } // OlympusMakerNote::print0x1209
 
+    // Olympus FocusDistance 0x0305
+    std::ostream& OlympusMakerNote::print0x0305(std::ostream& os, const Value& value, const ExifData*) {
+        if (value.count() != 1 || value.typeId() != unsignedRational) {
+            return os << value;
+        }
+        
+        Rational distance = value.toRational();
+        if(static_cast<uint32_t>(distance.first) == 0xffffffff) {
+            os << _("Infinity");
+        }
+        else {
+            std::ostringstream oss;
+            oss.copyfmt(os);
+            os << std::fixed << std::setprecision(2);
+            os << (float)distance.first/1000 << " m";
+            os.copyfmt(oss); 
+        }
+        return os;
+    }
+    
     // Olympus FocusInfo tag 0x0308 AFPoint
     std::ostream& OlympusMakerNote::print0x0308(std::ostream& os, const Value&
 value, const ExifData* metadata)
diff --git a/src/olympusmn_int.hpp b/src/olympusmn_int.hpp
index 848bd5f..568eb86 100644
--- a/src/olympusmn_int.hpp
+++ b/src/olympusmn_int.hpp
@@ -103,6 +103,8 @@ namespace Exiv2 {
         static  std::ostream& print0x0529(std::ostream& os, const Value& value, const ExifData*);
         //! Print Olympus focus info ManualFlash
         static std::ostream& print0x1209(std::ostream& os, const Value& value, const ExifData*);
+        //! Print Olympus focus distance
+        static std::ostream& print0x0305(std::ostream& os, const Value& value, const ExifData*);
         //! Print Olympus focus info AF Point
         static std::ostream& print0x0308(std::ostream& os, const Value& value, const ExifData*);
         //! Print Olympus generic

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list