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

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:45:09 UTC 2017


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

The following commit has been merged in the master branch:
commit 9ad8a0b4ee27918340a1847ce23ef7b786c65d8b
Author: asp <alan.pater at gmail.com>
Date:   Fri Apr 24 21:35:47 2015 +0000

    #1063 Add GPano namespace, XMP properties and doc template
---
 doc/templates/Makefile               |  1 +
 doc/templates/__index2__             |  1 +
 doc/templates/tags-xmp-GPano.html.in | 42 ++++++++++++++++++++++++++++++++++++
 src/properties.cpp                   | 31 +++++++++++++++++++++++++-
 src/xmp.cpp                          |  3 ++-
 5 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/doc/templates/Makefile b/doc/templates/Makefile
index baddfd8..1883836 100644
--- a/doc/templates/Makefile
+++ b/doc/templates/Makefile
@@ -136,6 +136,7 @@ SCHEMA = xmp_dc \
          xmp_plus \
          xmp_mediapro \
          xmp_expressionmedia \
+         xmp_GPano \
          xmp_MP \
          xmp_MPRI \
          xmp_MPReg \
diff --git a/doc/templates/__index2__ b/doc/templates/__index2__
index 1d959a7..d0e0f55 100644
--- a/doc/templates/__index2__
+++ b/doc/templates/__index2__
@@ -47,6 +47,7 @@
     <li><a href="tags-xmp-MicrosoftPhoto.html"><span>MicrosoftPhoto</span></a></li>
     <li><a href="tags-xmp-mediapro.html"><span>mediapro</span></a></li>
     <li><a href="tags-xmp-expressionmedia.html"><span>expressionmedia</span></a></li>
+    <li><a href="tags-xmp-GPano.html"><span>GPano</span></a></li>
     <li><a href="tags-xmp-MP.html"><span>MP</span></a></li>
     <li><a href="tags-xmp-MPRI.html"><span>MPRI</span></a></li>
     <li><a href="tags-xmp-MPReg.html"><span>MPReg</span></a></li>
