Changed default type for IFDs to asciiString and use it in ExifKey::defaultTypeId().

v0.27.3
Andreas Huggel 15 years ago
parent 8d199d2be5
commit 4c5def39cf

@ -231,7 +231,7 @@ namespace Exiv2 {
TagInfo(0x00e0, "SensorInfo", N_("Sensor Info"), N_("Sensor info"), canonIfdId, makerTags, unsignedShort, -1, printValue),
TagInfo(0x4001, "ColorData", N_("Color Data"), N_("Color data"), canonIfdId, makerTags, unsignedShort, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownCanonMakerNoteTag)", "(UnknownCanonMakerNoteTag)", N_("Unknown CanonMakerNote tag"), canonIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownCanonMakerNoteTag)", "(UnknownCanonMakerNoteTag)", N_("Unknown CanonMakerNote tag"), canonIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* CanonMakerNote::tagList()

@ -273,11 +273,10 @@ namespace Exiv2 {
TagInfo(0x8003, "FrameNumber", N_("Frame Number"),
N_("Frame number"),
fujiIfdId, makerTags, unsignedShort, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownFujiMakerNoteTag)", "(UnknownFujiMakerNoteTag)",
N_("Unknown FujiMakerNote tag"),
fujiIfdId, makerTags, undefined, -1, printValue)
fujiIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* FujiMakerNote::tagList()

@ -184,10 +184,9 @@ namespace Exiv2 {
N_("Camera Settings (for Z1, DImage X, and F100 models)"),
minoltaIfdId, makerTags, undefined, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaMakerNoteTag)", "(UnknownMinoltaMakerNoteTag)",
N_("Unknown Minolta MakerNote tag"),
minoltaIfdId, makerTags, undefined, -1, printValue)
minoltaIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* MinoltaMakerNote::tagList()
@ -637,7 +636,6 @@ namespace Exiv2 {
TagInfo(0x003F, "FlashMetering", N_("Flash Metering"),
N_("Flash metering"),
minoltaCsNewIfdId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFlashMeteringStd)),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaCsStdTag)", "(UnknownMinoltaCsStdTag)",
N_("Unknown Minolta Camera Settings tag"),
@ -817,7 +815,6 @@ namespace Exiv2 {
TagInfo(0x0075, "ZoneMatchingOn", N_("Zone Matching On"),
N_("Zone matching on"),
minoltaCs7DIfdId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)",
N_("Unknown Minolta Camera Settings 7D tag"),

@ -261,7 +261,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownNikon1MnTag)", "(UnknownNikon1MnTag)",
N_("Unknown Nikon1MakerNote tag"),
nikon1IfdId, makerTags, undefined, -1, printValue)
nikon1IfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* Nikon1MakerNote::tagList()
@ -489,7 +489,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownNikon2MnTag)", "(UnknownNikon2MnTag)",
N_("Unknown Nikon2MakerNote tag"),
nikon2IfdId, makerTags, undefined, -1, printValue)
nikon2IfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* Nikon2MakerNote::tagList()
@ -613,7 +613,7 @@ namespace Exiv2 {
TagInfo(0x0e1d, "ICCProfile", "ICC Profile", N_("ICC profile"), nikon3IfdId, makerTags, undefined, -1, printValue),
TagInfo(0x0e1e, "CaptureOutput", "Capture Output", N_("Capture output"), nikon3IfdId, makerTags, undefined, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownNikon3MnTag)", "(UnknownNikon3MnTag)", N_("Unknown Nikon3MakerNote tag"), nikon3IfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownNikon3MnTag)", "(UnknownNikon3MnTag)", N_("Unknown Nikon3MakerNote tag"), nikon3IfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* Nikon3MakerNote::tagList()

@ -465,11 +465,10 @@ namespace Exiv2 {
TagInfo(0x3000, "RawInfo", N_("Raw Info"),
N_("Raw sub-IFD"),
olympusIfdId, makerTags, unsignedLong, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusMakerNoteTag)", "(UnknownOlympusMakerNoteTag)",
N_("Unknown OlympusMakerNote tag"),
olympusIfdId, makerTags, undefined, -1, printValue)
olympusIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagList()
@ -708,7 +707,7 @@ namespace Exiv2 {
TagInfo(0x0903, "LevelGaugeRoll", N_("Level Gauge Roll"), N_("Level gauge roll"), olympusCsIfdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x0904, "LevelGaugePitch", N_("Level Gauge Pitch"), N_("Level gauge pitch"), olympusCsIfdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusCsTag)", "(UnknownOlympusCsTag)", N_("Unknown OlympusCs tag"), olympusCsIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusCsTag)", "(UnknownOlympusCsTag)", N_("Unknown OlympusCs tag"), olympusCsIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListCs()
@ -761,7 +760,7 @@ namespace Exiv2 {
TagInfo(0x1002, "FlashFirmwareVersion", N_("Flash Firmware Version"), N_("Flash firmware version"), olympusEqIfdId, makerTags, unsignedLong, -1, printValue),
TagInfo(0x1003, "FlashSerialNumber", N_("FlashSerialNumber"), N_("FlashSerialNumber"), olympusEqIfdId, makerTags, asciiString, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusEqTag)", "(UnknownOlympusEqTag)", N_("Unknown OlympusEq tag"), olympusEqIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusEqTag)", "(UnknownOlympusEqTag)", N_("Unknown OlympusEq tag"), olympusEqIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListEq()
@ -820,7 +819,7 @@ namespace Exiv2 {
TagInfo(0x010b, "EditStatus", N_("Edit Status"), N_("Edit status"), olympusRdIfdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRdEditStatus)),
TagInfo(0x010c, "Settings", N_("Settings"), N_("Settings"), olympusRdIfdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusRdSettings)),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusRdTag)", "(UnknownOlympusRdTag)", N_("Unknown OlympusRd tag"), olympusRdIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusRdTag)", "(UnknownOlympusRdTag)", N_("Unknown OlympusRd tag"), olympusRdIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListRd()
@ -899,7 +898,7 @@ namespace Exiv2 {
TagInfo(0x0119, "AutoGradation", N_("Auto Gradation"), N_("Auto gradation"), olympusRd2IfdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x0120, "PMNoiseFilter", N_("PM Noise Filter"), N_("Picture mode noise filter"), olympusRd2IfdId, makerTags, unsignedShort, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusRd2Tag)", "(UnknownOlympusRd2Tag)", N_("Unknown OlympusRd2 tag"), olympusRd2IfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusRd2Tag)", "(UnknownOlympusRd2Tag)", N_("Unknown OlympusRd2 tag"), olympusRd2IfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListRd2()
@ -980,7 +979,7 @@ namespace Exiv2 {
TagInfo(0x1200, "FaceDetect", N_("Face Detect"), N_("Face detect"), olympusIpIfdId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x1201, "FaceDetectArea", N_("Face Detect Area"), N_("Face detect area"), olympusIpIfdId, makerTags, signedShort, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusIpTag)", "(UnknownOlympusIpTag)", N_("Unknown OlympusIp tag"), olympusIpIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusIpTag)", "(UnknownOlympusIpTag)", N_("Unknown OlympusIp tag"), olympusIpIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListIp()
@ -1015,7 +1014,7 @@ namespace Exiv2 {
TagInfo(0x1500, "SensorTemperature", N_("Sensor Temperature"), N_("Sensor temperature"), olympusFiIfdId, makerTags, signedShort, -1, printValue),
TagInfo(0x1600, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), olympusFiIfdId, makerTags, unsignedLong, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusFiTag)", "(UnknownOlympusFiTag)", N_("Unknown OlympusFi tag"), olympusFiIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusFiTag)", "(UnknownOlympusFiTag)", N_("Unknown OlympusFi tag"), olympusFiIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListFi()
@ -1026,7 +1025,7 @@ namespace Exiv2 {
const TagInfo OlympusMakerNote::tagInfoFe_[] = {
TagInfo(0x0100, "BodyFirmwareVersion", N_("Body Firmware Version"), N_("Body firmware version"), olympusFe1IfdId, makerTags, asciiString, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusFeTag)", "(UnknownOlympusFeTag)", N_("Unknown OlympusFe tag"), olympusFe1IfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusFeTag)", "(UnknownOlympusFeTag)", N_("Unknown OlympusFe tag"), olympusFe1IfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListFe()
@ -1088,7 +1087,7 @@ namespace Exiv2 {
TagInfo(0x2022, "CMContrast", N_("CM Contrast"), N_("CM contrast"), olympusRiIfdId, makerTags, signedShort, -1, printValue),
TagInfo(0x2023, "CMSharpness", N_("CM Sharpness"), N_("CM sharpness"), olympusRiIfdId, makerTags, signedShort, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusRiTag)", "(UnknownOlympusRiTag)", N_("Unknown OlympusRi tag"), olympusRiIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownOlympusRiTag)", "(UnknownOlympusRiTag)", N_("Unknown OlympusRi tag"), olympusRiIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* OlympusMakerNote::tagListRi()

@ -281,7 +281,7 @@ namespace Exiv2 {
TagInfo(0x8006, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panasonicIfdId, makerTags, unsignedShort, -1, printValue),
TagInfo(0x8010, "BabyAge", N_("Baby Age"), N_("Baby (or pet) age"), panasonicIfdId, makerTags, asciiString, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicIfdId, makerTags, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* PanasonicMakerNote::tagList()
@ -352,7 +352,7 @@ namespace Exiv2 {
TagInfo(0x8769, "ExifTag", N_("Exif IFD Pointer"), N_("A pointer to the Exif IFD"), panaRawIfdId, panaRaw, unsignedLong, -1, printValue),
TagInfo(0x8825, "GPSTag", N_("GPS Info IFD Pointer"), N_("A pointer to the GPS Info IFD"), panaRawIfdId, panaRaw, unsignedLong, -1, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownPanasonicRawTag)", "(UnknownPanasonicRawTag)", N_("Unknown PanasonicRaw tag"), panaRawIfdId, panaRaw, undefined, -1, printValue)
TagInfo(0xffff, "(UnknownPanasonicRawTag)", "(UnknownPanasonicRawTag)", N_("Unknown PanasonicRaw tag"), panaRawIfdId, panaRaw, asciiString, -1, printValue)
};
const TagInfo* PanasonicMakerNote::tagListRaw()

@ -1122,7 +1122,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownPentaxMakerNoteTag)", "(UnknownPentaxMakerNoteTag)",
N_("Unknown PentaxMakerNote tag"),
pentaxIfdId, makerTags, undefined, -1, printValue)
pentaxIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* PentaxMakerNote::tagList()

@ -432,7 +432,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownSony1MakerNoteTag)", "(UnknownSony1MakerNoteTag)",
N_("Unknown Sony1MakerNote tag"),
sony1IfdId, makerTags, undefined, -1, printValue)
sony1IfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* SonyMakerNote::tagList()

@ -78,7 +78,7 @@ namespace {
// class member definitions
namespace Exiv2 {
using namespace Internal; // Todo: remove this!
using namespace Internal;
//! List of all known Exif groups. Important: IFD item must be unique!
extern const GroupInfo groupInfo[] = {
@ -1202,7 +1202,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownIfdTag)", N_("Unknown IFD tag"),
N_("Unknown IFD tag"),
ifd0Id, sectionIdNotSet, undefined, -1, printValue)
ifd0Id, sectionIdNotSet, asciiString, -1, printValue)
};
const TagInfo* ifdTagList()
@ -1611,7 +1611,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownExifTag)", N_("Unknown Exif tag"),
N_("Unknown Exif tag"),
exifIfdId, sectionIdNotSet, undefined, -1, printValue)
exifIfdId, sectionIdNotSet, asciiString, -1, printValue)
};
const TagInfo* exifTagList()
@ -1829,7 +1829,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownGpsTag)", N_("Unknown GPSInfo tag"),
N_("Unknown GPSInfo tag"),
gpsIfdId, gpsTags, undefined, -1, printValue)
gpsIfdId, gpsTags, asciiString, -1, printValue)
};
const TagInfo* gpsTagList()
@ -1861,7 +1861,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownIopTag)", N_("Unknown Exif Interoperability tag"),
N_("Unknown Exif Interoperability tag"),
iopIfdId, iopTags, undefined, -1, printValue)
iopIfdId, iopTags, asciiString, -1, printValue)
};
const TagInfo* iopTagList()
@ -1880,7 +1880,7 @@ namespace Exiv2 {
// End of list marker
TagInfo(0xffff, "(UnknownMnTag)", N_("Unknown Exiv2 Makernote info tag"),
N_("Unknown Exiv2 Makernote info tag"),
mnIfdId, makerTags, undefined, -1, printValue)
mnIfdId, makerTags, asciiString, -1, printValue)
};
const TagInfo* mnTagList()
@ -1973,17 +1973,6 @@ namespace Exiv2 {
return ii->tagList_();
} // tagList
// Todo: Remove this!
const TagInfo* tagInfoOriginal(uint16_t tag, IfdId ifdId)
{
const TagInfo* ti = tagList(ifdId);
if (ti == 0) return 0;
for (int idx = 0; ti[idx].tag_ != 0xffff; ++idx) {
if (ti[idx].tag_ == tag) return &ti[idx];
}
return 0;
} // tagInfo
const TagInfo* tagInfo(uint16_t tag, IfdId ifdId)
{
const TagInfo* ti = tagList(ifdId);
@ -2601,8 +2590,6 @@ namespace Exiv2 {
namespace Exiv2 {
using namespace Internal;
//! @cond IGNORE
GroupInfo::Item::Item(const std::string& item)
{
@ -2882,15 +2869,13 @@ namespace Exiv2 {
TypeId ExifKey::defaultTypeId() const
{
// Todo: This should be changed back once all tag lists have their own default types
// if (p_->tagInfo_ == 0) return unknownTag.typeId_;
if (p_->tagInfo_ == 0 || p_->tagInfo_->tag_ == 0xffff) return unknownTag.typeId_;
if (p_->tagInfo_ == 0) return unknownTag.typeId_;
return p_->tagInfo_->typeId_;
}
uint16_t ExifKey::defaultCount() const
{
if (p_->tagInfo_ == 0 || p_->tagInfo_->tag_ == 0xffff) return unknownTag.count_;
if (p_->tagInfo_ == 0) return unknownTag.count_;
return p_->tagInfo_->count_;
}

@ -311,12 +311,10 @@ namespace Exiv2 {
void taglist(std::ostream& os, IfdId ifdId);
//! Return the tag list for \em ifdId
const TagInfo* tagList(IfdId ifdId);
//! Return the tag info for \em tag and \em ifdId. (Todo: this is the original version, should be removed)
const TagInfo* tagInfoOriginal(uint16_t tag, IfdId ifdId);
//! Return the tag info for \em tag and \em ifdId
const TagInfo* tagInfo(uint16_t tag, IfdId ifdId);
//! Return the tag info for \em tagName and \em ifdId Todo: do we really need this???
const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId);
//! Return the tag info for \em tagName and \em ifdId
const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId); // Todo: do we really need this???
/*!
@brief Return the tag number for one combination of IFD id and tagName.
If the tagName is not known, it expects tag names in the

Loading…
Cancel
Save