Patch #954 » exiv2-Exif_CanonFi_FocusDistance.patch
trunk/src/actions.cpp (revision 3251) → trunk/src/actions.cpp (working copy) | ||
---|---|---|
355 | 355 |
} |
356 | 356 |
if (!done) { |
357 | 357 |
done = 0 != printTag(exifData, "Exif.CanonSi.SubjectDistance"); |
358 |
done = 0 != printTag(exifData, "Exif.CanonSi.FocusDistanceLower"); |
|
359 |
done = 0 != printTag(exifData, "Exif.CanonSi.FocusDistanceUpper"); |
|
358 | 360 |
} |
359 | 361 |
std::cout << std::endl; |
360 | 362 |
trunk/src/canonmn.cpp (revision 3251) → trunk/src/canonmn.cpp (working copy) | ||
---|---|---|
1283 | 1283 |
TagInfo(0x000f, "ToningEffect", N_("Toning Effect"), N_("Toning Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonToningEffect)), |
1284 | 1284 |
TagInfo(0x0010, "MacroMagnification", N_("Macro Magnification"), N_("Macro magnification"), canonFiId, makerTags, signedShort, 1, printValue), |
1285 | 1285 |
TagInfo(0x0013, "LiveViewShooting", N_("Live View Shooting"), N_("Live view shooting"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonOffOn)), |
1286 |
TagInfo(0x0014, "FocusDistanceUpper", N_("Focus Distance Upper"), N_("Focus Distance Upper"), canonFiId, makerTags, signedShort, 1, printFiFocusDistance), |
|
1287 |
TagInfo(0x0015, "FocusDistanceLower", N_("Focus Distance Lower"), N_("Focus Distance Lower"), canonFiId, makerTags, signedShort, 1, printFiFocusDistance), |
|
1286 | 1288 |
TagInfo(0x0019, "FlashExposureLock", N_("Flash Exposure Lock"), N_("Flash exposure lock"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonOffOn)), |
1287 | 1289 |
// End of list marker |
1288 | 1290 |
TagInfo(0xffff, "(UnknownCanonFiTag)", "(UnknownCanonFiTag)", N_("Unknown Canon File Info tag"), canonFiId, makerTags, signedShort, 1, printValue) |
... | ... | |
1701 | 1703 |
return os; |
1702 | 1704 |
} |
1703 | 1705 | |
1706 |
std::ostream& CanonMakerNote::printFiFocusDistance(std::ostream& os, |
|
1707 |
const Value& value, |
|
1708 |
const ExifData*) |
|
1709 |
{ |
|
1710 |
if ( value.typeId() != signedShort |
|
1711 |
|| value.count() == 0) return os << value; |
|
1712 | ||
1713 |
std::ostringstream oss; |
|
1714 |
oss.copyfmt(os); |
|
1715 |
os << std::fixed << std::setprecision(2); |
|
1716 | ||
1717 |
long l = value.toLong(); |
|
1718 |
if (l == 0xffff) { |
|
1719 |
os << "Infinite"; |
|
1720 |
} |
|
1721 |
else { |
|
1722 |
os << value.toLong()/100.0 << " m"; |
|
1723 |
} |
|
1724 | ||
1725 |
os.copyfmt(oss); |
|
1726 |
return os; |
|
1727 |
} |
|
1728 | ||
1704 | 1729 |
// ***************************************************************************** |
1705 | 1730 |
// free functions |
1706 | 1731 |
trunk/src/canonmn_int.hpp (revision 3251) → trunk/src/canonmn_int.hpp (working copy) | ||
---|---|---|
106 | 106 |
static std::ostream& printSi0x0016(std::ostream& os, const Value& value, const ExifData*); |
107 | 107 |
//! MeasuredEV2 |
108 | 108 |
static std::ostream& printSi0x0017(std::ostream& os, const Value& value, const ExifData*); |
109 |
//! Focus Distance |
|
110 |
static std::ostream& printFiFocusDistance(std::ostream& os, const Value& value, const ExifData*); |
|
109 | 111 |
//@} |
110 | 112 | |
111 | 113 |
private: |
trunk/src/easyaccess.cpp (revision 3251) → trunk/src/easyaccess.cpp (working copy) | ||
---|---|---|
414 | 414 |
"Exif.Photo.SubjectDistance", |
415 | 415 |
"Exif.Image.SubjectDistance", |
416 | 416 |
"Exif.CanonSi.SubjectDistance", |
417 |
"Exif.CanonFi.FocusDistanceUpper", |
|
418 |
"Exif.CanonFi.FocusDistanceLower", |
|
417 | 419 |
"Exif.MinoltaCsNew.FocusDistance", |
418 | 420 |
"Exif.Nikon1.FocusDistance", |
419 | 421 |
"Exif.Nikon3.FocusDistance", |