changeset 1070:abf48b53216b

simple synchronization XMP <-> Exif, IPTC
author nadvornik
date Sat, 18 Oct 2008 19:20:27 +0000
parents aeae25d5d50d
children 01e743d275f2
files src/exiv2.cc
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/exiv2.cc	Sat Oct 18 18:22:57 2008 +0000
+++ b/src/exiv2.cc	Sat Oct 18 19:20:27 2008 +0000
@@ -48,6 +48,10 @@
 #include <exiv2/preview.hpp>
 #endif
 
+#if EXIV2_TEST_VERSION(0,17,0)
+#include <exiv2/convert.hpp>
+#endif
+
 
 extern "C" {
 #include <glib.h>
@@ -216,6 +220,9 @@
 #endif
 		exifData_ = imageData_->exifData();
 		iptcData_ = imageData_->iptcData();
+#if EXIV2_TEST_VERSION(0,17,0)
+		syncExifWithXmp(exifData_, xmpData_);
+#endif
 	}
 
 	virtual ~_ExifDataProcessed()
@@ -231,7 +238,10 @@
 
 	virtual void writeMetadata()
 	{
-		
+#if EXIV2_TEST_VERSION(0,17,0)
+		syncExifWithXmp(exifData_, xmpData_);
+		copyXmpToIptc(xmpData_, iptcData_); //FIXME it should be configurable
+#endif
 		if (sidecarData_) 
 			{
 			sidecarData_->image()->setXmpData(xmpData_);