From 23bd7bb0c698090b794776a80b980c8ca08ea2b6 Mon Sep 17 00:00:00 2001 From: HumanDynamo Date: Thu, 15 Apr 2010 10:03:34 +0000 Subject: [PATCH] factorize more bool functions --- src/minoltamn.cpp | 58 ++++++++++----------------------------- src/minoltasonyvalues.cpp | 8 +++--- src/minoltasonyvalues.hpp | 4 +-- src/sonymn.cpp | 12 ++------ 4 files changed, 23 insertions(+), 59 deletions(-) diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index a91cffe6..7771d654 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -135,6 +135,9 @@ namespace Exiv2 { TagInfo(0x0107, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageStabilization)), + TagInfo(0x0109, "RawAndJpgRecording", N_("RAW+JPG Recording"), + N_("RAW and JPG files recording"), + minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction), TagInfo(0x010a, "ZoneMatching", N_("Zone Matching"), N_("Zone matching"), minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaZoneMatching)), @@ -144,6 +147,9 @@ namespace Exiv2 { TagInfo(0x010c, "LensID", N_("Lens ID"), N_("Lens identifier"), minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyLensID), + TagInfo(0x0113, "ImageStabilization", N_("Image Stabilization"), + N_("Image Stabilization"), + minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction), TagInfo(0x0114, "CameraSettings5D", N_("Camera Settings (5D)"), N_("Camera Settings (for Dynax 5D model)"), minoltaIfdId, makerTags, undefined, printValue), @@ -268,12 +274,6 @@ namespace Exiv2 { { 1, N_("Fired") } }; - //! Lookup table to translate Minolta Std camera settings file number memory values to readable labels - extern const TagDetails minoltaFileNumberMemoryStd[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - //! Lookup table to translate Minolta Std camera settings sharpness values to readable labels extern const TagDetails minoltaSharpnessStd[] = { { 0, N_("Hard") }, @@ -500,7 +500,7 @@ namespace Exiv2 { minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFNumberStd), TagInfo(0x000B, "MacroMode", N_("Macro Mode"), N_("Macro mode"), - minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyMacroMode), + minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction), 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, EXV_PRINT_TAG(minoltaFileNumberMemoryStd)), + minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction), TagInfo(0x001B, "ImageNumber", N_("Image Number"), N_("Image number"), minoltaCsNewIfdId, makerTags, unsignedLong, printValue), @@ -723,24 +723,6 @@ namespace Exiv2 { { 82, N_("Rotate 270 CW") } }; - //! Lookup table to translate Minolta Dynax 7D camera settings noise reduction values to readable labels - extern const TagDetails minoltaNoiseReduction7D[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - - //! Lookup table to translate Minolta Dynax 7D camera settings image stabilization values to readable labels - extern const TagDetails minoltaImageStabilization7D[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - - //! Lookup table to translate Minolta Dynax 7D camera settings zone matching on values to readable labels - extern const TagDetails minoltaZoneMatchingOn7D[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - // Minolta Dynax 7D Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCs7D_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), @@ -811,17 +793,17 @@ namespace Exiv2 { minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0060, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), - minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaNoiseReduction7D)), + minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction), // 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, EXV_PRINT_TAG(minoltaImageStabilization7D)), + minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction), TagInfo(0x0075, "ZoneMatchingOn", N_("Zone Matching On"), N_("Zone matching on"), - minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaZoneMatchingOn7D)), + minoltaCs7DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction), // End of list marker TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)", @@ -908,18 +890,6 @@ namespace Exiv2 { { 82, N_("Rotate 270 CW") } }; - //! Lookup table to translate Minolta Dynax 5D camera settings noise reduction values to readable labels - extern const TagDetails minoltaNoiseReduction5D[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - - //! Lookup table to translate Minolta Dynax 5D camera settings image stabilization values to readable labels - extern const TagDetails minoltaImageStabilization5D[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - //! Lookup table to translate Minolta Dynax 5D camera settings focus position values to readable labels extern const TagDetails minoltaFocusPosition5D[] = { { 0, N_("Wide") }, @@ -1055,10 +1025,10 @@ namespace Exiv2 { minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x00B0, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), - minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaNoiseReduction5D)), + minoltaCs5DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction), TagInfo(0x00BD, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), - minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageStabilization5D)), + minoltaCs5DIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction), // From Xavier Raynaud: some notes on missing tags. // 0x0051 seems to be identical to FNumber (0x0036). An approx. relation between Tag value @@ -1078,5 +1048,5 @@ namespace Exiv2 { } // TODO : Add camera settings tags info "New2"... - + // TODO : Add camera settings tags info "A100"... } // namespace Exiv2 diff --git a/src/minoltasonyvalues.cpp b/src/minoltasonyvalues.cpp index e65af7fc..442e9744 100644 --- a/src/minoltasonyvalues.cpp +++ b/src/minoltasonyvalues.cpp @@ -353,14 +353,14 @@ namespace Exiv2 { // ---------------------------------------------------------------------------------------------------- - //! Lookup table to translate Minolta/Sony macro mode values to readable labels - extern const TagDetails minoltaSonyMacroMode[] = { + //! Lookup table to translate Minolta/Sony bool function values to readable labels + extern const TagDetails minoltaSonyBoolFunction[] = { { 0, N_("Off") }, { 1, N_("On") } }; - std::ostream& printMinoltaSonyMacroMode(std::ostream& os, const Value& value, const ExifData* metadata) + std::ostream& printMinoltaSonyBoolFunction(std::ostream& os, const Value& value, const ExifData* metadata) { - return EXV_PRINT_TAG(minoltaSonyMacroMode)(os, value, metadata); + return EXV_PRINT_TAG(minoltaSonyBoolFunction)(os, value, metadata); } } // namespace Exiv2 diff --git a/src/minoltasonyvalues.hpp b/src/minoltasonyvalues.hpp index fbf609b5..c9d8087c 100644 --- a/src/minoltasonyvalues.hpp +++ b/src/minoltasonyvalues.hpp @@ -46,8 +46,8 @@ namespace Exiv2 { //! PrintMinolta/Sony Color Mode values to readable labels. EXIV2API std::ostream& printMinoltaSonyColorMode(std::ostream&, const Value&, const ExifData*); - //! PrintMinolta/Sony Macro Mode values to readable labels. - EXIV2API std::ostream& printMinoltaSonyMacroMode(std::ostream&, const Value&, const ExifData*); + //! PrintMinolta/Sony bool function values to readable labels. + EXIV2API std::ostream& printMinoltaSonyBoolFunction(std::ostream&, const Value&, const ExifData*); // TODO: Added shared methods here. diff --git a/src/sonymn.cpp b/src/sonymn.cpp index d2c5054a..7dfea9a2 100644 --- a/src/sonymn.cpp +++ b/src/sonymn.cpp @@ -144,12 +144,6 @@ namespace Exiv2 { { 12, N_("Advanced Lv5") } }; - //! Lookup table to translate Sony image stabilization values - extern const TagDetails sonyImageStabilization[] = { - { 0, N_("Off") }, - { 1, N_("On") } - }; - // Sony MakerNote Tag Info const TagInfo SonyMakerNote::tagInfo_[] = { @@ -239,7 +233,7 @@ namespace Exiv2 { sonyIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(sonyDynamicRangeOptimizer)), TagInfo(0xb026, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), - sonyIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(sonyImageStabilization)), + sonyIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction), TagInfo(0xb027, "LensID", N_("Lens ID"), N_("Lens identifier"), sonyIfdId, makerTags, unsignedLong, printMinoltaSonyLensID), @@ -251,7 +245,7 @@ namespace Exiv2 { TagInfo(0xb029, "ColorMode", N_("Color Mode"), N_("Color Mode"), - sonyIfdId, makerTags, unsignedLong, printMinoltaSonyColorMode), + sonyIfdId, makerTags, unsignedLong, printMinoltaSonyBoolFunction), // TODO TagInfo(0xb02b, "FullImageSize", N_("Full Image Size"), @@ -265,7 +259,7 @@ namespace Exiv2 { TagInfo(0xb040, "Macro", N_("Macro"), N_("Macro"), - sonyIfdId, makerTags, unsignedShort, printMinoltaSonyMacroMode), + sonyIfdId, makerTags, unsignedShort, printMinoltaSonyBoolFunction), // TODO TagInfo(0xb041, "ExposureMode", N_("Exposure Mode"),