diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index 6905e08c..c27ad423 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -120,6 +120,9 @@ namespace Exiv2 { TagInfo(0x0089, "ThumbnailLength", N_("Thumbnail Length"), N_("Size of the thumbnail"), minoltaIfdId, makerTags, unsignedLong, printValue), + TagInfo(0x0100, "SceneMode", N_("Scene Mode"), + N_("Scene Mode"), + minoltaIfdId, makerTags, unsignedLong, printMinoltaSonySceneMode), // TODO: for A100, use Sony table from minoltasonyvallue.cpp::printMinoltaSonyColorMode(). TagInfo(0x0101, "ColorMode", N_("Color Mode"), diff --git a/src/minoltasonyvalues.cpp b/src/minoltasonyvalues.cpp index b9664abe..62f5dc73 100644 --- a/src/minoltasonyvalues.cpp +++ b/src/minoltasonyvalues.cpp @@ -473,4 +473,28 @@ namespace Exiv2 { { return EXV_PRINT_TAG(minoltaSonyRotation)(os, value, metadata); } + + // ---------------------------------------------------------------------------------------------------- + + //! Lookup table to translate Minolta/Sony scene mode values to readable labels + extern const TagDetails minoltaSonySceneMode[] = { + { 0, N_("Standard") }, + { 1, N_("Portrait") }, + { 2, N_("Text") }, + { 3, N_("Night Scene") }, + { 4, N_("Sunset") }, + { 5, N_("Sports") }, + { 6, N_("Landscape") }, + { 7, N_("Night Portrait") }, + { 8, N_("Macro") }, + { 9, N_("Super Macro") }, + { 16, N_("Auto") }, + { 17, N_("Night View/Portrait") } + }; + + + std::ostream& printMinoltaSonySceneMode(std::ostream& os, const Value& value, const ExifData* metadata) + { + return EXV_PRINT_TAG(minoltaSonySceneMode)(os, value, metadata); + } } // namespace Exiv2 diff --git a/src/minoltasonyvalues.hpp b/src/minoltasonyvalues.hpp index 598cda72..9d641aac 100644 --- a/src/minoltasonyvalues.hpp +++ b/src/minoltasonyvalues.hpp @@ -70,6 +70,9 @@ namespace Exiv2 { //! Print Minolta/Sony Rotation values to readable labels. EXIV2API std::ostream& printMinoltaSonyRotation(std::ostream&, const Value&, const ExifData*); + //! Print Minolta/Sony Scene Mode values to readable labels. + EXIV2API std::ostream& printMinoltaSonySceneMode(std::ostream&, const Value&, const ExifData*); + // TODO: Added shared methods here. } // namespace Exiv2 diff --git a/src/sonymn.cpp b/src/sonymn.cpp index 6e4fa13b..7b1d81cb 100644 --- a/src/sonymn.cpp +++ b/src/sonymn.cpp @@ -108,22 +108,6 @@ namespace Exiv2 { { 275, "DSLR-A450" } }; - //! Lookup table to translate Sony scene mode values to readable labels - extern const TagDetails sonySceneMode[] = { - { 0, N_("Standard") }, - { 1, N_("Portrait") }, - { 2, N_("Text") }, - { 3, N_("Night Scene") }, - { 4, N_("Sunset") }, - { 5, N_("Sports") }, - { 6, N_("Landscape") }, - { 7, N_("Night Portrait") }, - { 8, N_("Macro") }, - { 9, N_("Super Macro") }, - { 16, N_("Auto") }, - { 17, N_("Night View/Portrait") } - }; - //! Lookup table to translate Sony zone matching values to readable labels extern const TagDetails sonyZoneMatching[] = { { 0, N_("ISO Setting Used") }, @@ -315,7 +299,7 @@ namespace Exiv2 { sony1IfdId, makerTags, unsignedLong, printValue), TagInfo(0xb023, "SceneMode", N_("Scene Mode"), N_("Scene Mode"), - sony1IfdId, makerTags, unsignedLong, EXV_PRINT_TAG(sonySceneMode)), + sony1IfdId, makerTags, unsignedLong, printMinoltaSonySceneMode), TagInfo(0xb024, "ZoneMatching", N_("Zone Matching"), N_("Zone Matching"), sony1IfdId, makerTags, unsignedLong, EXV_PRINT_TAG(sonyZoneMatching)),