Added support for Nikon3 AF Fine Tune array. (Frans van den Bergh)

v0.27.3
Andreas Huggel 14 years ago
parent 9fa8c893b1
commit 64511c266e

@ -603,6 +603,7 @@ namespace Exiv2 {
TagInfo(0x00b3, "ToningEffect", "Toning Effect", N_("Toning effect"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00b3, "ToningEffect", "Toning Effect", N_("Toning effect"), nikon3Id, makerTags, asciiString, -1, printValue),
TagInfo(0x00b7, "AFInfo2", "AF Info 2", N_("AF info 2"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x00b7, "AFInfo2", "AF Info 2", N_("AF info 2"), nikon3Id, makerTags, undefined, -1, printValue),
TagInfo(0x00b8, "FileInfo", "File Info", N_("File info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x00b8, "FileInfo", "File Info", N_("File info"), nikon3Id, makerTags, undefined, -1, printValue),
TagInfo(0x00b9, "AFTune", "AF Tune", N_("AF tune"), nikon3Id, makerTags, undefined, -1, printValue),
TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), nikon3Id, makerTags, undefined, -1, printValue),
// TODO: Add Capture Data decoding implementation. // TODO: Add Capture Data decoding implementation.
TagInfo(0x0e01, "CaptureData", N_("Capture Data"), N_("Capture data"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e01, "CaptureData", N_("Capture Data"), N_("Capture data"), nikon3Id, makerTags, undefined, -1, printValue),
@ -708,6 +709,27 @@ namespace Exiv2 {
{ {
return tagInfoPc_; return tagInfoPc_;
} }
//! OnOff
extern const TagDetails aftOnOff[] = {
{ 0, N_("Off") },
{ 1, N_("On") },
{ 2, N_("On") }
};
// Nikon3 AF Fine Tune
const TagInfo Nikon3MakerNote::tagInfoAFT_[] = {
TagInfo(0, "AFFineTune", N_("AF Fine Tune"), N_("AF fine tune"), nikonAFTId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(aftOnOff)),
TagInfo(1, "AFFineTuneIndex", N_("AF Fine Tune Index"), N_("AF fine tune index"), nikonAFTId, makerTags, unsignedByte, 1, printValue),
TagInfo(2, "AFFineTuneAdj", N_("AF Fine Tune Adjustment"), N_("AF fine tune adjustment"), nikonAFTId, makerTags, signedByte, 1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownNikonAFTTag)", "(UnknownNikonAFTTag)", N_("Unknown Nikon AF Fine Tune Tag"), nikonAFTId, makerTags, unsignedByte, 1, printValue)
};
const TagInfo* Nikon3MakerNote::tagListAFT()
{
return tagInfoAFT_;
}
// Nikon3 World Time Tag Info // Nikon3 World Time Tag Info
const TagInfo Nikon3MakerNote::tagInfoWt_[] = { const TagInfo Nikon3MakerNote::tagInfoWt_[] = {

@ -125,6 +125,8 @@ namespace Exiv2 {
static const TagInfo* tagListAf(); static const TagInfo* tagListAf();
//! Return read-only list of built-in Auto Focus 2 tags //! Return read-only list of built-in Auto Focus 2 tags
static const TagInfo* tagListAf2(); static const TagInfo* tagListAf2();
//! Return read-only list of built-in AF Fine Tune tags
static const TagInfo* tagListAFT();
//! Return read-only list of built-in File Info tags //! Return read-only list of built-in File Info tags
static const TagInfo* tagListFi(); static const TagInfo* tagListFi();
//! Return read-only list of built-in Multi Exposure tags //! Return read-only list of built-in Multi Exposure tags
@ -234,6 +236,8 @@ namespace Exiv2 {
static const TagInfo tagInfoAf_[]; static const TagInfo tagInfoAf_[];
//! Auto Focus tag 2 information //! Auto Focus tag 2 information
static const TagInfo tagInfoAf2_[]; static const TagInfo tagInfoAf2_[];
//! AF Fine Tune tag information
static const TagInfo tagInfoAFT_[];
//! File Info tag information //! File Info tag information
static const TagInfo tagInfoFi_[]; static const TagInfo tagInfoFi_[];
//! Multi Exposure tag information //! Multi Exposure tag information

@ -120,6 +120,7 @@ namespace Exiv2 {
{ nikonIiId, "Makernote", "NikonIi", Nikon3MakerNote::tagListIi }, { nikonIiId, "Makernote", "NikonIi", Nikon3MakerNote::tagListIi },
{ nikonAfId, "Makernote", "NikonAf", Nikon3MakerNote::tagListAf }, { nikonAfId, "Makernote", "NikonAf", Nikon3MakerNote::tagListAf },
{ nikonAf2Id, "Makernote", "NikonAf2", Nikon3MakerNote::tagListAf2 }, { nikonAf2Id, "Makernote", "NikonAf2", Nikon3MakerNote::tagListAf2 },
{ nikonAFTId, "Makernote", "NikonAFT", Nikon3MakerNote::tagListAFT },
{ nikonFiId, "Makernote", "NikonFi", Nikon3MakerNote::tagListFi }, { nikonFiId, "Makernote", "NikonFi", Nikon3MakerNote::tagListFi },
{ nikonMeId, "Makernote", "NikonMe", Nikon3MakerNote::tagListMe }, { nikonMeId, "Makernote", "NikonMe", Nikon3MakerNote::tagListMe },
{ nikonFl1Id, "Makernote", "NikonFl1", Nikon3MakerNote::tagListFl1 }, { nikonFl1Id, "Makernote", "NikonFl1", Nikon3MakerNote::tagListFl1 },

@ -98,6 +98,7 @@ namespace Exiv2 {
nikonIiId, nikonIiId,
nikonAfId, nikonAfId,
nikonAf2Id, nikonAf2Id,
nikonAFTId,
nikonFiId, nikonFiId,
nikonMeId, nikonMeId,
nikonFl1Id, nikonFl1Id,

@ -536,6 +536,24 @@ namespace Exiv2 {
{ 26, ttUnsignedShort, 1 }, // AFAreaHeight { 26, ttUnsignedShort, 1 }, // AFAreaHeight
{ 28, ttUnsignedShort, 1 }, // ContrastDetectAFInFocus { 28, ttUnsignedShort, 1 }, // ContrastDetectAFInFocus
}; };
//! Nikon AF Fine Tune binary array - configuration
extern const ArrayCfg nikonAFTCfg = {
nikonAFTId, // Group for the elements
littleEndian, // Byte order
ttUndefined, // Type for array entry
notEncrypted, // Not encrypted
false, // No size element
true, // Write all tags
true, // Concatenate gaps
{ 0, ttUnsignedByte, 1 }
};
//! Nikon AF Fine Tune binary array - definition
extern const ArrayDef nikonAFTDef[] = {
{ 0, ttUnsignedByte, 1 }, // AF Fine Tune on/off
{ 1, ttUnsignedByte, 1 }, // AF Fine Tune index
{ 2, ttUnsignedByte, 1 } // AF Fine Tune value
};
//! Nikon File Info binary array - configuration //! Nikon File Info binary array - configuration
extern const ArrayCfg nikonFiCfg = { extern const ArrayCfg nikonFiCfg = {
@ -1183,6 +1201,7 @@ namespace Exiv2 {
{ Tag::root, nikonMeId, nikon3Id, 0x00b0 }, { Tag::root, nikonMeId, nikon3Id, 0x00b0 },
{ Tag::root, nikonAf2Id, nikon3Id, 0x00b7 }, { Tag::root, nikonAf2Id, nikon3Id, 0x00b7 },
{ Tag::root, nikonFiId, nikon3Id, 0x00b8 }, { Tag::root, nikonFiId, nikon3Id, 0x00b8 },
{ Tag::root, nikonAFTId, nikon3Id, 0x00b9 },
{ Tag::root, nikonFl1Id, nikon3Id, 0x00a8 }, { Tag::root, nikonFl1Id, nikon3Id, 0x00a8 },
{ Tag::root, nikonFl2Id, nikon3Id, 0x00a8 }, { Tag::root, nikonFl2Id, nikon3Id, 0x00a8 },
{ Tag::root, nikonFl3Id, nikon3Id, 0x00a8 }, { Tag::root, nikonFl3Id, nikon3Id, 0x00a8 },
@ -1516,6 +1535,7 @@ namespace Exiv2 {
{ 0x00b0, nikon3Id, EXV_BINARY_ARRAY(nikonMeCfg, nikonMeDef) }, { 0x00b0, nikon3Id, EXV_BINARY_ARRAY(nikonMeCfg, nikonMeDef) },
{ 0x00b7, nikon3Id, EXV_BINARY_ARRAY(nikonAf2Cfg, nikonAf2Def)}, { 0x00b7, nikon3Id, EXV_BINARY_ARRAY(nikonAf2Cfg, nikonAf2Def)},
{ 0x00b8, nikon3Id, EXV_BINARY_ARRAY(nikonFiCfg, nikonFiDef) }, { 0x00b8, nikon3Id, EXV_BINARY_ARRAY(nikonFiCfg, nikonFiDef) },
{ 0x00b9, nikon3Id, EXV_BINARY_ARRAY(nikonAFTCfg, nikonAFTDef) },
{ Tag::all, nikon3Id, newTiffEntry }, { Tag::all, nikon3Id, newTiffEntry },
// Nikon3 makernote preview subdir // Nikon3 makernote preview subdir
@ -1542,6 +1562,9 @@ namespace Exiv2 {
// Nikon3 auto focus 2 // Nikon3 auto focus 2
{ Tag::all, nikonAf2Id, newTiffBinaryElement }, { Tag::all, nikonAf2Id, newTiffBinaryElement },
// Nikon3 AF Fine Tune
{ Tag::all, nikonAFTId, newTiffBinaryElement },
// Nikon3 file info // Nikon3 file info
{ Tag::all, nikonFiId, newTiffBinaryElement }, { Tag::all, nikonFiId, newTiffBinaryElement },

Loading…
Cancel
Save