diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index 6c998aa2..0df1c9a3 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -153,15 +153,15 @@ namespace Exiv2 { TagInfo(0x0081, "Thumbnail", "Thumbnail", "Jpeg thumbnail 640x480 pixels", minoltaIfdId, makerTags, undefined, printValue), TagInfo(0x0088, "ThumbnailOffset", "Thumbnail Offset", "Offset of the thumbnail", minoltaIfdId, makerTags, unsignedLong, printValue), TagInfo(0x0089, "ThumbnailLength", "Thumbnail Length", "Size of the thumbnail", minoltaIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x0101, "ColorMode", "Color Mode", "Color mode", minoltaIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0102, "Quality", "Image Quality", "Image quality", minoltaIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x0101, "ColorMode", "Color Mode", "Color mode", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaColorMode)), + TagInfo(0x0102, "Quality", "Image Quality", "Image quality", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageQuality)), // TODO: Tag 0x0103 : quality or image size (see ExifTool doc). - TagInfo(0x0107, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x010a, "ZoneMatching", "Zone Matching", "Zone matching", minoltaIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x0107, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageStabilization)), + TagInfo(0x010a, "ZoneMatching", "Zone Matching", "Zone matching", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaZoneMatching)), TagInfo(0x010b, "ColorTemperature", "Color Temperature", "Color temperature", minoltaIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x010c, "LensID", "Lens ID", "Lens ID", minoltaIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x010c, "LensID", "Lens ID", "Lens ID", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaLensID)), TagInfo(0x0114, "CameraSettings5D", "Camera Settings (5D)", "Camera Settings (for Dynax 5D model)", minoltaIfdId, makerTags, undefined, printValue), TagInfo(0x0e00, "PIM_IFD", "PIM IFD", "PIM information", minoltaIfdId, makerTags, undefined, printValue), TagInfo(0x0f00, "CameraSettingsZ1", "Camera Settings (Z1)", "Camera Settings (for Z1, DImage X, and F100 models)", minoltaIfdId, makerTags, undefined, printValue), @@ -479,56 +479,56 @@ namespace Exiv2 { // Minolta Standard Camera Settings Tag Info (Old and New) const TagInfo MinoltaMakerNote::tagInfoCsStd_[] = { - TagInfo(0x0001, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0002, "FlashMode", "Flash Mode", "Flash mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0003, "WhiteBalance", "White Balance", "White balance", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0004, "ImageSize", "Image Size", "Image size", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0005, "Quality", "Image Quality", "Image quality", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0006, "DriveMode", "Drive Mode", "Drive mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0007, "MeteringMode", "Metering Mode", "Metering mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x0001, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaExposureModeStd)), + TagInfo(0x0002, "FlashMode", "Flash Mode", "Flash mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashModeStd)), + TagInfo(0x0003, "WhiteBalance", "White Balance", "White balance", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaWhiteBalanceStd)), + TagInfo(0x0004, "ImageSize", "Image Size", "Image size", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageSizeStd)), + TagInfo(0x0005, "Quality", "Image Quality", "Image quality", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageQualityStd)), + TagInfo(0x0006, "DriveMode", "Drive Mode", "Drive mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDriveModeStd)), + TagInfo(0x0007, "MeteringMode", "Metering Mode", "Metering mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaMeteringModeStd)), TagInfo(0x0008, "ExposureSpeed", "Exposure Speed", "Exposure speed", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaExposureSpeedStd), TagInfo(0x0009, "ExposureTime", "Exposure Time", "Exposure time", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaExposureTimeStd), TagInfo(0x000A, "FNumber", "FNumber", "FNumber", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFNumberStd), - TagInfo(0x000B, "MacroMode", "Macro Mode", "Macro mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x000C, "DigitalZoom", "Digital Zoom", "Digital zoom", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x000B, "MacroMode", "Macro Mode", "Macro mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaMacroModeStd)), + TagInfo(0x000C, "DigitalZoom", "Digital Zoom", "Digital zoom", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDigitalZoomStd)), TagInfo(0x000D, "ExposureCompensation", "Exposure Compensation", "Exposure compensation", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaExposureCompensationStd), - TagInfo(0x000E, "BracketStep", "Bracket Step", "Bracket step", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x000E, "BracketStep", "Bracket Step", "Bracket step", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaBracketStepStd)), TagInfo(0x0010, "IntervalLength", "Interval Length", "Interval length", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), TagInfo(0x0011, "IntervalNumber", "Interval Number", "Interval number", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), TagInfo(0x0012, "FocalLength", "Focal Length", "Focal length", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFocalLengthStd), TagInfo(0x0013, "FocusDistance", "Focus Distance", "Focus distance", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x0014, "Flash", "Flash", "Flash", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x0014, "Flash", "Flash", "Flash", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashStd)), TagInfo(0x0015, "MinoltaDate", "Minolta Date", "Minolta date", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaDateStd), TagInfo(0x0016, "MinoltaTime", "Minolta Time", "Minolta time", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaTimeStd), TagInfo(0x0017, "MaxAperture", "Max Aperture", "Max aperture", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x001A, "FileNumberMemory", "File Number Memory", "File number memory", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x001A, "FileNumberMemory", "File Number Memory", "File number memory", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFileNumberMemoryStd)), TagInfo(0x001B, "ImageNumber", "Image Number", "Image number", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), TagInfo(0x001C, "ColorBalanceRed", "Color Balance Red", "Color balance red", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaWhiteBalanceStd), TagInfo(0x001D, "ColorBalanceGreen", "Color Balance Green", "Color balance green", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaWhiteBalanceStd), TagInfo(0x001E, "ColorBalanceBlue", "Color Balance Blue", "Color balance blue", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaWhiteBalanceStd), TagInfo(0x001F, "Saturation", "Saturation", "Saturation", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), TagInfo(0x0020, "Contrast", "Contrast", "Contrast", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x0021, "Sharpness", "Sharpness", "Sharpness", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0022, "SubjectProgram", "Subject Program", "Subject program", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x0021, "Sharpness", "Sharpness", "Sharpness", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaSharpnessStd)), + TagInfo(0x0022, "SubjectProgram", "Subject Program", "Subject program", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaSubjectProgramStd)), TagInfo(0x0023, "FlashExposureComp", "Flash Exposure Compensation", "Flash exposure compensation in EV", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFlashExposureCompStd), - TagInfo(0x0024, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0025, "MinoltaModel", "Minolta Model", "Minolta model", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0026, "IntervalMode", "Interval Mode", "Interval mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0027, "FolderName", "Folder Name", "Folder name", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0028, "ColorMode", "ColorMode", "ColorMode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x0024, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaISOSettingStd)), + TagInfo(0x0025, "MinoltaModel", "Minolta Model", "Minolta model", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaModelStd)), + TagInfo(0x0026, "IntervalMode", "Interval Mode", "Interval mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaIntervalModeStd)), + TagInfo(0x0027, "FolderName", "Folder Name", "Folder name", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFolderNameStd)), + TagInfo(0x0028, "ColorMode", "ColorMode", "ColorMode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaColorModeStd)), TagInfo(0x0029, "ColorFilter", "Color Filter", "Color filter", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), TagInfo(0x002A, "BWFilter", "Black White Filter", "Black and white filter", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x002B, "InternalFlash", "Internal Flash", "Internal flash", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x002B, "InternalFlash", "Internal Flash", "Internal flash", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaInternalFlashStd)), TagInfo(0x002C, "Brightness", "Brightness", "Brightness", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaBrightnessStd), TagInfo(0x002D, "SpotFocusPointX", "Spot Focus Point X", "Spot focus point X", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), TagInfo(0x002E, "SpotFocusPointY", "Spot Focus Point Y", "Spot focus point Y", minoltaCsNewIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x002F, "WideFocusZone", "Wide Focus Zone", "Wide focus zone", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0030, "FocusMode", "Focus Mode", "Focus mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0031, "FocusArea", "Focus area", "Focus area", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0032, "DECPosition", "DEC Switch Position", "DEC switch position", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0033, "ColorProfile", "Color Profile", "Color profile", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x0034, "DataImprint", "Data Imprint", "Data imprint", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), - TagInfo(0x003F, "FlashMetering", "Flash Metering", "Flash metering", minoltaCsNewIfdId, makerTags, unsignedLong, printTag), + TagInfo(0x002F, "WideFocusZone", "Wide Focus Zone", "Wide focus zone", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaWideFocusZoneStd)), + TagInfo(0x0030, "FocusMode", "Focus Mode", "Focus mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFocusModeStd)), + TagInfo(0x0031, "FocusArea", "Focus area", "Focus area", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFocusAreaStd)), + TagInfo(0x0032, "DECPosition", "DEC Switch Position", "DEC switch position", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDECPositionStd)), + TagInfo(0x0033, "ColorProfile", "Color Profile", "Color profile", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaColorProfileStd)), + TagInfo(0x0034, "DataImprint", "Data Imprint", "Data imprint", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDataImprintStd)), + TagInfo(0x003F, "FlashMetering", "Flash Metering", "Flash metering", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashMeteringStd)), // End of list marker TagInfo(0xffff, "(UnknownMinoltaCsTag)", "(UnknownMinoltaCsTag)", "Unknown Minolta Camera Settings tag", minoltaCsNewIfdId, makerTags, invalidTypeId, printValue) @@ -646,34 +646,34 @@ namespace Exiv2 { // Minolta Dynax 7D Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCs7D_[] = { - TagInfo(0x0000, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0002, "ImageSize", "Image Size", "Image size", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0003, "Quality", "Image Quality", "Image quality", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0004, "WhiteBalance", "White Balance", "White balance", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x000E, "FocusMode", "Focus Mode", "Focus mode", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0010, "AFPoints", "AF Points", "AF points", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0015, "Flash", "Flash", "Flash", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0000, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaExposureMode7D)), + TagInfo(0x0002, "ImageSize", "Image Size", "Image size", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageSize7D)), + TagInfo(0x0003, "Quality", "Image Quality", "Image quality", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageQuality7D)), + TagInfo(0x0004, "WhiteBalance", "White Balance", "White balance", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaWhiteBalance7D)), + TagInfo(0x000E, "FocusMode", "Focus Mode", "Focus mode", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusMode7D)), + TagInfo(0x0010, "AFPoints", "AF Points", "AF points", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaAFPoints7D)), + TagInfo(0x0015, "Flash", "Flash", "Flash", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFlash7D)), TagInfo(0x0016, "FlashMode", "Flash Mode", "Flash mode", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x001C, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x001C, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaISOSetting7D)), TagInfo(0x001E, "ExposureCompensation", "Exposure Compensation", "Exposure compensation", minoltaCs7DIfdId, makerTags, signedShort, printValue), - TagInfo(0x0025, "ColorSpace", "Color Space", "Color space", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0025, "ColorSpace", "Color Space", "Color space", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaColorSpace7D)), TagInfo(0x0026, "Sharpness", "Sharpness", "Sharpness", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0027, "Contrast", "Contrast", "Contrast", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0028, "Saturation", "Saturation", "Saturation", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x002D, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x003F, "ColorTemperature", "Color Temperature", "Color temperature", minoltaCs7DIfdId, makerTags, signedShort, printValue), TagInfo(0x0040, "Hue", "Hue", "Hue", minoltaCsNewIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0046, "Rotation", "Rotation", "Rotation", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0046, "Rotation", "Rotation", "Rotation", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaRotation7D)), TagInfo(0x0047, "FNumber", "FNumber", "FNumber", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0048, "ExposureTime", "Exposure Time", "Exposure time", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), // 0x004A is a dupplicate than 0x002D. TagInfo(0x004A, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x005E, "ImageNumber", "Image Number", "Image number", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0060, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0060, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaNoiseReduction7D)), // 0x0062 is a dupplicate than 0x005E. TagInfo(0x0062, "ImageNumber", "Image Number", "Image number", minoltaCs7DIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0071, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0075, "ZoneMatchingOn", "Zone Matching On", "Zone matching on", minoltaCs7DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0071, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageStabilization7D)), + TagInfo(0x0075, "ZoneMatchingOn", "Zone Matching On", "Zone matching on", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaZoneMatchingOn7D)), // End of list marker TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)", "Unknown Minolta Camera Settings 7D tag", minoltaCs7DIfdId, makerTags, invalidTypeId, printValue) @@ -794,15 +794,15 @@ namespace Exiv2 { // Minolta Dynax 5D Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCs5D_[] = { - TagInfo(0x000A, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x000C, "ImageSize", "Image Size", "Image size", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x000D, "Quality", "Image Quality", "Image quality", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x000E, "WhiteBalance", "White Balance", "White balance", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x001a, "FocusPosition", "Focus Position", "Focus position", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x001b, "FocusArea", "Focus Area", "Focus area", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x001F, "Flash", "Flash", "Flash", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0025, "MeteringMode", "Metering Mode", "Metering mode", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x0026, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x000A, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaExposureMode5D)), + TagInfo(0x000C, "ImageSize", "Image Size", "Image size", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageSize5D)), + TagInfo(0x000D, "Quality", "Image Quality", "Image quality", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageQuality5D)), + TagInfo(0x000E, "WhiteBalance", "White Balance", "White balance", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaWhiteBalance5D)), + TagInfo(0x001a, "FocusPosition", "Focus Position", "Focus position", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusPosition5D)), + TagInfo(0x001b, "FocusArea", "Focus Area", "Focus area", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusArea5D)), + TagInfo(0x001F, "Flash", "Flash", "Flash", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFlash5D)), + TagInfo(0x0025, "MeteringMode", "Metering Mode", "Metering mode", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaMeteringMode5D)), + TagInfo(0x0026, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaISOSetting5D)), TagInfo(0x0030, "Sharpness", "Sharpness", "Sharpness", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0031, "Contrast", "Contrast", "Contrast", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0032, "Saturation", "Saturation", "Saturation", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), @@ -810,14 +810,14 @@ namespace Exiv2 { TagInfo(0x0036, "FNumber", "FNumber", "FNumber", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0037, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0038, "ExposureRevision", "Exposure Revision", "Exposure revision", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0048, "FocusMode", "Focus Mode", "Focus mode", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0048, "FocusMode", "Focus Mode", "Focus mode", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusMode5D)), TagInfo(0x0049, "ColorTemperature", "Color Temperature", "Color temperature", minoltaCs5DIfdId, makerTags, signedShort, printValue), - TagInfo(0x0050, "Rotation", "Rotation", "Rotation", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x0050, "Rotation", "Rotation", "Rotation", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaRotation5D)), TagInfo(0x0053, "ExposureCompensation", "Exposure Compensation", "Exposure compensation", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0054, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), TagInfo(0x00AE, "ImageNumber", "Image Number", "Image number", minoltaCs5DIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x00B0, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), - TagInfo(0x00BD, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs5DIfdId, makerTags, unsignedShort, printTag), + TagInfo(0x00B0, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaNoiseReduction5D)), + TagInfo(0x00BD, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageStabilization5D)), // End of list marker TagInfo(0xffff, "(UnknownMinoltaCs5DTag)", "(UnknownMinoltaCs5DTag)", "Unknown Minolta Camera Settings 5D tag", minoltaCs5DIfdId, makerTags, invalidTypeId, printValue) diff --git a/src/olympusmn.cpp b/src/olympusmn.cpp index f698884d..a7094b23 100644 --- a/src/olympusmn.cpp +++ b/src/olympusmn.cpp @@ -60,11 +60,41 @@ namespace Exiv2 { } //! @endcond + //! Quality, tag 0x0201 + extern const TagDetails olympusQuality[] = { + { 1, "Standard Quality (SQ)" }, + { 2, "High Quality (HQ)" }, + { 3, "Super High Quality (SHQ)" }, + { 6, "Raw" } + }; + + //! Macro, tag 0x0202 + extern const TagDetails olympusMacro[] = { + { 0, "Off" }, + { 1, "On" }, + { 2, "Super Macro" } + }; + + //! OneTouchWB, tag 0x0302 + extern const TagDetails olympusOneTouchWb[] = { + { 0, "Off" }, + { 1, "On" }, + { 2, "On (Preset)" } + }; + + //! FlashDevice, tag 0x1005 + extern const TagDetails olympusFlashDevice[] = { + { 0, "None" }, + { 1, "Internal" }, + { 4, "External" }, + { 4, "Internal + External" } + }; + // Olympus Tag Info const TagInfo OlympusMakerNote::tagInfo_[] = { TagInfo(0x0200, "SpecialMode", "SpecialMode", "Picture taking mode", olympusIfdId, makerTags, unsignedLong, print0x0200), - TagInfo(0x0201, "Quality", "Quality", "Image quality setting", olympusIfdId, makerTags, unsignedShort, print0x0201), - TagInfo(0x0202, "Macro", "Macro", "Macro mode", olympusIfdId, makerTags, unsignedShort, print0x0202), + TagInfo(0x0201, "Quality", "Quality", "Image quality setting", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusQuality)), + TagInfo(0x0202, "Macro", "Macro", "Macro mode", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusMacro)), TagInfo(0x0203, "BWMode", "BWMode", "Black and White Mode", olympusIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0204, "DigitalZoom", "DigitalZoom", "Digital zoom ratio", olympusIfdId, makerTags, unsignedRational, print0x0204), TagInfo(0x0205, "FocalPlaneDiagonal", "FocalPlaneDiagonal", "Focal plane diagonal", olympusIfdId, makerTags, unsignedRational, printValue), @@ -74,7 +104,7 @@ namespace Exiv2 { TagInfo(0x0209, "CameraID", "CameraID", "CameraID data", olympusIfdId, makerTags, undefined, printValue), TagInfo(0x0300, "PreCaptureFrames", "PreCaptureFrames", "Pre-capture frames", olympusIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0301, "0x0301", "0x0301", "Unknown", olympusIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0302, "OneTouchWB", "OneTouchWB", "OneTouchWB", olympusIfdId, makerTags, unsignedShort, print0x0302), + TagInfo(0x0302, "OneTouchWB", "OneTouchWB", "OneTouchWB", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOneTouchWb)), TagInfo(0x0303, "0x0303", "0x0303", "Unknown", olympusIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0304, "0x0304", "0x0304", "Unknown", olympusIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0f00, "DataDump", "DataDump", "Various camera settings", olympusIfdId, makerTags, undefined, printValue), @@ -83,7 +113,7 @@ namespace Exiv2 { TagInfo(0x1002, "0x1002", "0x1002", "Unknown", olympusIfdId, makerTags, signedRational, printValue), TagInfo(0x1003, "0x1003", "0x1003", "Unknown", olympusIfdId, makerTags, signedRational, printValue), TagInfo(0x1004, "FlashMode", "FlashMode", "Flash mode", olympusIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x1005, "FlashDevice", "FlashDevice", "Flash device", olympusIfdId, makerTags, unsignedShort, print0x1005), + TagInfo(0x1005, "FlashDevice", "FlashDevice", "Flash device", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFlashDevice)), TagInfo(0x1006, "Bracket", "Bracket", "Bracket", olympusIfdId, makerTags, signedRational, printValue), TagInfo(0x1007, "0x1007", "0x1007", "Unknown", olympusIfdId, makerTags, signedShort, printValue), TagInfo(0x1008, "0x1008", "0x1008", "Unknown", olympusIfdId, makerTags, signedShort, printValue), @@ -229,37 +259,6 @@ namespace Exiv2 { return os; } // OlympusMakerNote::print0x0200 - //! Quality - const TagDetails quality[] = { - { 0, "(start)" }, - { 1, "Standard Quality (SQ)" }, - { 2, "High Quality (HQ)" }, - { 3, "Super High Quality (SHQ)" }, - { 6, "Raw" }, - { 0, "(end)" } - }; - - std::ostream& OlympusMakerNote::print0x0201(std::ostream& os, - const Value& value) - { - return TagTranslator(quality).print(os, value); - } // OlympusMakerNote::print0x0201 - - //! Macro - const TagDetails macro[] = { - { -1, "(start)" }, - { 0, "Off" }, - { 1, "On" }, - { 2, "Super Macro" }, - { -1, "(end)" } - }; - - std::ostream& OlympusMakerNote::print0x0202(std::ostream& os, - const Value& value) - { - return TagTranslator(macro).print(os, value); - } // OlympusMakerNote::print0x0202 - std::ostream& OlympusMakerNote::print0x0204(std::ostream& os, const Value& value) { @@ -272,37 +271,6 @@ namespace Exiv2 { return os; } // OlympusMakerNote::print0x0204 - //! OneTouchWB - const TagDetails oneTouchWb[] = { - { -1, "(start)" }, - { 0, "Off" }, - { 1, "On" }, - { 2, "On (Preset)" }, - { -1, "(end)" } - }; - - std::ostream& OlympusMakerNote::print0x0302(std::ostream& os, - const Value& value) - { - return TagTranslator(oneTouchWb).print(os, value); - } // OlympusMakerNote::print0x0302 - - //! FlashDevice - const TagDetails flashDevice[] = { - { -1, "(start)" }, - { 0, "None" }, - { 1, "Internal" }, - { 4, "External" }, - { 4, "Internal + External" }, - { -1, "(end)" } - }; - - std::ostream& OlympusMakerNote::print0x1005(std::ostream& os, - const Value& value) - { - return TagTranslator(flashDevice).print(os, value); - } // OlympusMakerNote::print0x1005 - // ***************************************************************************** // free functions diff --git a/src/olympusmn.hpp b/src/olympusmn.hpp index 694a8c58..d92cb36b 100644 --- a/src/olympusmn.hpp +++ b/src/olympusmn.hpp @@ -21,9 +21,9 @@ /*! @file olympusmn.hpp @brief Olympus MakerNote implemented using the following references: - Exif file format, Appendix 1: MakerNote of Olympus Digicams by TsuruZoh Tachibanaya, - Olympus.pm of ExifTool by Phil Harvey, - Olympus Makernote Format Specification by Evan Hunter, + Exif file format, Appendix 1: MakerNote of Olympus Digicams by TsuruZoh Tachibanaya,
+ Olympus.pm of ExifTool by Phil Harvey,
+ Olympus Makernote Format Specification by Evan Hunter,
email communication with Will Stokes @version $Rev$ @author Andreas Huggel (ahu) @@ -125,16 +125,8 @@ namespace Exiv2 { //@{ //! Print 'Special Mode' static std::ostream& print0x0200(std::ostream& os, const Value& value); - //! Print Jpeg quality - static std::ostream& print0x0201(std::ostream& os, const Value& value); - //! Print Macro mode - static std::ostream& print0x0202(std::ostream& os, const Value& value); //! Print Digital Zoom Factor static std::ostream& print0x0204(std::ostream& os, const Value& value); - //! Print OneTouchWB - static std::ostream& print0x0302(std::ostream& os, const Value& value); - //! Print FlashDevice - static std::ostream& print0x1005(std::ostream& os, const Value& value); //@} //! @cond IGNORE diff --git a/src/panasonicmn.cpp b/src/panasonicmn.cpp index 44d62abd..7d30a6b1 100644 --- a/src/panasonicmn.cpp +++ b/src/panasonicmn.cpp @@ -57,18 +57,107 @@ namespace Exiv2 { } //! @endcond + //! Quality, tag 0x0001 + extern const TagDetails panasonicQuality[] = { + { 2, "High" }, + { 3, "Standard" }, + { 6, "Very High" }, + { 7, "Raw" } + }; + + //! WhiteBalance, tag 0x0003 + extern const TagDetails panasonicWhiteBalance[] = { + { 1, "Auto" }, + { 2, "Daylight" }, + { 3, "Cloudy" }, + { 4, "Halogen" }, + { 5, "Manual" }, + { 8, "Flash" }, + { 10, "Black and White" } + }; + + //! FocusMode, tag 0x0007 + extern const TagDetails panasonicFocusMode[] = { + { 1, "Auto" }, + { 2, "Manual" } + }; + + //! ImageStabilizer, tag 0x001a + extern const TagDetails panasonicImageStabilizer[] = { + { 2, "On, Mode 1" }, + { 3, "Off" }, + { 4, "On, Mode 2" } + }; + + //! Macro, tag 0x001c + extern const TagDetails panasonicMacro[] = { + { 1, "On" }, + { 2, "Off" } + }; + + //! ShootingMode, tag 0x001f + extern const TagDetails panasonicShootingMode[] = { + { 1, "Normal" }, + { 2, "Portrait" }, + { 3, "Scenery" }, + { 4, "Sports" }, + { 5, "Night Portrait" }, + { 6, "Program" }, + { 7, "Aperture Priority" }, + { 8, "Shutter Priority" }, + { 9, "Macro" }, + { 11, "Manual" }, + { 13, "Panning" }, + { 18, "Fireworks" }, + { 19, "Party" }, + { 20, "Snow" }, + { 21, "Night Scenery" } + }; + + //! Audio, tag 0x0020 + extern const TagDetails panasonicAudio[] = { + { 1, "Yes" }, + { 2, "No" } + }; + + //! ColorEffect, tag 0x0028 + extern const TagDetails panasonicColorEffect[] = { + { 1, "Off" }, + { 2, "Warm" }, + { 3, "Cool" }, + { 4, "Black and White" }, + { 5, "Sepia" } + }; + + //! Contrast, tag 0x002c + extern const TagDetails panasonicContrast[] = { + { 0, "Standard" }, + { 1, "Low" }, + { 2, "High" }, + { 0x100, "Low" }, + { 0x110, "Standard" }, + { 0x120, "High" } + }; + + //! NoiseReduction, tag 0x002d + extern const TagDetails panasonicNoiseReduction[] = { + { 0, "Standard" }, + { 1, "Low" }, + { 2, "High" } + }; + // Panasonic MakerNote Tag Info const TagInfo PanasonicMakerNote::tagInfo_[] = { - TagInfo(0x0001, "Quality", "Quality", "Image Quality", panasonicIfdId, makerTags, unsignedShort, print0x0001), + TagInfo(0x0001, "Quality", "Quality", "Image Quality", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicQuality)), TagInfo(0x0002, "FirmwareVersion", "FirmwareVersion", "Firmware version", panasonicIfdId, makerTags, undefined, printValue), - TagInfo(0x0003, "WhiteBalance", "WhiteBalance", "White balance setting", panasonicIfdId, makerTags, unsignedShort, print0x0003), + TagInfo(0x0003, "WhiteBalance", "WhiteBalance", "White balance setting", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicWhiteBalance)), TagInfo(0x0004, "0x0004", "0x0004", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0007, "FocusMode", "FocusMode", "Focus mode", panasonicIfdId, makerTags, unsignedShort, print0x0007), + TagInfo(0x0007, "FocusMode", "FocusMode", "Focus mode", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicFocusMode)), TagInfo(0x000f, "SpotMode", "SpotMode", "Spot mode", panasonicIfdId, makerTags, unsignedByte, print0x000f), - TagInfo(0x001a, "ImageStabilizer", "ImageStabilizer", "Image stabilizer", panasonicIfdId, makerTags, unsignedShort, print0x001a), - TagInfo(0x001c, "Macro", "Macro", "Macro mode", panasonicIfdId, makerTags, unsignedShort, print0x001c), - TagInfo(0x001f, "ShootingMode", "ShootingMode", "Shooting mode", panasonicIfdId, makerTags, unsignedShort, print0x001f), - TagInfo(0x0020, "Audio", "Audio", "Audio", panasonicIfdId, makerTags, unsignedShort, print0x0020), + TagInfo(0x001a, "ImageStabilizer", "ImageStabilizer", "Image stabilizer", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicImageStabilizer)), + TagInfo(0x001c, "Macro", "Macro", "Macro mode", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicMacro)), + TagInfo(0x001f, "ShootingMode", "ShootingMode", "Shooting mode", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicShootingMode)), + TagInfo(0x0020, "Audio", "Audio", "Audio", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicAudio)), TagInfo(0x0021, "DataDump", "DataDump", "Data dump", panasonicIfdId, makerTags, undefined, printValue), TagInfo(0x0022, "0x0022", "0x0022", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0023, "WhiteBalanceBias", "WhiteBalanceBias", "White balance adjustment", panasonicIfdId, makerTags, unsignedShort, print0x0023), @@ -76,12 +165,12 @@ namespace Exiv2 { TagInfo(0x0025, "SerialNumber", "SerialNumber", "Serial number", panasonicIfdId, makerTags, undefined, printValue), TagInfo(0x0026, "0x0026", "0x0026", "Unknown", panasonicIfdId, makerTags, undefined, printValue), TagInfo(0x0027, "0x0027", "0x0027", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), - TagInfo(0x0028, "ColorEffect", "ColorEffect", "Color effect", panasonicIfdId, makerTags, unsignedShort, print0x0028), + TagInfo(0x0028, "ColorEffect", "ColorEffect", "Color effect", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicColorEffect)), TagInfo(0x0029, "0x0029", "0x0029", "Unknown", panasonicIfdId, makerTags, unsignedLong, printValue), TagInfo(0x002a, "0x002a", "0x002a", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), TagInfo(0x002b, "0x002b", "0x002b", "Unknown", panasonicIfdId, makerTags, unsignedLong, printValue), - TagInfo(0x002c, "Contrast", "Contrast", "Contrast setting", panasonicIfdId, makerTags, unsignedShort, print0x002c), - TagInfo(0x002d, "NoiseReduction", "NoiseReduction", "Noise reduction", panasonicIfdId, makerTags, unsignedShort, print0x002d), + TagInfo(0x002c, "Contrast", "Contrast", "Contrast setting", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicContrast)), + TagInfo(0x002d, "NoiseReduction", "NoiseReduction", "Noise reduction", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicNoiseReduction)), TagInfo(0x002e, "0x002e", "0x002e", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), TagInfo(0x002f, "0x002f", "0x002f", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), TagInfo(0x0030, "0x0030", "0x0030", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue), @@ -154,55 +243,6 @@ namespace Exiv2 { return new PanasonicMakerNote(*this); } - //! Quality - const TagDetails quality[] = { - { 0, "(start)" }, - { 2, "High" }, - { 3, "Standard" }, - { 6, "Very High" }, - { 7, "Raw" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x0001(std::ostream& os, - const Value& value) - { - return TagTranslator(quality).print(os, value); - } // PanasonicMakerNote::print0x0001 - - //! WhiteBalance - const TagDetails whiteBalance[] = { - { 0, "(start)" }, - { 1, "Auto" }, - { 2, "Daylight" }, - { 3, "Cloudy" }, - { 4, "Halogen" }, - { 5, "Manual" }, - { 8, "Flash" }, - { 10, "Black and White" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x0003(std::ostream& os, - const Value& value) - { - return TagTranslator(whiteBalance).print(os, value); - } // PanasonicMakerNote::print0x0003 - - //! FocusMode - const TagDetails focusMode[] = { - { 0, "(start)" }, - { 1, "Auto" }, - { 2, "Manual" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x0007(std::ostream& os, - const Value& value) - { - return TagTranslator(focusMode).print(os, value); - } // PanasonicMakerNote::print0x0007 - std::ostream& PanasonicMakerNote::print0x000f(std::ostream& os, const Value& value) { @@ -216,76 +256,6 @@ namespace Exiv2 { return os; } // PanasonicMakerNote::print0x000f - //! ImageStabilizer - const TagDetails imageStabilizer[] = { - { 0, "(start)" }, - { 2, "On, Mode 1" }, - { 3, "Off" }, - { 4, "On, Mode 2" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x001a(std::ostream& os, - const Value& value) - { - return TagTranslator(imageStabilizer).print(os, value); - } // PanasonicMakerNote::print0x001a - - //! Macro - const TagDetails macro[] = { - { 0, "(start)" }, - { 1, "On" }, - { 2, "Off" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x001c(std::ostream& os, - const Value& value) - { - return TagTranslator(macro).print(os, value); - } // PanasonicMakerNote::print0x001c - - //! ShootingMode - const TagDetails shootingMode[] = { - { 0, "(start)" }, - { 1, "Normal" }, - { 2, "Portrait" }, - { 3, "Scenery" }, - { 4, "Sports" }, - { 5, "Night Portrait" }, - { 6, "Program" }, - { 7, "Aperture Priority" }, - { 8, "Shutter Priority" }, - { 9, "Macro" }, - { 11, "Manual" }, - { 13, "Panning" }, - { 18, "Fireworks" }, - { 19, "Party" }, - { 20, "Snow" }, - { 21, "Night Scenery" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x001f(std::ostream& os, - const Value& value) - { - return TagTranslator(shootingMode).print(os, value); - } // PanasonicMakerNote::print0x001f - - //! Audio - const TagDetails Audio[] = { - { 0, "(start)" }, - { 1, "Yes" }, - { 2, "No" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x0020(std::ostream& os, - const Value& value) - { - return TagTranslator(Audio).print(os, value); - } // PanasonicMakerNote::print0x0020 - std::ostream& PanasonicMakerNote::print0x0023(std::ostream& os, const Value& value) { @@ -299,56 +269,6 @@ namespace Exiv2 { } // PanasonicMakerNote::print0x0023 - //! ColorEffect - const TagDetails colorEffect[] = { - { 0, "(start)" }, - { 1, "Off" }, - { 2, "Warm" }, - { 3, "Cool" }, - { 4, "Black and White" }, - { 5, "Sepia" }, - { 0, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x0028(std::ostream& os, - const Value& value) - { - return TagTranslator(colorEffect).print(os, value); - } // PanasonicMakerNote::print0x0028 - - //! Contrast - const TagDetails contrast[] = { - { -1, "(start)" }, - { 0, "Standard" }, - { 1, "Low" }, - { 2, "High" }, - { 0x100, "Low" }, - { 0x110, "Standard" }, - { 0x120, "High" }, - { -1, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x002c(std::ostream& os, - const Value& value) - { - return TagTranslator(contrast).print(os, value); - } // PanasonicMakerNote::print0x002c - - //! NoiseReduction - const TagDetails noiseReduction[] = { - { -1, "(start)" }, - { 0, "Standard" }, - { 1, "Low" }, - { 2, "High" }, - { -1, "(end)" } - }; - - std::ostream& PanasonicMakerNote::print0x002d(std::ostream& os, - const Value& value) - { - return TagTranslator(noiseReduction).print(os, value); - } // PanasonicMakerNote::print0x002d - // ***************************************************************************** // free functions diff --git a/src/panasonicmn.hpp b/src/panasonicmn.hpp index bcdeee0b..83c0847b 100644 --- a/src/panasonicmn.hpp +++ b/src/panasonicmn.hpp @@ -120,30 +120,10 @@ namespace Exiv2 { //! @name Print functions for Panasonic %MakerNote tags //@{ - //! Print Quality - static std::ostream& print0x0001(std::ostream& os, const Value& value); - //! Print WhiteBalance - static std::ostream& print0x0003(std::ostream& os, const Value& value); - //! Print FocusMode - static std::ostream& print0x0007(std::ostream& os, const Value& value); //! Print SpotMode static std::ostream& print0x000f(std::ostream& os, const Value& value); - //! Print ImageStabilizer - static std::ostream& print0x001a(std::ostream& os, const Value& value); - //! Print Macro - static std::ostream& print0x001c(std::ostream& os, const Value& value); - //! Print ShootingMode - static std::ostream& print0x001f(std::ostream& os, const Value& value); - //! Print Audio - static std::ostream& print0x0020(std::ostream& os, const Value& value); //! Print WhiteBalanceBias static std::ostream& print0x0023(std::ostream& os, const Value& value); - //! Print ColorEffect - static std::ostream& print0x0028(std::ostream& os, const Value& value); - //! Print Contrast - static std::ostream& print0x002c(std::ostream& os, const Value& value); - //! Print NoiseReduction - static std::ostream& print0x002d(std::ostream& os, const Value& value); //@} //! @cond IGNORE diff --git a/src/tags.hpp b/src/tags.hpp index 6ffd97d5..a83f64f9 100644 --- a/src/tags.hpp +++ b/src/tags.hpp @@ -141,6 +141,9 @@ namespace Exiv2 { return os; } +//! Shortcut for the printTag template which requires typing the array name only once. +#define EXV_PRINT_TAG(array) printTag + /*! @brief Translation from numeric values from a lookup list to human readable labels