print image sizes

This commit is contained in:
HumanDynamo
2010-04-15 11:03:21 +00:00
parent 5e50cae262
commit 82280f633e
5 changed files with 33 additions and 24 deletions
+9 -9
View File
@@ -137,7 +137,7 @@ namespace Exiv2 {
minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageStabilization)),
TagInfo(0x0109, "RawAndJpgRecording", N_("RAW+JPG Recording"),
N_("RAW and JPG files recording"),
minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction),
minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyBoolValue),
TagInfo(0x010a, "ZoneMatching", N_("Zone Matching"),
N_("Zone matching"),
minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaZoneMatching)),
@@ -149,7 +149,7 @@ namespace Exiv2 {
minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyLensID),
TagInfo(0x0113, "ImageStabilization", N_("Image Stabilization"),
N_("Image Stabilization"),
minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction),
minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyBoolValue),
TagInfo(0x0114, "CameraSettings5D", N_("Camera Settings (5D)"),
N_("Camera Settings (for Dynax 5D model)"),
minoltaIfdId, makerTags, undefined, printValue),
@@ -500,7 +500,7 @@ namespace Exiv2 {
minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFNumberStd),
TagInfo(0x000B, "MacroMode", N_("Macro Mode"),
N_("Macro mode"),
minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction),
minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyBoolValue),
TagInfo(0x000C, "DigitalZoom", N_("Digital Zoom"),
N_("Digital zoom"),
minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDigitalZoomStd)),
@@ -536,7 +536,7 @@ namespace Exiv2 {
minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x001A, "FileNumberMemory", N_("File Number Memory"),
N_("File number memory"),
minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction),
minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyBoolValue),
TagInfo(0x001B, "ImageNumber", N_("Image Number"),
N_("Image number"),
minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
@@ -793,17 +793,17 @@ namespace Exiv2 {
minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0060, "NoiseReduction", N_("Noise Reduction"),
N_("Noise reduction"),
minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
// 0x0062 is a dupplicate than 0x005E.
TagInfo(0x0062, "ImageNumber", N_("Image Number"),
N_("Image number"),
minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0071, "ImageStabilization", N_("Image Stabilization"),
N_("Image stabilization"),
minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
TagInfo(0x0075, "ZoneMatchingOn", N_("Zone Matching On"),
N_("Zone matching on"),
minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)",
@@ -1025,10 +1025,10 @@ namespace Exiv2 {
minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x00B0, "NoiseReduction", N_("Noise Reduction"),
N_("Noise reduction"),
minoltaCs5DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
minoltaCs5DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
TagInfo(0x00BD, "ImageStabilization", N_("Image Stabilization"),
N_("Image stabilization"),
minoltaCs5DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
minoltaCs5DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
// From Xavier Raynaud: some notes on missing tags.
// 0x0051 seems to be identical to FNumber (0x0036). An approx. relation between Tag value
+1 -1
View File
@@ -359,7 +359,7 @@ namespace Exiv2 {
{ 1, N_("On") }
};
std::ostream& printMinoltaSonyBoolFunction(std::ostream& os, const Value& value, const ExifData* metadata)
std::ostream& printMinoltaSonyBoolValue(std::ostream& os, const Value& value, const ExifData* metadata)
{
return EXV_PRINT_TAG(minoltaSonyBoolFunction)(os, value, metadata);
}
+1 -1
View File
@@ -47,7 +47,7 @@ namespace Exiv2 {
EXIV2API std::ostream& printMinoltaSonyColorMode(std::ostream&, const Value&, const ExifData*);
//! PrintMinolta/Sony bool function values to readable labels.
EXIV2API std::ostream& printMinoltaSonyBoolFunction(std::ostream&, const Value&, const ExifData*);
EXIV2API std::ostream& printMinoltaSonyBoolValue(std::ostream&, const Value&, const ExifData*);
// TODO: Added shared methods here.
+18 -11
View File
@@ -233,7 +233,7 @@ namespace Exiv2 {
sonyIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(sonyDynamicRangeOptimizer)),
TagInfo(0xb026, "ImageStabilization", N_("Image Stabilization"),
N_("Image stabilization"),
sonyIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction),
sonyIfdId, makerTags, unsignedLong, printMinoltaSonyBoolValue),
TagInfo(0xb027, "LensID", N_("Lens ID"),
N_("Lens identifier"),
sonyIfdId, makerTags, unsignedLong, printMinoltaSonyLensID),
@@ -245,21 +245,19 @@ namespace Exiv2 {
TagInfo(0xb029, "ColorMode", N_("Color Mode"),
N_("Color Mode"),
sonyIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction),
sonyIfdId, makerTags, unsignedLong, printMinoltaSonyBoolValue),
// TODO
TagInfo(0xb02b, "FullImageSize", N_("Full Image Size"),
N_("Full Image Size"),
sonyIfdId, makerTags, unsignedLong, printValue),
sonyIfdId, makerTags, unsignedLong, printImageSize),
// TODO
TagInfo(0xb02c, "PreviewImageSize", N_("Preview Image Size"),
N_("Preview Image Size"),
sonyIfdId, makerTags, unsignedLong, printValue),
sonyIfdId, makerTags, unsignedLong, printImageSize),
TagInfo(0xb040, "Macro", N_("Macro"),
N_("Macro"),
sonyIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
sonyIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
// TODO
TagInfo(0xb041, "ExposureMode", N_("Exposure Mode"),
@@ -278,7 +276,7 @@ namespace Exiv2 {
TagInfo(0xb04e, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"),
N_("Long Exposure Noise Reduction"),
sonyIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction),
sonyIfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue),
// TODO
TagInfo(0xb04f, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"),
@@ -334,9 +332,7 @@ namespace Exiv2 {
return tagInfo_;
}
std::ostream& SonyMakerNote::print0xb000(std::ostream& os,
const Value& value,
const ExifData*)
std::ostream& SonyMakerNote::print0xb000(std::ostream& os, const Value& value, const ExifData*)
{
if (value.count() != 4)
{
@@ -354,4 +350,15 @@ namespace Exiv2 {
}
return os;
}
std::ostream& SonyMakerNote::printImageSize(std::ostream& os, const Value& value, const ExifData*)
{
if (value.count() == 2)
os << value.toString(0) << " x " << value.toString(1);
else
os << "(" << value << ")";
return os;
}
} // namespace Exiv2
+4 -2
View File
@@ -58,8 +58,10 @@ namespace Exiv2 {
//! @name Print functions for Sony %MakerNote tags
//@{
//! Print Sony Model
static std::ostream& print0xb000(std::ostream& os, const Value& value, const ExifData*);
//! Print Sony Camera Model
static std::ostream& print0xb000(std::ostream&, const Value&, const ExifData*);
//! Print Full and Preview Image size
static std::ostream& printImageSize(std::ostream&, const Value&, const ExifData*);
private:
//! Tag information