diff --git a/rtexif/canonattribs.cc b/rtexif/canonattribs.cc index 01b00dd53..cabafad32 100644 --- a/rtexif/canonattribs.cc +++ b/rtexif/canonattribs.cc @@ -785,6 +785,7 @@ public: choices.insert (p_t (183, "Sigma 180mm f/2.8 EX DG OS HSM APO Macro")); choices.insert (p_t (183, "Sigma 150-600mm f/5-6.3 DG OS HSM | C")); choices.insert (p_t (183, "Sigma 150-600mm f/5-6.3 DG OS HSM | S")); + choices.insert (p_t (183, "Sigma 100-400mm f/5-6.3 DG OS HSM")); choices.insert (p_t (184, "Canon EF 400mm f/2.8L + 2x")); choices.insert (p_t (185, "Canon EF 600mm f/4L IS")); choices.insert (p_t (186, "Canon EF 70-200mm f/4L")); @@ -797,7 +798,8 @@ public: choices.insert (p_t (194, "Canon EF 80-200mm f/4.5-5.6 USM")); choices.insert (p_t (195, "Canon EF 35-105mm f/4.5-5.6 USM")); choices.insert (p_t (196, "Canon EF 75-300mm f/4-5.6 USM")); - choices.insert (p_t (197, "Canon EF 75-300mm f/4-5.6 IS USM")); + choices.insert (p_t (197, "Canon EF 75-300mm f/4-5.6 IS USM or Sigma Lens")); + choices.insert (p_t (197, "Sigma 18-300mm f/3.5-6.3 DC Macro OS HS")); choices.insert (p_t (198, "Canon EF 50mm f/1.4 USM or Zeiss Lens")); choices.insert (p_t (198, "Zeiss Otus 55mm f/1.4 ZE")); choices.insert (p_t (198, "Zeiss Otus 85mm f/1.4 ZE")); @@ -859,11 +861,13 @@ public: choices.insert (p_t (490, "Canon EF 8-15mm f/4L Fisheye USM")); choices.insert (p_t (491, "Canon EF 300mm f/2.8L IS II USM or Tamron Lens")); choices.insert (p_t (491, "Tamron SP 70-200mm f/2.8 Di VC USD G2 (A025)")); + choices.insert (p_t (491, "Tamron 18-400mm f/3.5-6.3 Di II VC HLD (B028)")); choices.insert (p_t (492, "Canon EF 400mm f/2.8L IS II USM")); choices.insert (p_t (493, "Canon EF 500mm f/4L IS II USM or EF 24-105mm f4L IS USM")); choices.insert (p_t (493, "Canon EF 24-105mm f/4L IS USM")); choices.insert (p_t (494, "Canon EF 600mm f/4.0L IS II USM")); - choices.insert (p_t (495, "Canon EF 24-70mm f/2.8L II USM")); + choices.insert (p_t (495, "Canon EF 24-70mm f/2.8L II USM or Sigma Lens")); + choices.insert (p_t (495, "Sigma 24-70mm F2.8 DG OS HSM | A")); choices.insert (p_t (496, "Canon EF 200-400mm f/4L IS USM")); choices.insert (p_t (499, "Canon EF 200-400mm f/4L IS USM + 1.4x")); choices.insert (p_t (502, "Canon EF 28mm f/2.8 IS USM")); @@ -872,7 +876,8 @@ public: choices.insert (p_t (505, "Canon EF 35mm f/2 IS USM")); choices.insert (p_t (506, "Canon EF 400mm f/4 DO IS II USM")); choices.insert (p_t (507, "Canon EF 16-35mm f/4L IS USM")); - choices.insert (p_t (508, "Canon EF 11-24mm f/4L USM")); + choices.insert (p_t (508, "Canon EF 11-24mm f/4L USM or Tamron Lens")); + choices.insert (p_t (508, "Tamron 10-24mm f/3.5-4.5 Di II VC HLD")); choices.insert (p_t (747, "Canon EF 100-400mm f/4.5-5.6L IS II USM or Tamron Lens")); choices.insert (p_t (747, "Tamron SP 150-600mm F5-6.3 Di VC USD G2")); choices.insert (p_t (748, "Canon EF 100-400mm f/4.5-5.6L IS II USM + 1.4x")); @@ -896,8 +901,10 @@ public: choices.insert (p_t (4156, "Canon EF 50mm f/1.8 STM")); choices.insert (p_t (4157, "Canon EF-M 18-150mm 1:3.5-6.3 IS STM")); choices.insert (p_t (4158, "Canon EF-S 18-55mm f/4-5.6 IS STM")); + choices.insert (p_t (4160, "Canon EF-S 35mm f/2.8 Macro IS STM")); choices.insert (p_t (36910, "Canon EF 70-300mm f/4-5.6 IS II USM")); choices.insert (p_t (36912, "Canon EF-S 18-135mm f/3.5-5.6 IS USM")); + choices.insert (p_t (61494, "Canon CN-E 85mm T1.3 L F")); choices.insert (p_t (65535, "n/a")); } @@ -1577,7 +1584,7 @@ public: choices[41353216] = "PowerShot SD940 IS / Digital IXUS 120 IS / IXY Digital 220 IS"; choices[41943040] = "PowerShot A495"; choices[42008576] = "PowerShot A490"; - choices[42074112] = "PowerShot A3100 IS / A3150 IS"; + choices[42074112] = "PowerShot A3100/A3150 IS"; choices[42139648] = "PowerShot A3000 IS"; choices[42205184] = "PowerShot SD1400 IS / IXUS 130 / IXY 400F"; choices[42270720] = "PowerShot SD1300 IS / IXUS 105 / IXY 200F"; @@ -1621,7 +1628,7 @@ public: choices[52887552] = "PowerShot A2400 IS"; choices[52953088] = "PowerShot A2300"; choices[53673984] = "PowerShot G15"; - choices[53739520] = "PowerShot SX50"; + choices[53739520] = "PowerShot SX50 HS"; choices[53805056] = "PowerShot SX160 IS"; choices[53870592] = "PowerShot S110 (new)"; choices[53936128] = "PowerShot SX500 IS"; @@ -1631,6 +1638,7 @@ public: choices[54591488] = "PowerShot SX270 HS"; choices[54657024] = "PowerShot A3500 IS"; choices[54722560] = "PowerShot A2600"; + choices[54788096] = "PowerShot SX275 HS"; choices[54853632] = "PowerShot A1400"; choices[54919168] = "PowerShot ELPH 130 IS / IXUS 140 / IXY 110F"; choices[54984704] = "PowerShot ELPH 115/120 IS / IXUS 132/135 / IXY 90F/100F"; @@ -1679,6 +1687,11 @@ public: choices[67371009] = "IXY 180"; choices[67436544] = "PowerShot SX720 HS"; choices[67502080] = "PowerShot SX620 HS"; + choices[67567616] = "EOS M6"; + choices[68157440] = "PowerShot G9 X Mark II"; + choices[68485120] = "PowerShot ELPH 185 / IXUS 185 / IXY 200"; + choices[68550656] = "PowerShot SX430 IS"; + choices[68616192] = "PowerShot SX730 HS"; choices[100925440] = "PowerShot S100 / Digital IXUS / IXY Digital"; choices[1074255475] = "DC19/DC21/DC22"; choices[1074255476] = "XH A1"; @@ -1763,6 +1776,10 @@ public: choices[2147484563] = "EOS Rebel T6i / 750D / Kiss X8i"; choices[2147484673] = "EOS 5DS R"; choices[2147484676] = "EOS Rebel T6 / 1300D / Kiss X80"; + choices[2147484677] = "EOS Rebel T7i / 800D / Kiss X9i"; + choices[2147484678] = "EOS 6D Mark II"; + choices[2147484680] = "EOS 77D / 9000D"; + choices[2147484695] = "EOS Rebel SL2 / 200D / Kiss X9"; } }; CAModelIDInterpreter caModelIDInterpreter; diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index bf4fc5a6b..ac8e69ead 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -680,6 +680,7 @@ const std::map NALensDataInterpreter::lenses = { {"10 3D 3C 60 2C 3C D2 02", "Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)"}, {"10 48 8E 8E 30 30 08 00", "AF Nikkor 300mm f/4 IF-ED"}, {"11 48 44 5C 24 24 08 00", "AF Zoom-Nikkor 35-70mm f/2.8"}, + {"11 48 44 5C 24 24 15 00", "AF Zoom-Nikkor 35-70mm f/2.8"}, {"12 36 5C 81 35 3D 09 00", "Cosina AF Zoom 70-210mm f/4.5-5.6 MC Macro"}, {"12 36 69 97 35 42 09 00", "Soligor AF Zoom 100-400mm 1:4.5-6.7 MC"}, {"12 38 69 97 35 42 09 02", "Promaster Spectrum 7 100-400mm f/4.5-6.7"}, @@ -1002,6 +1003,7 @@ const std::map NALensDataInterpreter::lenses = { {"A7 3C 53 80 30 3C C2 0E", "AF-S DX Nikkor 55-200mm f/4-5.6G ED VR II"}, {"A7 49 80 A0 24 24 4B 06", "Sigma APO 200-500mm f/2.8 EX DG"}, {"A7 4B 62 62 2C 2C A9 0E", "AF-S DX Micro Nikkor 85mm f/3.5G ED VR"}, + {"A8 38 18 30 34 3C D3 8E", "AF-P DX Nikkor 10-20mm f/4.5-5.6G VR"}, {"A8 48 80 98 30 30 AA 0E", "AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED II"}, {"A8 48 8E 8E 30 30 C3 0E", "AF-S Nikkor 300mm f/4E PF ED VR"}, {"A8 48 8E 8E 30 30 C3 4E", "AF-S Nikkor 300mm f/4E PF ED VR"}, @@ -1030,6 +1032,8 @@ const std::map NALensDataInterpreter::lenses = { {"B6 48 37 56 24 24 1C 02", "Sigma 24-60mm f/2.8 EX DG"}, {"B7 44 60 98 34 3C B9 0E", "AF-S Nikkor 80-400mm f/4.5-5.6G ED VR"}, {"B8 40 2D 44 2C 34 BA 06", "AF-S Nikkor 18-35mm f/3.5-4.5G ED"}, + {"BF 4E 26 26 1E 1E 01 04", "Irix 15mm f/2.4 Firefly"}, + {"C3 34 68 98 38 40 4B 4E", "Sigma 100-400mm f/5-6.3 DG OS HSM | C"}, {"CC 4C 50 68 14 14 4B 06", "Sigma 50-100mm f/1.8 DC HSM | A"}, {"CD 3D 2D 70 2E 3C 4B 0E", "Sigma 18-125mm f/3.8-5.6 DC OS HSM"}, {"CE 34 76 A0 38 40 4B 0E", "Sigma 150-500mm f/5-6.3 DG OS APO HSM"}, @@ -1083,7 +1087,7 @@ const std::map NALensDataInterpreter::lenses = { {"FE 53 5C 80 24 24 84 06", "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"}, {"FE 54 5C 80 24 24 DF 0E", "Tamron SP 70-200mm f/2.8 Di VC USD (A009)"}, {"FE 54 64 64 24 24 DF 0E", "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 (F004)"}, - {"FF 40 2D 80 2C 40 4B 06", "Sigma 18-200mm f/3.5-6.3 DC"} + {"FF 40 2D 80 2C 40 4B 06", "Sigma 18-200mm f/3.5-6.3 DC"}, }; const TagAttrib nikonISOInfoAttribs[] = { diff --git a/rtexif/pentaxattribs.cc b/rtexif/pentaxattribs.cc index 2c52a0c88..a1f752f5e 100644 --- a/rtexif/pentaxattribs.cc +++ b/rtexif/pentaxattribs.cc @@ -928,6 +928,7 @@ public: choices.insert (p_t (256 * 8 + 30, "Sigma 17-70mm f/2.8-4 DC Macro HSM | C")); choices.insert (p_t (256 * 8 + 31, "Sigma 18-35mm f/1.8 DC HSM")); choices.insert (p_t (256 * 8 + 32, "Sigma 30mm f/1.4 DC HSM | A")); + choices.insert (p_t (256 * 8 + 33, "Sigma 18-200mm f/3.5-6.3 DC MACRO HSM")); choices.insert (p_t (256 * 8 + 34, "Sigma 18-300mm f/3.5-6.3 DC Macro HSM")); choices.insert (p_t (256 * 8 + 59, "HD PENTAX-D FA 150-450mm f/4.5-5.6 ED DC AW")); choices.insert (p_t (256 * 8 + 60, "HD PENTAX-D FA* 70-200mm f/2.8 ED DC AW")); @@ -977,6 +978,7 @@ public: choices.insert (p_t (256 * 13 + 19, "smc PENTAX-D FA 645 25mm f/4 AL [IF] SDM AW")); choices.insert (p_t (256 * 13 + 20, "HD PENTAX-D FA 645 90mm f/2.8 ED AW SR")); choices.insert (p_t (256 * 13 + 253, "HD PENTAX-DA 645 28-45mm f/4.5 ED AW SR")); + choices.insert (p_t (256 * 13 + 254, "smc PENTAX-DA 645 25mm f/4 AL [IF] SDM AW")); choices.insert (p_t (256 * 21 + 0, "Pentax Q Manual Lens")); choices.insert (p_t (256 * 21 + 1, "01 Standard Prime 8.5mm f/1.9")); choices.insert (p_t (256 * 21 + 2, "02 Standard Zoom 5-15mm f/2.8-4.5")); diff --git a/rtexif/sonyminoltaattribs.cc b/rtexif/sonyminoltaattribs.cc index 7195bf8e5..4e5fa4ba2 100644 --- a/rtexif/sonyminoltaattribs.cc +++ b/rtexif/sonyminoltaattribs.cc @@ -664,7 +664,7 @@ public: {128, "Sigma 35mm f/1.4 DG HSM"}, {128, "Sigma 18-35mm f/1.8 DC HSM"}, {128, "Sigma 50-500mm f/4.5-6.3 APO DG OS HSM"}, - {128, "Sigma 24-105mm f/4 DG HSM | Art 013"}, + {128, "Sigma 24-105mm f/4 DG HSM | A"}, {129, "Tamron Lens (129)"}, {129, "Tamron 200-400mm f/5.6 LD"}, {129, "Tamron 70-300mm f/4-5.6 LD"}, @@ -684,6 +684,8 @@ public: {213, "Tamron 16-300mm f/3.5-6.3 Di II PZD Macro"}, {214, "Tamron SP 150-600mm f/5-6.3 Di USD"}, {215, "Tamron SP 15-30mm f/2.8 Di USD"}, + {216, "Tamron SP 45mm f/1.8 Di USD"}, + {217, "Tamron SP 35mm f/1.8 Di USD"}, {218, "Tamron SP 90mm f/2.8 Di Macro 1:1 USD (F017)"}, {224, "Tamron SP 90mm f/2.8 Di Macro 1:1 USD (F004)"}, {255, "Tamron Lens (255)"}, @@ -838,6 +840,7 @@ public: {6553, "Sony E 20mm f/2.8"}, {6553, "Sony E 35mm f/1.8 OSS"}, {6553, "Sony E PZ 18-105mm f/4 G OSS"}, + {6553, "Sony FE 12-24mm f/4 G"}, {6553, "Sony FE 90mm f/2.8 Macro G OSS"}, {6553, "Sony E 18-50mm f/4-5.6"}, {6553, "Sony E PZ 18-200mm f/3.5-6.3 OSS"}, @@ -851,6 +854,7 @@ public: {6553, "Sony FE 28mm f/2"}, {6553, "Sony FE PZ 28-135mm f/4 G OSS"}, {6553, "Sony FE 100mm f/2.8 STF GM OSS"}, + {6553, "Sony E PZ 18-110mm f/4 G OSS"}, {6553, "Sony FE 24-70mm f/2.8 GM"}, {6553, "Sony FE 50mm f/1.4 ZA"}, {6553, "Sony FE 85mm f/1.4 GM"}, @@ -858,17 +862,27 @@ public: {6553, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)"}, {6553, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)"}, {6553, "Sony FE 70-300mm f/4.5-5.6 G OSS"}, + {6553, "Sony FE 100-400mm f/4.5-5.6 GM OSS"}, {6553, "Sony FE 70-200mm f/2.8 GM OSS"}, + {6553, "Sony FE 16-35mm f/2.8 GM"}, {6553, "Sony FE 70-200mm f/2.8 GM OSS + 1.4X Teleconverter"}, {6553, "Sony FE 70-200mm f/2.8 GM OSS + 2X Teleconverter"}, + {6553, "Sony FE 100-400mm f/4.5-5.6 GM OSS + 1.4X Teleconverter"}, + {6553, "Sony FE 100-400mm f/4.5-5.6 GM OSS + 2X Teleconverter"}, {6553, "Samyang AF 50mm f/1.4 FE"}, {6553, "Samyang AF 14mm f/2.8 FE"}, + {6553, "Samyang AF 35mm f/2.8 FE"}, {6553, "Sigma 19mm f/2.8 [EX] DN"}, {6553, "Sigma 30mm f/2.8 [EX] DN"}, {6553, "Sigma 60mm f/2.8 DN"}, - {6553, "Sigma 30mm f/1.4 DC DN | C 016"}, + {6553, "Sigma 30mm f/1.4 DC DN | C"}, {6553, "Tamron 18-200mm f/3.5-6.3 Di III VC"}, {6553, "Tokina Firin 20mm f/2 FE MF"}, + {6553, "Voigtlander SUPER WIDE-HELIAR 15mm f/4.5 III"}, + {6553, "Voigtlander HELIAR-HYPER WIDE 10mm f/5.6"}, + {6553, "Voigtlander ULTRA WIDE-HELIAR 12mm f/5.6 III"}, + {6553, "Voigtlander MACRO APO-LANTHAR 65mm f/2 Aspherical"}, + {6553, "Voigtlander NOKTON 40mm f/1.2 Aspherical"}, {6553, "Zeiss Touit 12mm f/2.8"}, {6553, "Zeiss Touit 32mm f/1.8"}, {6553, "Zeiss Touit 50mm f/2.8 Macro"}, @@ -1029,6 +1043,7 @@ public: {65535, "Sony E 20mm f/2.8"}, {65535, "Sony E 35mm f/1.8 OSS"}, {65535, "Sony E PZ 18-105mm f/4 G OSS"}, + {65535, "Sony FE 12-24mm f/4 G"}, {65535, "Sony FE 90mm f/2.8 Macro G OSS"}, {65535, "Sony E 18-50mm f/4-5.6"}, {65535, "Sony E PZ 18-200mm f/3.5-6.3 OSS"}, @@ -1042,6 +1057,7 @@ public: {65535, "Sony FE 28mm f/2"}, {65535, "Sony FE PZ 28-135mm f/4 G OSS"}, {65535, "Sony FE 100mm f/2.8 STF GM OSS"}, + {65535, "Sony E PZ 18-110mm f/4 G OSS"}, {65535, "Sony FE 24-70mm f/2.8 GM"}, {65535, "Sony FE 50mm f/1.4 ZA"}, {65535, "Sony FE 85mm f/1.4 GM"}, @@ -1049,17 +1065,27 @@ public: {65535, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)"}, {65535, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)"}, {65535, "Sony FE 70-300mm f/4.5-5.6 G OSS"}, + {65535, "Sony FE 100-400mm f/4.5-5.6 GM OSS"}, {65535, "Sony FE 70-200mm f/2.8 GM OSS"}, + {65535, "Sony FE 16-35mm f/2.8 GM"}, {65535, "Sony FE 70-200mm f/2.8 GM OSS + 1.4X Teleconverter"}, {65535, "Sony FE 70-200mm f/2.8 GM OSS + 2X Teleconverter"}, + {65535, "Sony FE 100-400mm f/4.5-5.6 GM OSS + 1.4X Teleconverter"}, + {65535, "Sony FE 100-400mm f/4.5-5.6 GM OSS + 2X Teleconverter"}, {65535, "Samyang AF 50mm f/1.4 FE"}, {65535, "Samyang AF 14mm f/2.8 FE"}, + {65535, "Samyang AF 35mm f/2.8 FE"}, {65535, "Sigma 19mm f/2.8 [EX] DN"}, {65535, "Sigma 30mm f/2.8 [EX] DN"}, {65535, "Sigma 60mm f/2.8 DN"}, - {65535, "Sigma 30mm f/1.4 DC DN | C 016"}, + {65535, "Sigma 30mm f/1.4 DC DN | C"}, {65535, "Tamron 18-200mm f/3.5-6.3 Di III VC"}, {65535, "Tokina Firin 20mm f/2 FE MF"}, + {65535, "Voigtlander SUPER WIDE-HELIAR 15mm f/4.5 III"}, + {65535, "Voigtlander HELIAR-HYPER WIDE 10mm f/5.6"}, + {65535, "Voigtlander ULTRA WIDE-HELIAR 12mm f/5.6 III"}, + {65535, "Voigtlander MACRO APO-LANTHAR 65mm f/2 Aspherical"}, + {65535, "Voigtlander NOKTON 40mm f/1.2 Aspherical"}, {65535, "Zeiss Touit 12mm f/2.8"}, {65535, "Zeiss Touit 32mm f/1.8"}, {65535, "Zeiss Touit 50mm f/2.8 Macro"}, @@ -1121,7 +1147,7 @@ public: SALensID2Interpreter () { choices.insert (p_t (0, "Unknown E-mount lens or other lens")); - choices.insert (p_t (1, "Sony LA-EA1 Adapter")); + choices.insert (p_t (1, "Sony LA-EA1 or Sigma MC-11 Adapter")); choices.insert (p_t (2, "Sony LA-EA2 Adapter")); choices.insert (p_t (3, "Sony LA-EA3 Adapter")); choices.insert (p_t (6, "Sony LA-EA4 Adapter")); @@ -1148,6 +1174,7 @@ public: choices.insert (p_t (32798, "Sony E 20mm f/2.8")); choices.insert (p_t (32799, "Sony E 35mm f/1.8 OSS")); choices.insert (p_t (32800, "Sony E PZ 18-105mm f/4 G OSS")); + choices.insert (p_t (32801, "Sony FE 12-24mm f/4 G")); choices.insert (p_t (32802, "Sony FE 90mm f/2.8 Macro G OSS")); choices.insert (p_t (32803, "Sony E 18-50mm f/4-5.6")); choices.insert (p_t (32807, "Sony E PZ 18-200mm f/3.5-6.3 OSS")); @@ -1161,6 +1188,7 @@ public: choices.insert (p_t (32816, "Sony FE 28mm f/2")); choices.insert (p_t (32817, "Sony FE PZ 28-135mm f/4 G OSS")); choices.insert (p_t (32819, "Sony FE 100mm f/2.8 STF GM OSS")); + choices.insert (p_t (32820, "Sony E PZ 18-110mm f/4 G OSS")); choices.insert (p_t (32821, "Sony FE 24-70mm f/2.8 GM")); choices.insert (p_t (32822, "Sony FE 50mm f/1.4 ZA")); choices.insert (p_t (32823, "Sony FE 85mm f/1.4 GM")); @@ -1168,11 +1196,15 @@ public: choices.insert (p_t (32826, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)")); choices.insert (p_t (32827, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)")); choices.insert (p_t (32828, "Sony FE 70-300mm f/4.5-5.6 G OSS")); + choices.insert (p_t (32829, "Sony FE 100-400mm f/4.5-5.6 GM OSS")); choices.insert (p_t (32830, "Sony FE 70-200mm f/2.8 GM OSS")); - choices.insert (p_t (33002, "Sigma 85mm f/1.4 DG HSM | A 016 (+ Metabones Ver.50)")); + choices.insert (p_t (32831, "Sony FE 16-35mm f/2.8 GM")); + choices.insert (p_t (33002, "Sigma 85mm f/1.4 DG HSM | A (+ Metabones Ver.50)")); choices.insert (p_t (33072, "Sony FE 70-200mm f/2.8 GM OSS + 1.4X Teleconverter")); choices.insert (p_t (33073, "Sony FE 70-200mm f/2.8 GM OSS + 2X Teleconverter")); choices.insert (p_t (33076, "Sony FE 100mm f/2.8 STF GM OSS (macro mode)")); + choices.insert (p_t (33077, "Sony FE 100-400mm f/4.5-5.6 GM OSS + 1.4X Teleconverter")); + choices.insert (p_t (33078, "Sony FE 100-400mm f/4.5-5.6 GM OSS + 2X Teleconverter")); choices.insert (p_t (49201, "Zeiss Touit 12mm f/2.8")); choices.insert (p_t (49202, "Zeiss Touit 32mm f/1.8")); choices.insert (p_t (49203, "Zeiss Touit 50mm f/2.8 Macro")); @@ -1184,24 +1216,26 @@ public: choices.insert (p_t (49233, "Zeiss Loxia 35mm f/2")); choices.insert (p_t (49234, "Zeiss Loxia 21mm f/2.8")); choices.insert (p_t (49235, "Zeiss Loxia 85mm f/2.4")); - choices.insert (p_t (50480, "Sigma 30mm f/1.4 DC DN | C 016")); - choices.insert (p_t (50481, "Sigma 50mm f/1.4 DG HSM | A 014 + MC-11")); - choices.insert (p_t (50482, "Sigma 18-300mm f/3.5-6.3 DC MACRO OS HSM | C 014 + MC-11")); - choices.insert (p_t (50483, "Sigma 18-35mm f/1.8 DC HSM | A 013 + MC-11")); - choices.insert (p_t (50484, "Sigma 24-35mm f/2 DG HSM | A 015 + MC-11")); - choices.insert (p_t (50486, "Sigma 150-600mm f/5-6.3 DG OS HSM | C 015 + MC-11")); - choices.insert (p_t (50487, "Sigma 20mm f/1.4 DG HSM | A 015 + MC-11")); - choices.insert (p_t (50488, "Sigma 35mm f/1.4 DG HSM | A 012 + MC-11")); - choices.insert (p_t (50489, "Sigma 150-600mm f/5-6.3 DG OS HSM | S 014 + MC-11")); - choices.insert (p_t (50490, "Sigma 120-300mm f/2.8 DG OS HSM | S 013 + MC-11")); - choices.insert (p_t (50492, "Sigma 24-105mm f/4 DG OS HSM | A 013 + MC-11")); - choices.insert (p_t (50493, "Sigma 17-70mm f/2.8-4 DC MACRO OS HSM | C 013 + MC-11")); - choices.insert (p_t (50495, "Sigma 50-100mm f/1.8 DC HSM | A 016 + MC-11")); + choices.insert (p_t (50480, "Sigma 30mm f/1.4 DC DN | C")); + choices.insert (p_t (50481, "Sigma 50mm f/1.4 DG HSM | A + MC-11")); + choices.insert (p_t (50482, "Sigma 18-300mm f/3.5-6.3 DC MACRO OS HSM | C + MC-11")); + choices.insert (p_t (50483, "Sigma 18-35mm f/1.8 DC HSM | A + MC-11")); + choices.insert (p_t (50484, "Sigma 24-35mm f/2 DG HSM | A + MC-11")); + choices.insert (p_t (50486, "Sigma 150-600mm f/5-6.3 DG OS HSM | C + MC-11")); + choices.insert (p_t (50487, "Sigma 20mm f/1.4 DG HSM | A + MC-11")); + choices.insert (p_t (50488, "Sigma 35mm f/1.4 DG HSM | A + MC-11")); + choices.insert (p_t (50489, "Sigma 150-600mm f/5-6.3 DG OS HSM | S + MC-11")); + choices.insert (p_t (50490, "Sigma 120-300mm f/2.8 DG OS HSM | S + MC-11")); + choices.insert (p_t (50492, "Sigma 24-105mm f/4 DG OS HSM | A + MC-11")); + choices.insert (p_t (50493, "Sigma 17-70mm f/2.8-4 DC MACRO OS HSM | C + MC-11")); + choices.insert (p_t (50495, "Sigma 50-100mm f/1.8 DC HSM | A + MC-11")); choices.insert (p_t (50992, "Voigtlander SUPER WIDE-HELIAR 15mm f/4.5 III")); choices.insert (p_t (50993, "Voigtlander HELIAR-HYPER WIDE 10mm f/5.6")); choices.insert (p_t (50994, "Voigtlander ULTRA WIDE-HELIAR 12mm f/5.6 III")); + choices.insert (p_t (50995, "Voigtlander MACRO APO-LANTHAR 65mm f/2 Aspherical")); choices.insert (p_t (50996, "Voigtlander NOKTON 40mm f/1.2 Aspherical")); - choices.insert (p_t (51505, "Samyang AF 14mm f/2.8 FE")); + choices.insert (p_t (51505, "Samyang AF 14mm f/2.8 FE or Samyang AF 35mm f/2.8 FE")); + choices.insert (p_t (51505, "Samyang AF 35mm f/2.8 FE")); } virtual std::string toString (Tag* t) diff --git a/tools/generateLensList b/tools/generateRtexifUpdates similarity index 66% rename from tools/generateLensList rename to tools/generateRtexifUpdates index 13738a359..95a32c088 100755 --- a/tools/generateLensList +++ b/tools/generateRtexifUpdates @@ -1,24 +1,24 @@ #!/usr/bin/env bash # This Bash4 script generates lens ID and other parameter lists for rtexif/*.cc -# files using ExifTool. It uses xmlstarlet to parse ExifTool's output. +# using ExifTool. It uses xmlstarlet to parse ExifTool's output. # # Run the script from the project root: -# ./tools/generateLensList +# ./tools/generateRtexifUpdates # -# Manually replace old code in rtexif/* with new from /tmp/rt-generateLensList/* +# Manually replace old code in rtexif/* with new from /tmp/rt-generateRtexifUpdates/* # # Blame DrSlony # Please report bugs or enhancements to https://github.com/Beep6581/RawTherapee -et="$HOME/programs/code-exiftool/exiftool" +et="$HOME/programs/Image-ExifTool-10.61/exiftool" hash "$et" 2>/dev/null || { echo >&2 "ExifTool not found, install it first."; exit 1; } hash xmlstarlet 2>/dev/null || { echo >&2 "XMLStarlet not found, install it first."; exit 1; } unset cam cams -tmpdir="/tmp/rt-generateLensList" +tmpdir="/tmp/rt-generateRtexifUpdates" printf '%s\n' "ExifTool version: $("$et" -ver)" "" "XMLStarlet version: $(xmlstarlet --version)" | sed 's/^/# /' @@ -30,15 +30,18 @@ mkdir -p "$tmpdir" || { printf '%s\n' "Error creating $tmpdir" ""; exit 1; } echo # Canon -printf '%s\n' "Saving ${tmpdir}/canon" -xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -canon:all) | sort -fuV > "${tmpdir}/canon" -sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/canon" +printf '%s\n' "Saving ${tmpdir}/canon_lenses" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -canon:all) | sort -fuV > "${tmpdir}/canon_lenses" +sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert (p_t (/' -e 's/$/"));/' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/canon_lenses" # xmlstarlet sel -T -t -m "taginfo/table/tag[@name='EasyMode']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -canon:all) | sed -r -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1] = "/' -e 's/^/ choices[/' -e 's/$/";/' +printf '%s\n' "Saving ${tmpdir}/canon_cameras" +xmlstarlet sel -T -t -m "taginfo/table/tag[@name='CanonModelID']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -canon:all) | sort -fuV > "${tmpdir}/canon_cameras" +sed -r -i -e 's/^/ choices[/' -e 's/\t/] = "/' -e 's/$/";/' "${tmpdir}/canon_cameras" # Nikon LensIDs are composite tags printf '%s\n' "Saving ${tmpdir}/nikon" xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensID']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -composite:all) > "${tmpdir}/nikon" -sed -r -i -e '/^... /d' -e 's/^/ {"/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1", "/' -e 's/$/"},/' -e 's|(.* ")(.*) F([0-9]+)|\1\2 f/\3|' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/nikon" +sed -r -i -e '/^... /d' -e 's/^/ {"/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1", "/' -e 's/$/"},/' -e 's|(.* ")(.*) F([0-9]+)|\1\2 f/\3|' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/nikon" # Olympus printf '%s\n' "Saving ${tmpdir}/olympus" @@ -48,7 +51,7 @@ sed -r -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e # Pentax printf '%s\n' "Saving ${tmpdir}/pentax" xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -pentax:all) | sort -fuV > "${tmpdir}/pentax" -sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|' "${tmpdir}/pentax" +sed -r -i -e 's/^/ choices.insert (p_t (256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|' "${tmpdir}/pentax" # Sony printf '%s\n' "Saving ${tmpdir}/sony" @@ -56,6 +59,6 @@ xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "con # Sony has more lenses under the LensType2 tag printf '%s\n' "Saving ${tmpdir}/sony-lenstype2" xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <("$et" -listx -sony:all) | sort -fuV > "${tmpdir}/sony-lenstype2" -sed -r -i -e 's/^/ {/' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/$/"},/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony" -sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony-lenstype2" +sed -r -i -e 's/^/ {/' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/$/"},/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony" +sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert (p_t (/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony-lenstype2"