From bc36a6898157fe2b404cec7afff5be00969dd126 Mon Sep 17 00:00:00 2001 From: piernov Date: Mon, 24 Oct 2011 12:09:46 +0200 Subject: taglib-sharp 2.0.4.0-1 ajout port --- taglib-sharp/listData.cpp | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 taglib-sharp/listData.cpp (limited to 'taglib-sharp/listData.cpp') diff --git a/taglib-sharp/listData.cpp b/taglib-sharp/listData.cpp new file mode 100644 index 0000000..50283d2 --- /dev/null +++ b/taglib-sharp/listData.cpp @@ -0,0 +1,62 @@ +#include +#include +#include +#include +#include + +int main(int argc, char* const argv[]) + +try { + if (argc != 3) { + std::cout << "Usage: " << argv[0] << " mode file\n"; + return 1; + } + + Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[2]); + assert(image.get() != 0); + image->readMetadata(); + + if (argv[1][0] == 'e') { + Exiv2::ExifData &exifData = image->exifData(); + if (!exifData.empty()) { + Exiv2::ExifData::const_iterator exifEnd = exifData.end(); + for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != exifEnd; ++i) { + std::cout << i->tagName() << "\t" + << "0x" << std::setw(4) << std::setfill('0') << std::right + << std::hex << i->tag() << std::dec << "\t" + << i->groupName() << "\t" + << i->typeName() << "\t" + << i->count() << "\t" + << "\n"; + } + } + } + + if (argv[1][0] == 'i') { + Exiv2::IptcData &iptcData = image->iptcData(); + if (!iptcData.empty()) { + Exiv2::IptcData::const_iterator iptcEnd = iptcData.end(); + for (Exiv2::IptcData::const_iterator i = iptcData.begin(); i != iptcEnd; ++i) { + std::cout << i->key() << "\n"; + } + } + } + + if (argv[1][0] == 'x') { + Exiv2::XmpData &xmpData = image->xmpData(); + if (!xmpData.empty()) { + Exiv2::XmpData::const_iterator xmpEnd = xmpData.end(); + for (Exiv2::XmpData::const_iterator i = xmpData.begin(); i != xmpEnd; ++i) { + std::cout << i->key() << "\t" + << i->typeName() << "\t" + << i->count() << "\t" + << "\n"; + } + } + } + + return 0; +} catch (Exiv2::AnyError& e) { + std::cout << "Caught Exiv2 exception '" << e << "'\n"; + return -1; +} -- cgit v1.2.3-54-g00ecf