From 47ebd2c882c0fd6a0e125e024f3b6dc55b608df9 Mon Sep 17 00:00:00 2001 From: HumanDynamo Date: Sun, 25 Apr 2010 20:55:02 +0000 Subject: [PATCH] Sony A100 Makernotes codec is now fully implemented --- src/minoltamn.cpp | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index 9010f1d0..6905e08c 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -1283,6 +1283,27 @@ namespace Exiv2 { { 254, N_("Over Scale") } }; + //! Lookup table to translate Sony A100 camera settings focus mode switch values to readable labels + extern const TagDetails sonyFocusModeSwitchA100[] = { + { 0, N_("AM") }, + { 1, N_("MF") } + }; + + //! Lookup table to translate Sony A100 camera settings flash type switch values to readable labels + extern const TagDetails sonyFlashTypeA100[] = { + { 0, N_("Off") }, + { 1, N_("Built-in") }, + { 2, N_("External") } + }; + + //! Lookup table to translate Sony A100 camera settings battery level switch values to readable labels + extern const TagDetails sonyBatteryLevelA100[] = { + { 3, N_("Very Low") }, + { 4, N_("Low") }, + { 5, N_("Half Full") }, + { 6, N_("Sufficient Power Remaining") } + }; + // Sony A100 Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCsA100_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), @@ -1495,17 +1516,27 @@ namespace Exiv2 { TagInfo(0x0057, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), - + TagInfo(0x0058, "FocusModeSwitch", N_("Focus Mode Switch"), + N_("Focus mode switch"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyFocusModeSwitchA100)), + TagInfo(0x0059, "FlashType", N_("Flash Type"), + N_("Flash type"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyFlashTypeA100)), TagInfo(0x005A, "Rotation", N_("Rotation"), N_("Rotation"), sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyRotation), - + TagInfo(0x004B, "AELock", N_("AE Lock"), + N_("AE lock"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), TagInfo(0x005E, "ColorTemperature", N_("Color Temperature"), N_("Color temperature"), sony1MltCsA100IfdId, makerTags, unsignedLong, printValue), TagInfo(0x005F, "ColorCompensationFilter", N_("Color Compensation Filter"), N_("Color compensation filter: negative is green, positive is magenta"), sony1MltCsA100IfdId, makerTags, unsignedLong, printValue), + TagInfo(0x0060, "BatteryLevel", N_("Battery Level"), + N_("Battery level"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyBatteryLevelA100)), // End of list marker TagInfo(0xffff, "(UnknownSonyCsA100Tag)", "(UnknownSonyCsA100Tag)",