diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index d866de18..ed74d105 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -181,7 +181,7 @@ namespace Exiv2 { { 3, N_("Manual") } }; - //! Lookup table to translate Minolta Std camera settings exposure mode values to readable labels + //! Lookup table to translate Minolta Std camera settings flash mode values to readable labels extern const TagDetails minoltaFlashModeStd[] = { { 0, N_("Fill flash") }, { 1, N_("Red-eye reduction") }, @@ -1079,6 +1079,21 @@ namespace Exiv2 { { 6, "DMF" } }; + //! Lookup table to translate Sony A100 camera settings flash mode values to readable labels + extern const TagDetails sonyFlashModeA100[] = { + { 0, N_("Auto") }, + { 2, N_("Rear flash sync") }, + { 3, N_("Wireless") }, + { 4, N_("Fill flash") }, + }; + + //! Lookup table to translate Sony A100 camera settings metering mode values to readable labels + extern const TagDetails sonyMeteringModeA100[] = { + { 0, N_("Multi-segment") }, + { 1, N_("Center weighted average") }, + { 2, N_("Spot") } + }; + // Sony A100 Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCsA100_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), @@ -1107,10 +1122,31 @@ namespace Exiv2 { sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyDriveMode2A100)), TagInfo(0x000B, "WhiteBalance", N_("White Balance"), N_("White balance"), - minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaWhiteBalance5D)), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaWhiteBalance5D)), TagInfo(0x000C, "FocusMode", N_("Focus Mode"), N_("Focus mode"), sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyFocusModeA100)), + TagInfo(0x000D, "LocalAFAreaPoint", N_("Local AF Area Point"), + N_("Local AF Area Point"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyLocalAFAreaPoint), + TagInfo(0x000E, "AFAreaMode", N_("AF Area Mode"), + N_("AF Area Mode"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyAFAreaMode), + TagInfo(0x000F, "FlashMode", N_("FlashMode"), + N_("FlashMode"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyFlashModeA100)), + TagInfo(0x0010, "FlashExposureCompSetting", N_("Flash Exposure Comp Setting"), + N_("Flash exposure compensation setting"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printValue), + TagInfo(0x0012, "MeteringMode", N_("Metering Mode"), + N_("Metering mode"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyMeteringModeA100)), + TagInfo(0x0013, "ISOSetting", N_("ISO Setting"), + N_("ISO setting"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printValue), + TagInfo(0x0015, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), + N_("Dynamic range optimizer mode"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyDynamicRangeOptimizerMode), /* TagInfo(0x0031, "Contrast", N_("Contrast"), diff --git a/src/minoltasonyvalues.cpp b/src/minoltasonyvalues.cpp index ad010324..47089d43 100644 --- a/src/minoltasonyvalues.cpp +++ b/src/minoltasonyvalues.cpp @@ -400,4 +400,19 @@ namespace Exiv2 { return EXV_PRINT_TAG(minoltaSonyLocalAFAreaPoint)(os, value, metadata); } + // ---------------------------------------------------------------------------------------------------- + + //! Lookup table to translate Sony camera settings dynamic range optimizer mode values to readable labels + extern const TagDetails minoltaSonyDynamicRangeOptimizerMode[] = { + { 0, N_("Off") }, + { 1, N_("Standard") }, + { 2, N_("Advanced Auto") }, + { 3, N_("Advanced Level") }, + { 4097, N_("Auto") } + }; + + std::ostream& printMinoltaSonyDynamicRangeOptimizerMode(std::ostream& os, const Value& value, const ExifData* metadata) + { + return EXV_PRINT_TAG(minoltaSonyDynamicRangeOptimizerMode)(os, value, metadata); + } } // namespace Exiv2 diff --git a/src/minoltasonyvalues.hpp b/src/minoltasonyvalues.hpp index 6d29e52c..1eb6e00d 100644 --- a/src/minoltasonyvalues.hpp +++ b/src/minoltasonyvalues.hpp @@ -55,6 +55,9 @@ namespace Exiv2 { //! Print Minolta/Sony Local AF Area Point values to readable labels. EXIV2API std::ostream& printMinoltaSonyLocalAFAreaPoint(std::ostream&, const Value&, const ExifData*); + //! Print Minolta/Sony dynamic range optimizer mode values to readable labels. + EXIV2API std::ostream& printMinoltaSonyDynamicRangeOptimizerMode(std::ostream&, const Value&, const ExifData*); + // TODO: Added shared methods here. } // namespace Exiv2 diff --git a/src/sonymn.cpp b/src/sonymn.cpp index dd164d74..f77b9320 100644 --- a/src/sonymn.cpp +++ b/src/sonymn.cpp @@ -407,18 +407,9 @@ namespace Exiv2 { //! Lookup table to translate Sony camera settings metering mode values to readable labels extern const TagDetails sonyMeteringMode[] = { - { 1, N_("Multi-segment") }, - { 2, N_("Center weighted") }, - { 4, N_("Spot") } - }; - - //! Lookup table to translate Sony camera settings dynamic range optimizer mode values to readable labels - extern const TagDetails sonyDynamicRangeOptimizerMode[] = { - { 0, N_("Off") }, - { 1, N_("Standard") }, - { 2, N_("Advanced Auto") }, - { 3, N_("Advanced Level") }, - { 4097, N_("Auto") } + { 1, N_("Multi-segment") }, + { 2, N_("Center weighted average") }, + { 4, N_("Spot") } }; //! Lookup table to translate Sony camera settings creative style values to readable labels @@ -552,7 +543,7 @@ namespace Exiv2 { sony1CsIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0024, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), N_("Dynamic Range Optimizer Mode"), - sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyDynamicRangeOptimizerMode)), + sony1CsIfdId, makerTags, unsignedShort, printMinoltaSonyDynamicRangeOptimizerMode), TagInfo(0x0025, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"), N_("Dynamic Range Optimizer Level"), sony1CsIfdId, makerTags, unsignedShort, printValue), @@ -657,7 +648,7 @@ namespace Exiv2 { sony1Cs2IfdId, makerTags, unsignedShort, printValue), TagInfo(0x0022, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), N_("Dynamic Range Optimizer Mode"), - sony1Cs2IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyDynamicRangeOptimizerMode)), + sony1Cs2IfdId, makerTags, unsignedShort, printMinoltaSonyDynamicRangeOptimizerMode), TagInfo(0x0023, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"), N_("Dynamic Range Optimizer Level"), sony1Cs2IfdId, makerTags, unsignedShort, printValue),