diff --git a/doc/templates/tags-xmp-GPano.html.in b/doc/templates/tags-xmp-GPano.html.in
new file mode 100644
index 0000000..6ecc1a2
--- /dev/null
+++ b/doc/templates/tags-xmp-GPano.html.in
@@ -0,0 +1,42 @@
+__doctype__
+
+<html>
+
+__header2__
+
+<body>
+
+<div id="content">
+
+__index1__
+
+__index2__
+
+<h2>Google Photo Sphere XMP schema</h2>
+
+<p>Panorama tags written by Google Photosphere. Specifies XMP properties that provide information regarding the creation and rendering of a panorama image.
+
+ <ul>
+
+  <li>Exiv2 keys are  <b><code>Xmp.GPano.<Property></code></b></li>
+
+  <li>The schema namespace URI is <b><code>http://ns.google.com/photos/1.0/panorama/</code></b></li>
+
+  <li>The preferred schema namespace prefix is <b><code>GPano</code></b></li>
+
+ </ul>
+
+Reference: <a href=" https://developers.google.com/photo-sphere/metadata/" title="Photo Sphere XMP Metadata">Photo Sphere XMP Metadata</a></p>
+
+<p>Click on a column header to sort the table.</p>
+
+__xmp_GPano__
+
+</div>
+
+<!-- closes content -->
+
+</body>
+
+</html>
+
diff --git a/src/properties.cpp b/src/properties.cpp
index 2e0ed1b..dc897a5 100644
--- a/src/properties.cpp
+++ b/src/properties.cpp
@@ -102,7 +102,8 @@ namespace Exiv2 {
     extern const XmpPropertyInfo xmpDwCInfo[];
     extern const XmpPropertyInfo xmpDctermsInfo[];
     extern const XmpPropertyInfo xmpLrInfo[];
-    extern const XmpPropertyInfo xmpAcdseeInfo[];  
+    extern const XmpPropertyInfo xmpAcdseeInfo[];
+    extern const XmpPropertyInfo xmpGPanoInfo[];    
 
     extern const XmpNsInfo xmpNsInfo[] = {
         // Schemas   -   NOTE: Schemas which the XMP-SDK doesn't know must be registered in XmpParser::initialize - Todo: Automate this
@@ -140,6 +141,7 @@ namespace Exiv2 {
         { "http://rs.tdwg.org/dwc/index.htm",                     "dwc",            xmpDwCInfo,       N_("XMP Darwin Core schema")     		  },
         { "http://purl.org/dc/terms/",                      "dcterms",       xmpDctermsInfo,   N_("Qualified Dublin Core schema")             }, // Note: used as properties under dwc:record
         { "http://ns.acdsee.com/iptc/1.0/",                 "acdsee",       xmpAcdseeInfo,      N_("ACDSee XMP schema")                       },
+        { "http://ns.google.com/photos/1.0/panorama/",      "GPano",        xmpGPanoInfo,      N_("Google Photo Sphere XMP schema")           },
 
 
         // Structures
@@ -1020,6 +1022,33 @@ namespace Exiv2 {
         { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
     };
 
+    extern const XmpPropertyInfo xmpGPanoInfo[] = {
+        { "UsePanoramaViewer",              N_("Use Panorama Viewer"),              "Boolean",              xmpText, xmpExternal,   N_("Whether to show this image in a panorama viewer rather than as a normal flat image. This may be specified based on user preferences or by the stitching software. The application displaying or ingesting the image may choose to ignore this.")   },
+        { "CaptureSoftware",                N_("Capture Software"),                 "Text",                 xmpText, xmpExternal,   N_("If capture was done using an application on a mobile device, such as an Android phone, the name of the application that was used (such as “Photo Sphere”). This should be left blank if source images were captured manually, such as by using a DSLR on a tripod.")   },
+        { "StitchingSoftware",              N_("Stitching Software"),               "Text",                 xmpText, xmpExternal,   N_("The software that was used to create the final panorama. This may sometimes be the same value as that of  GPano:CaptureSoftware.")   },
+        { "ProjectionType",                 N_("Projection Type"),                  "Open Choice of Text",  xmpText, xmpExternal,   N_("Projection type used in the image file. Google products currently support the value equirectangular.")   },
+        { "PoseHeadingDegrees",             N_("Pose Heading Degrees"),             "Real",                 xmpText, xmpExternal,   N_("Compass heading, measured in degrees, for the center the image. Value must be >= 0 and < 360.")   },
+        { "PosePitchDegrees",               N_("Pose Pitch Degrees"),               "Real",                 xmpText, xmpExternal,   N_("Pitch, measured in degrees, for the center in the image. Value must be >= -90 and <= 90.")   },
+        { "PoseRollDegrees",                N_("Pose Roll Degrees"),                "Real",                 xmpText, xmpExternal,   N_("Roll, measured in degrees, of the image where level with the horizon is 0. Value must be > -180 and <= 180.")   },
+        { "InitialViewHeadingDegrees",      N_("Initial View Heading Degrees"),     "Integer",              xmpText, xmpExternal,   N_("The heading angle of the initial view in degrees.")   },
+        { "InitialViewPitchDegrees",        N_("Initial View Pitch Degrees"),       "Integer",              xmpText, xmpExternal,   N_("The pitch angle of the initial view in degrees.")   },
+        { "InitialViewRollDegrees",         N_("Initial View Roll Degrees"),        "Integer",              xmpText, xmpExternal,   N_("The roll angle of the initial view in degrees.")   },
+        { "InitialHorizontalFOVDegrees",    N_("Initial Horizontal FOV Degrees"),   "Real",                 xmpText, xmpExternal,   N_("The initial horizontal field of view that the viewer should display (in degrees). This is similar to a zoom level.")   },
+        { "FirstPhotoDate",                 N_("First Photo Date"),                 "Date",                 xmpText, xmpExternal,   N_("Date and time for the first image created in the panorama.")   },
+        { "LastPhotoDate",                  N_("Last Photo Date"),                  "Date",                 xmpText, xmpExternal,   N_("Date and time for the last image created in the panorama.")   },
+        { "SourcePhotosCount",              N_("Source Photos Count"),              "Integer",              xmpText, xmpExternal,   N_("Number of source images used to create the panorama")   },
+        { "ExposureLockUsed",               N_("Exposure Lock Used"),               "Boolean",              xmpText, xmpExternal,   N_("When individual source photographs were captured, whether or not the camera’s exposure setting was locked. ")   },
+        { "CroppedAreaImageWidthPixels",    N_("Cropped Area Image Width Pixels"),  "Integer",              xmpText, xmpExternal,   N_("Original width in pixels of the image (equal to the actual image’s width for unedited images).")   },
+        { "CroppedAreaImageHeightPixels",   N_("Cropped Area Image Height Pixels"), "Integer",              xmpText, xmpExternal,   N_("Original height in pixels of the image (equal to the actual image’s height for unedited images).")   },
+        { "FullPanoWidthPixels",            N_("Full Pano Width Pixels"),           "Integer",              xmpText, xmpExternal,   N_("Original full panorama width from which the image was cropped. Or, if only a partial panorama was captured, this specifies the width of what the full panorama would have been.")   },
+        { "FullPanoHeightPixels",           N_("Full Pano Height Pixels"),          "Integer",              xmpText, xmpExternal,   N_("Original full panorama height from which the image was cropped. Or, if only a partial panorama was captured, this specifies the height of what the full panorama would have been.")   },
+        { "CroppedAreaLeftPixels",          N_("Cropped Area Left Pixels"),         "Integer",              xmpText, xmpExternal,   N_("Column where the left edge of the image was cropped from the full sized panorama.")   },
+        { "CroppedAreaTopPixels",           N_("Cropped Area Top Pixels"),          "Integer",              xmpText, xmpExternal,   N_("Row where the top edge of the image was cropped from the full sized panorama.")   },
+        { "InitialCameraDolly",             N_("Initial Camera Dolly"),             "Real",                 xmpText, xmpExternal,   N_("This optional parameter moves the virtual camera position along the line of sight, away from the center of the photo sphere. A rear surface position is represented by the value -1.0, while a front surface position is represented by 1.0. For normal viewing, this parameter should be set to 0.")   },
+
+        // End of list marker
+        { 0, 0, 0, invalidTypeId, xmpInternal, 0 }
+    };
 
     extern const XmpPropertyInfo xmpVideoInfo[] = {
         { "Album",                  N_("Album"),                            "Text",                     xmpText, xmpExternal, N_("The name of the album.")   },
diff --git a/src/xmp.cpp b/src/xmp.cpp
index 4ecc303..c029a4a 100644
--- a/src/xmp.cpp
+++ b/src/xmp.cpp
@@ -407,7 +407,7 @@ namespace Exiv2 {
             SXMPMeta::RegisterNamespace("http://www.digikam.org/ns/1.0/", "digiKam");
             SXMPMeta::RegisterNamespace("http://www.digikam.org/ns/kipi/1.0/", "kipi");
             SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.0/", "MicrosoftPhoto");
-            SXMPMeta::RegisterNamespace("http://ns.acdsee.com/iptc/1.0/", "acdsee");            
+            SXMPMeta::RegisterNamespace("http://ns.acdsee.com/iptc/1.0/", "acdsee");
             SXMPMeta::RegisterNamespace("http://iptc.org/std/Iptc4xmpExt/2008-02-29/", "iptcExt");
             SXMPMeta::RegisterNamespace("http://ns.useplus.org/ldf/xmp/1.0/", "plus");
             SXMPMeta::RegisterNamespace("http://ns.iview-multimedia.com/mediapro/1.0/", "mediapro");
@@ -415,6 +415,7 @@ namespace Exiv2 {
             SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.2/", "MP");
             SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.2/t/RegionInfo#", "MPRI");
             SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.2/t/Region#", "MPReg");
+            SXMPMeta::RegisterNamespace("http://ns.google.com/photos/1.0/panorama/", "GPano");
             SXMPMeta::RegisterNamespace("http://www.metadataworkinggroup.com/schemas/regions/", "mwg-rs");
             SXMPMeta::RegisterNamespace("http://www.metadataworkinggroup.com/schemas/keywords/", "mwg-kw");
             SXMPMeta::RegisterNamespace("http://ns.adobe.com/xmp/sType/Area#", "stArea");

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list