diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index 52a72516..6a3c08f0 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -1187,6 +1187,38 @@ namespace Exiv2 { { 3, N_("Image and Histogram") } }; + //! Lookup table to translate Sony A100 camera settings auto bracket order values to readable labels + extern const TagDetails sonyAutoBracketOrderA100[] = { + { 0, "0-+" }, + { 1, "-0+" } + }; + + //! Lookup table to translate Sony A100 camera settings focus hold button values to readable labels + extern const TagDetails sonyFocusHoldButtonA100[] = { + { 0, N_("Focus Hold") }, + { 1, N_("DOF Preview") } + }; + + //! Lookup table to translate Sony A100 camera settings AEL button values to readable labels + extern const TagDetails sonyAELButtonA100[] = { + { 0, N_("Hold") }, + { 1, N_("Toggle") }, + { 2, N_("Spot Hold") }, + { 3, N_("Spot Toggle") } + }; + + //! Lookup table to translate Sony A100 camera settings control dial set values to readable labels + extern const TagDetails sonyControlDialSetA100[] = { + { 0, N_("Shutter Speed") }, + { 1, N_("Aperture") } + }; + + //! Lookup table to translate Sony A100 camera settings exposure compensation mode values to readable labels + extern const TagDetails sonyExposureCompensationModeA100[] = { + { 0, N_("Ambient and Flash") }, + { 1, N_("Ambient Only") } + }; + // Sony A100 Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCsA100_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), @@ -1332,10 +1364,34 @@ namespace Exiv2 { sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), TagInfo(0x0046, "EyeStartAF", N_("Eye Start AF"), N_("Eye start AF"), - sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolInverseValue), TagInfo(0x0047, "RedEyeReduction", N_("Red Eye Reduction"), N_("Red eye reduction"), sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), + TagInfo(0x0048, "AutoBracketOrder", N_("Auto Bracket Order"), + N_("Auto bracket order"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyAutoBracketOrderA100)), + TagInfo(0x0049, "FocusHoldButton", N_("Focus Hold Button"), + N_("Focus hold button"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyFocusHoldButtonA100)), + TagInfo(0x004A, "AELButton", N_("AEL Button"), + N_("AEL button"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyAELButtonA100)), + TagInfo(0x004B, "ControlDialSet", N_("Control Dial Set"), + N_("Control dial set"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyControlDialSetA100)), + TagInfo(0x004C, "ExposureCompensationMode", N_("Exposure Compensation Mode"), + N_("Exposure compensation mode"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyExposureCompensationModeA100)), + TagInfo(0x004D, "AFAssist", N_("AF Assist"), + N_("AF assist"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolInverseValue), + TagInfo(0x004E, "CardShutterLock", N_("Card Shutter Lock"), + N_("Card shutter lock"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolInverseValue), + TagInfo(0x004F, "LensShutterLock", N_("Lens Shutter Lock"), + N_("Lens shutter lock"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolInverseValue), /* TagInfo(0x0050, "Rotation", N_("Rotation"), diff --git a/src/minoltasonyvalues.cpp b/src/minoltasonyvalues.cpp index 080748f6..cb38c5dc 100644 --- a/src/minoltasonyvalues.cpp +++ b/src/minoltasonyvalues.cpp @@ -366,6 +366,19 @@ namespace Exiv2 { // ---------------------------------------------------------------------------------------------------- + //! Lookup table to translate Minolta/Sony bool inverse function values to readable labels + extern const TagDetails minoltaSonyBoolInverseFunction[] = { + { 0, N_("On") }, + { 1, N_("Off") } + }; + + std::ostream& printMinoltaSonyBoolInverseValue(std::ostream& os, const Value& value, const ExifData* metadata) + { + return EXV_PRINT_TAG(minoltaSonyBoolInverseFunction)(os, value, metadata); + } + + // ---------------------------------------------------------------------------------------------------- + //! Lookup table to translate Sony camera settings focus mode values to readable labels extern const TagDetails minoltaSonyAFAreaMode[] = { { 0, N_("Wide") }, diff --git a/src/minoltasonyvalues.hpp b/src/minoltasonyvalues.hpp index addf7c63..8152d93f 100644 --- a/src/minoltasonyvalues.hpp +++ b/src/minoltasonyvalues.hpp @@ -49,6 +49,9 @@ namespace Exiv2 { //! Print Minolta/Sony bool function values to readable labels. EXIV2API std::ostream& printMinoltaSonyBoolValue(std::ostream&, const Value&, const ExifData*); + //! Print Minolta/Sony bool inverse function values to readable labels. + EXIV2API std::ostream& printMinoltaSonyBoolInverseValue(std::ostream&, const Value&, const ExifData*); + //! Print Minolta/Sony AF Area Mode values to readable labels. EXIV2API std::ostream& printMinoltaSonyAFAreaMode(std::ostream&, const Value&, const ExifData*); diff --git a/src/sonymn.cpp b/src/sonymn.cpp index 2ddc327b..184714b3 100644 --- a/src/sonymn.cpp +++ b/src/sonymn.cpp @@ -442,12 +442,6 @@ namespace Exiv2 { { 1, N_("Off") } }; - //! Lookup table to translate Sony AF with shutter values to readable labels - extern const TagDetails sonyAFWithShutter[] = { - { 0, N_("On") }, - { 1, N_("Off") } - }; - //! Lookup table to translate Sony camera settings image style values to readable labels extern const TagDetails sonyImageStyle[] = { { 1, N_("Standard") }, @@ -562,7 +556,7 @@ namespace Exiv2 { // NOTE: A700 only TagInfo(0x0042, "AFWithShutter", N_("AF With Shutter"), N_("AF With Shutter"), - sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyAFWithShutter)), + sony1CsIfdId, makerTags, unsignedShort, printMinoltaSonyBoolInverseValue), // NOTE: A700 only TagInfo(0x0043, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"), N_("Long Exposure Noise Reduction"),