|
|
@ -1861,7 +1861,7 @@ std::ostream& Nikon3MakerNote::print0x0088(std::ostream& os, const Value& value,
|
|
|
|
// But when actually in "Single area, Center" this can mean
|
|
|
|
// But when actually in "Single area, Center" this can mean
|
|
|
|
// that focus was not found (try this in AF-C mode)
|
|
|
|
// that focus was not found (try this in AF-C mode)
|
|
|
|
// TODO: handle the meaningful case (interacts with other fields)
|
|
|
|
// TODO: handle the meaningful case (interacts with other fields)
|
|
|
|
os << "N/A";
|
|
|
|
os << _("n/a");
|
|
|
|
return os;
|
|
|
|
return os;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -3263,6 +3263,10 @@ std::ostream& Nikon3MakerNote::printFocusDistance(std::ostream& os, const Value&
|
|
|
|
os.flags(f);
|
|
|
|
os.flags(f);
|
|
|
|
return os;
|
|
|
|
return os;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
auto temp = value.toInt64();
|
|
|
|
|
|
|
|
if (temp == 0)
|
|
|
|
|
|
|
|
return os << _("n/a");
|
|
|
|
|
|
|
|
|
|
|
|
double dist = 0.01 * pow(10.0, value.toInt64() / 40.0);
|
|
|
|
double dist = 0.01 * pow(10.0, value.toInt64() / 40.0);
|
|
|
|
std::ostringstream oss;
|
|
|
|
std::ostringstream oss;
|
|
|
|
oss.copyfmt(os);
|
|
|
|
oss.copyfmt(os);
|
|
|
@ -3279,6 +3283,10 @@ std::ostream& Nikon3MakerNote::printAperture(std::ostream& os, const Value& valu
|
|
|
|
os.flags(f);
|
|
|
|
os.flags(f);
|
|
|
|
return os;
|
|
|
|
return os;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
auto temp = value.toInt64();
|
|
|
|
|
|
|
|
if (temp == 0)
|
|
|
|
|
|
|
|
return os << _("n/a");
|
|
|
|
|
|
|
|
|
|
|
|
double aperture = pow(2.0, value.toInt64() / 24.0);
|
|
|
|
double aperture = pow(2.0, value.toInt64() / 24.0);
|
|
|
|
std::ostringstream oss;
|
|
|
|
std::ostringstream oss;
|
|
|
|
oss.copyfmt(os);
|
|
|
|
oss.copyfmt(os);
|
|
|
@ -3292,6 +3300,10 @@ std::ostream& Nikon3MakerNote::printFocal(std::ostream& os, const Value& value,
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedByte) {
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedByte) {
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
auto temp = value.toInt64();
|
|
|
|
|
|
|
|
if (temp == 0)
|
|
|
|
|
|
|
|
return os << _("n/a");
|
|
|
|
|
|
|
|
|
|
|
|
double focal = 5.0 * pow(2.0, value.toInt64() / 24.0);
|
|
|
|
double focal = 5.0 * pow(2.0, value.toInt64() / 24.0);
|
|
|
|
std::ostringstream oss;
|
|
|
|
std::ostringstream oss;
|
|
|
|
oss.copyfmt(os);
|
|
|
|
oss.copyfmt(os);
|
|
|
@ -3839,16 +3851,16 @@ std::ostream& Nikon3MakerNote::printPictureControl(std::ostream& os, const Value
|
|
|
|
oss.copyfmt(os);
|
|
|
|
oss.copyfmt(os);
|
|
|
|
switch (pcval) {
|
|
|
|
switch (pcval) {
|
|
|
|
case 0:
|
|
|
|
case 0:
|
|
|
|
os << "Normal";
|
|
|
|
os << _("Normal");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 127:
|
|
|
|
case 127:
|
|
|
|
os << "n/a";
|
|
|
|
os << _("n/a");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case -127:
|
|
|
|
case -127:
|
|
|
|
os << "User";
|
|
|
|
os << _("User");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case -128:
|
|
|
|
case -128:
|
|
|
|
os << "Auto";
|
|
|
|
os << _("Auto");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
os << pcval;
|
|
|
|
os << pcval;
|
|
|
@ -3944,6 +3956,9 @@ std::ostream& Nikon3MakerNote::printApertureLd4(std::ostream& os, const Value& v
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedShort) {
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedShort) {
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
auto temp = value.toInt64();
|
|
|
|
|
|
|
|
if (temp == 0)
|
|
|
|
|
|
|
|
return os << _("n/a");
|
|
|
|
|
|
|
|
|
|
|
|
double aperture = pow(2.0, value.toInt64() / 384.0 - 1.0);
|
|
|
|
double aperture = pow(2.0, value.toInt64() / 384.0 - 1.0);
|
|
|
|
std::ostringstream oss;
|
|
|
|
std::ostringstream oss;
|
|
|
@ -3956,6 +3971,10 @@ std::ostream& Nikon3MakerNote::printFocalLd4(std::ostream& os, const Value& valu
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedShort) {
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedShort) {
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
auto temp = value.toInt64();
|
|
|
|
|
|
|
|
if (temp == 0)
|
|
|
|
|
|
|
|
return os << _("n/a");
|
|
|
|
|
|
|
|
|
|
|
|
std::ostringstream oss;
|
|
|
|
std::ostringstream oss;
|
|
|
|
oss.copyfmt(os);
|
|
|
|
oss.copyfmt(os);
|
|
|
|
os << std::fixed << std::setprecision(1) << value.toInt64() << " mm";
|
|
|
|
os << std::fixed << std::setprecision(1) << value.toInt64() << " mm";
|
|
|
@ -3967,6 +3986,10 @@ std::ostream& Nikon3MakerNote::printFocusDistanceLd4(std::ostream& os, const Val
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedShort) {
|
|
|
|
if (value.count() != 1 || value.typeId() != unsignedShort) {
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
return os << "(" << value << ")";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
auto temp = value.toInt64();
|
|
|
|
|
|
|
|
if (temp == 0)
|
|
|
|
|
|
|
|
return os << _("n/a");
|
|
|
|
|
|
|
|
|
|
|
|
double dist = 0.01 * pow(10.0, (value.toInt64() / 256.0) / 40.0);
|
|
|
|
double dist = 0.01 * pow(10.0, (value.toInt64() / 256.0) / 40.0);
|
|
|
|
std::ostringstream oss;
|
|
|
|
std::ostringstream oss;
|
|
|
|
oss.copyfmt(os);
|
|
|
|
oss.copyfmt(os);
|
|
|
|