diff --git a/lib/PHPExiftool/Driver/Tag/Composite/LensID.php b/lib/PHPExiftool/Driver/Tag/Composite/LensID.php index da5678ec0..329460a1c 100644 --- a/lib/PHPExiftool/Driver/Tag/Composite/LensID.php +++ b/lib/PHPExiftool/Driver/Tag/Composite/LensID.php @@ -43,30 +43,6 @@ class LensID extends AbstractTag protected $local_g2 = 'Camera'; protected $Values = array( - 'RL1' => array( - 'Id' => 'RL1', - 'Label' => 'GR Lens A12 50mm F2.5 Macro', - ), - 'RL2' => array( - 'Id' => 'RL2', - 'Label' => 'Ricoh Lens S10 24-70mm F2.5-4.4 VC', - ), - 'RL3' => array( - 'Id' => 'RL3', - 'Label' => 'Ricoh Lens P10 28-300mm F3.5-5.6 VC', - ), - 'RL5' => array( - 'Id' => 'RL5', - 'Label' => 'GR Lens A12 28mm F2.5', - ), - 'RL6' => array( - 'Id' => 'RL6', - 'Label' => 'Ricoh Lens A16 24-85mm F3.5-5.5', - ), - 'RL8' => array( - 'Id' => 'RL8', - 'Label' => 'Mount A12', - ), '00 00 00 00 00 00 00 01' => array( 'Id' => '00 00 00 00 00 00 00 01', 'Label' => 'Manual Lens No CPU', @@ -1919,6 +1895,30 @@ class LensID extends AbstractTag 'Id' => 'FF 40 2D 80 2C 40 4B 06', 'Label' => 'Sigma 18-200mm F3.5-6.3 DC', ), + 'RL1' => array( + 'Id' => 'RL1', + 'Label' => 'GR Lens A12 50mm F2.5 Macro', + ), + 'RL2' => array( + 'Id' => 'RL2', + 'Label' => 'Ricoh Lens S10 24-70mm F2.5-4.4 VC', + ), + 'RL3' => array( + 'Id' => 'RL3', + 'Label' => 'Ricoh Lens P10 28-300mm F3.5-5.6 VC', + ), + 'RL5' => array( + 'Id' => 'RL5', + 'Label' => 'GR Lens A12 28mm F2.5', + ), + 'RL6' => array( + 'Id' => 'RL6', + 'Label' => 'Ricoh Lens A16 24-85mm F3.5-5.5', + ), + 'RL8' => array( + 'Id' => 'RL8', + 'Label' => 'Mount A12', + ), ); } diff --git a/lib/PHPExiftool/Driver/Tag/IFD0/Artist.php b/lib/PHPExiftool/Driver/Tag/IFD0/Artist.php index b1dafed21..5f685e28b 100644 --- a/lib/PHPExiftool/Driver/Tag/IFD0/Artist.php +++ b/lib/PHPExiftool/Driver/Tag/IFD0/Artist.php @@ -42,4 +42,6 @@ class Artist extends AbstractTag protected $local_g2 = 'Author'; + protected $flag_List = true; + } diff --git a/lib/PHPExiftool/Driver/Tag/MWG/City.php b/lib/PHPExiftool/Driver/Tag/MWG/City.php new file mode 100644 index 000000000..1229302c4 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/City.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class City extends AbstractTag +{ + + protected $Id = 'City'; + + protected $Name = 'City'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'City'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Location'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Copyright.php b/lib/PHPExiftool/Driver/Tag/MWG/Copyright.php new file mode 100644 index 000000000..a8875eb0d --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Copyright.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Copyright extends AbstractTag +{ + + protected $Id = 'Copyright'; + + protected $Name = 'Copyright'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Copyright'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Author'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Country.php b/lib/PHPExiftool/Driver/Tag/MWG/Country.php new file mode 100644 index 000000000..6bf36c7df --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Country.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Country extends AbstractTag +{ + + protected $Id = 'Country'; + + protected $Name = 'Country'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Country'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Location'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/CreateDate.php b/lib/PHPExiftool/Driver/Tag/MWG/CreateDate.php new file mode 100644 index 000000000..ffb17312d --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/CreateDate.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class CreateDate extends AbstractTag +{ + + protected $Id = 'CreateDate'; + + protected $Name = 'CreateDate'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Create Date'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Time'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Creator.php b/lib/PHPExiftool/Driver/Tag/MWG/Creator.php new file mode 100644 index 000000000..03e6a4fe4 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Creator.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Creator extends AbstractTag +{ + + protected $Id = 'Creator'; + + protected $Name = 'Creator'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Creator'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Author'; + + protected $flag_List = true; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/DateTimeOriginal.php b/lib/PHPExiftool/Driver/Tag/MWG/DateTimeOriginal.php new file mode 100644 index 000000000..1386784f2 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/DateTimeOriginal.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class DateTimeOriginal extends AbstractTag +{ + + protected $Id = 'DateTimeOriginal-2'; + + protected $Name = 'DateTimeOriginal'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Date/Time Original'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Time'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Description.php b/lib/PHPExiftool/Driver/Tag/MWG/Description.php new file mode 100644 index 000000000..7f36082b5 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Description.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Description extends AbstractTag +{ + + protected $Id = 'Description'; + + protected $Name = 'Description'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Description'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Image'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Keywords.php b/lib/PHPExiftool/Driver/Tag/MWG/Keywords.php new file mode 100644 index 000000000..ff07a7f89 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Keywords.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Keywords extends AbstractTag +{ + + protected $Id = 'Keywords'; + + protected $Name = 'Keywords'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Keywords'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Image'; + + protected $flag_List = true; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Location.php b/lib/PHPExiftool/Driver/Tag/MWG/Location.php new file mode 100644 index 000000000..aaba91e6c --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Location.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Location extends AbstractTag +{ + + protected $Id = 'Location'; + + protected $Name = 'Location'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Location'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Location'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/ModifyDate.php b/lib/PHPExiftool/Driver/Tag/MWG/ModifyDate.php new file mode 100644 index 000000000..c751966a8 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/ModifyDate.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class ModifyDate extends AbstractTag +{ + + protected $Id = 'ModifyDate'; + + protected $Name = 'ModifyDate'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Modify Date'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Time'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Orientation.php b/lib/PHPExiftool/Driver/Tag/MWG/Orientation.php new file mode 100644 index 000000000..da3f56991 --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Orientation.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Orientation extends AbstractTag +{ + + protected $Id = 'Orientation'; + + protected $Name = 'Orientation'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Orientation'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Image'; + + protected $Values = array( + 1 => array( + 'Id' => 1, + 'Label' => 'Horizontal (normal)', + ), + 2 => array( + 'Id' => 2, + 'Label' => 'Mirror horizontal', + ), + 3 => array( + 'Id' => 3, + 'Label' => 'Rotate 180', + ), + 4 => array( + 'Id' => 4, + 'Label' => 'Mirror vertical', + ), + 5 => array( + 'Id' => 5, + 'Label' => 'Mirror horizontal and rotate 270 CW', + ), + 6 => array( + 'Id' => 6, + 'Label' => 'Rotate 90 CW', + ), + 7 => array( + 'Id' => 7, + 'Label' => 'Mirror horizontal and rotate 90 CW', + ), + 8 => array( + 'Id' => 8, + 'Label' => 'Rotate 270 CW', + ), + ); + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/Rating.php b/lib/PHPExiftool/Driver/Tag/MWG/Rating.php new file mode 100644 index 000000000..c8c8da25a --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/Rating.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class Rating extends AbstractTag +{ + + protected $Id = 'Rating'; + + protected $Name = 'Rating'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'Rating'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Image'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/MWG/State.php b/lib/PHPExiftool/Driver/Tag/MWG/State.php new file mode 100644 index 000000000..29134693e --- /dev/null +++ b/lib/PHPExiftool/Driver/Tag/MWG/State.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace PHPExiftool\Driver\Tag\MWG; + +use JMS\Serializer\Annotation\ExclusionPolicy; +use PHPExiftool\Driver\AbstractTag; + +/** + * @ExclusionPolicy("all") + */ +class State extends AbstractTag +{ + + protected $Id = 'State'; + + protected $Name = 'State'; + + protected $FullName = 'Composite'; + + protected $GroupName = 'MWG'; + + protected $g0 = 'Composite'; + + protected $g1 = 'Composite'; + + protected $g2 = 'Other'; + + protected $Type = '?'; + + protected $Writable = true; + + protected $Description = 'State'; + + protected $local_g1 = 'MWG'; + + protected $local_g2 = 'Location'; + +} diff --git a/lib/PHPExiftool/Driver/Tag/Minolta/LensType.php b/lib/PHPExiftool/Driver/Tag/Minolta/LensType.php index 19d1358b1..dfa5a7855 100644 --- a/lib/PHPExiftool/Driver/Tag/Minolta/LensType.php +++ b/lib/PHPExiftool/Driver/Tag/Minolta/LensType.php @@ -411,14 +411,14 @@ class LensType extends AbstractTag 'Id' => 128, 'Label' => 'Tamron or Sigma Lens (128)', ), - '128.1' => array( - 'Id' => '128.1', - 'Label' => 'Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro', - ), '128.10' => array( 'Id' => '128.10', 'Label' => 'Sigma 50mm F1.4 EX DG HSM', ), + '128.1' => array( + 'Id' => '128.1', + 'Label' => 'Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro', + ), '128.11' => array( 'Id' => '128.11', 'Label' => 'Sigma 85mm F1.4 EX DG HSM', @@ -1035,14 +1035,14 @@ class LensType extends AbstractTag 'Id' => 65535, 'Label' => 'E-Mount, T-Mount, Other Lens or no lens', ), - '65535.10' => array( - 'Id' => '65535.10', - 'Label' => 'Sony E PZ 16-50mm F3.5-5.6 OSS', - ), '65535.1' => array( 'Id' => '65535.1', 'Label' => 'Sony E 16mm F2.8', ), + '65535.10' => array( + 'Id' => '65535.10', + 'Label' => 'Sony E PZ 16-50mm F3.5-5.6 OSS', + ), '65535.11' => array( 'Id' => '65535.11', 'Label' => 'Sony FE 35mm F2.8 ZA', diff --git a/lib/PHPExiftool/Driver/Tag/Sony/LensType.php b/lib/PHPExiftool/Driver/Tag/Sony/LensType.php index 861b4a8ce..47bac3358 100644 --- a/lib/PHPExiftool/Driver/Tag/Sony/LensType.php +++ b/lib/PHPExiftool/Driver/Tag/Sony/LensType.php @@ -411,14 +411,14 @@ class LensType extends AbstractTag 'Id' => 128, 'Label' => 'Tamron or Sigma Lens (128)', ), - '128.1' => array( - 'Id' => '128.1', - 'Label' => 'Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro', - ), '128.10' => array( 'Id' => '128.10', 'Label' => 'Sigma 50mm F1.4 EX DG HSM', ), + '128.1' => array( + 'Id' => '128.1', + 'Label' => 'Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro', + ), '128.11' => array( 'Id' => '128.11', 'Label' => 'Sigma 85mm F1.4 EX DG HSM', @@ -1049,11 +1049,11 @@ class LensType extends AbstractTag ), '6553.12' => array( 'Id' => '6553.12', - 'Label' => 'Sony E 18-55mm F3.5-5.6 OSS', + 'Label' => 'Sony FE 70-200mm F4 G OSS', ), '6553.13' => array( 'Id' => '6553.13', - 'Label' => 'Sony FE 70-200mm F4 G OSS', + 'Label' => 'Sony E 18-55mm F3.5-5.6 OSS', ), '6553.14' => array( 'Id' => '6553.14', @@ -1079,14 +1079,14 @@ class LensType extends AbstractTag 'Id' => '6553.19', 'Label' => 'Zeiss Touit 12mm F2.8', ), - '6553.2' => array( - 'Id' => '6553.2', - 'Label' => 'Sony E PZ 16-50mm F3.5-5.6 OSS', - ), '6553.20' => array( 'Id' => '6553.20', 'Label' => 'Zeiss Touit 32mm F1.8', ), + '6553.2' => array( + 'Id' => '6553.2', + 'Label' => 'Sony E PZ 16-50mm F3.5-5.6 OSS', + ), '6553.21' => array( 'Id' => '6553.21', 'Label' => 'Zeiss Touit 50mm F2.8 Macro', @@ -1097,11 +1097,11 @@ class LensType extends AbstractTag ), '6553.23' => array( 'Id' => '6553.23', - 'Label' => 'Arax MC 80mm F2.8 Tilt+Shift', + 'Label' => 'Sony E 55-210mm F4.5-6.3 OSS', ), '6553.24' => array( 'Id' => '6553.24', - 'Label' => 'Sony E 55-210mm F4.5-6.3 OSS', + 'Label' => 'Arax MC 80mm F2.8 Tilt+Shift', ), '6553.25' => array( 'Id' => '6553.25', @@ -1651,14 +1651,14 @@ class LensType extends AbstractTag 'Id' => 65535, 'Label' => 'E-Mount, T-Mount, Other Lens or no lens', ), - '65535.10' => array( - 'Id' => '65535.10', - 'Label' => 'Sony E PZ 16-50mm F3.5-5.6 OSS', - ), '65535.1' => array( 'Id' => '65535.1', 'Label' => 'Sony E 16mm F2.8', ), + '65535.10' => array( + 'Id' => '65535.10', + 'Label' => 'Sony E PZ 16-50mm F3.5-5.6 OSS', + ), '65535.11' => array( 'Id' => '65535.11', 'Label' => 'Sony FE 35mm F2.8 ZA', @@ -1695,14 +1695,14 @@ class LensType extends AbstractTag 'Id' => '65535.19', 'Label' => 'Sony FE 55mm F1.8 ZA', ), - '65535.2' => array( - 'Id' => '65535.2', - 'Label' => 'Sony E 18-55mm F3.5-5.6 OSS', - ), '65535.20' => array( 'Id' => '65535.20', 'Label' => 'Sony FE 70-200mm F4 G OSS', ), + '65535.2' => array( + 'Id' => '65535.2', + 'Label' => 'Sony E 18-55mm F3.5-5.6 OSS', + ), '65535.21' => array( 'Id' => '65535.21', 'Label' => 'Sony FE 28-70mm F3.5-5.6 OSS', @@ -1739,14 +1739,14 @@ class LensType extends AbstractTag 'Id' => '65535.29', 'Label' => 'Arax MC 35mm F2.8 Tilt+Shift', ), - '65535.30' => array( - 'Id' => '65535.30', - 'Label' => 'Arax MC 80mm F2.8 Tilt+Shift', - ), '65535.3' => array( 'Id' => '65535.3', 'Label' => 'Sony E 55-210mm F4.5-6.3 OSS', ), + '65535.30' => array( + 'Id' => '65535.30', + 'Label' => 'Arax MC 80mm F2.8 Tilt+Shift', + ), '65535.31' => array( 'Id' => '65535.31', 'Label' => 'Zenitar MF 16mm F2.8 Fisheye M42', diff --git a/lib/PHPExiftool/Driver/TagProvider.php b/lib/PHPExiftool/Driver/TagProvider.php index 12f2e4e77..cb3929d29 100644 --- a/lib/PHPExiftool/Driver/TagProvider.php +++ b/lib/PHPExiftool/Driver/TagProvider.php @@ -1391,6 +1391,23 @@ public function __construct() 'ZoomedPreviewImage' => new \PHPExiftool\Driver\Tag\Composite\ZoomedPreviewImage(), ); }); + $this['MWG'] = $this->share(function(){ + return array( + 'City' => new \PHPExiftool\Driver\Tag\MWG\City(), + 'Copyright' => new \PHPExiftool\Driver\Tag\MWG\Copyright(), + 'Country' => new \PHPExiftool\Driver\Tag\MWG\Country(), + 'CreateDate' => new \PHPExiftool\Driver\Tag\MWG\CreateDate(), + 'Creator' => new \PHPExiftool\Driver\Tag\MWG\Creator(), + 'DateTimeOriginal' => new \PHPExiftool\Driver\Tag\MWG\DateTimeOriginal(), + 'Description' => new \PHPExiftool\Driver\Tag\MWG\Description(), + 'Keywords' => new \PHPExiftool\Driver\Tag\MWG\Keywords(), + 'Location' => new \PHPExiftool\Driver\Tag\MWG\Location(), + 'ModifyDate' => new \PHPExiftool\Driver\Tag\MWG\ModifyDate(), + 'Orientation' => new \PHPExiftool\Driver\Tag\MWG\Orientation(), + 'Rating' => new \PHPExiftool\Driver\Tag\MWG\Rating(), + 'State' => new \PHPExiftool\Driver\Tag\MWG\State(), + ); + }); $this['FLIR'] = $this->share(function(){ return array( 'PeakSpectralSensitivity' => new \PHPExiftool\Driver\Tag\FLIR\PeakSpectralSensitivity(), @@ -16554,6 +16571,7 @@ public function getAll() 'CanonVRD' => $this['CanonVRD'], 'Casio' => $this['Casio'], 'Composite' => $this['Composite'], + 'MWG' => $this['MWG'], 'FLIR' => $this['FLIR'], 'DICOM' => $this['DICOM'], 'ExifIFD' => $this['ExifIFD'], @@ -23405,6 +23423,74 @@ public function getLookupTable() 'classname' => 'PHPExiftool\Driver\Tag\Composite\ZoomedPreviewImage', ), + ), + 'mwg' => array( + 'city' => array( + 'namespace' => 'MWG', + 'tagname' => 'City', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\City', + ), + 'copyright' => array( + 'namespace' => 'MWG', + 'tagname' => 'Copyright', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Copyright', + ), + 'country' => array( + 'namespace' => 'MWG', + 'tagname' => 'Country', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Country', + ), + 'createdate' => array( + 'namespace' => 'MWG', + 'tagname' => 'CreateDate', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\CreateDate', + ), + 'creator' => array( + 'namespace' => 'MWG', + 'tagname' => 'Creator', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Creator', + ), + 'datetimeoriginal' => array( + 'namespace' => 'MWG', + 'tagname' => 'DateTimeOriginal', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\DateTimeOriginal', + ), + 'description' => array( + 'namespace' => 'MWG', + 'tagname' => 'Description', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Description', + ), + 'keywords' => array( + 'namespace' => 'MWG', + 'tagname' => 'Keywords', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Keywords', + ), + 'location' => array( + 'namespace' => 'MWG', + 'tagname' => 'Location', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Location', + ), + 'modifydate' => array( + 'namespace' => 'MWG', + 'tagname' => 'ModifyDate', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\ModifyDate', + ), + 'orientation' => array( + 'namespace' => 'MWG', + 'tagname' => 'Orientation', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Orientation', + ), + 'rating' => array( + 'namespace' => 'MWG', + 'tagname' => 'Rating', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\Rating', + ), + 'state' => array( + 'namespace' => 'MWG', + 'tagname' => 'State', + 'classname' => 'PHPExiftool\Driver\Tag\MWG\State', + ), + ), 'flir' => array( 'peakspectralsensitivity' => array( diff --git a/lib/PHPExiftool/InformationDumper.php b/lib/PHPExiftool/InformationDumper.php index 88db5ac93..74fa89b7c 100644 --- a/lib/PHPExiftool/InformationDumper.php +++ b/lib/PHPExiftool/InformationDumper.php @@ -40,6 +40,8 @@ class InformationDumper */ const LISTTYPE_GROUPS = 'g'; + const LISTOPTION_MWG = '-use MWG'; + private $exiftool; public function __construct(Exiftool $exiftool) @@ -55,8 +57,12 @@ public function __construct(Exiftool $exiftool) * @return type * @throws \Exception */ - public function listDatas($type = self::LISTTYPE_SUPPORTED_XML) + public function listDatas($type = self::LISTTYPE_SUPPORTED_XML, array $options=array()) { + if ( ! is_array($options)) { + throw new InvalidArgumentException('options must be an array'); + } + $available = array( self::LISTTYPE_WRITABLE, self::LISTTYPE_SUPPORTED_FILEEXT , self::LISTTYPE_WRITABLE_FILEEXT, self::LISTTYPE_SUPPORTED_XML @@ -67,6 +73,16 @@ public function listDatas($type = self::LISTTYPE_SUPPORTED_XML) throw new InvalidArgumentException('Unknown list attribute'); } - return $this->exiftool->executeCommand('-f -list' . $type); + $command = ""; + $available = array(self::LISTOPTION_MWG); + foreach($options as $option) { + if ( ! in_array($option, $available)) { + throw new InvalidArgumentException('Unknown option'); + } + $command .= ($command?' ':'') . $option; + } + $command .= ($command?' ':'') . '-f -list' . $type; + + return $this->exiftool->executeCommand($command); } } diff --git a/lib/PHPExiftool/Tool/Command/ClassesBuilder.php b/lib/PHPExiftool/Tool/Command/ClassesBuilder.php index 744cd5308..0c9749fd2 100644 --- a/lib/PHPExiftool/Tool/Command/ClassesBuilder.php +++ b/lib/PHPExiftool/Tool/Command/ClassesBuilder.php @@ -58,8 +58,9 @@ protected function configure() $this ->setName('classes-builder') ->setDescription('Build Tags classes from exiftool documentation.') - ->addOption('write', 'w', null, 'Write classes on disk') - ->addOption('force', 'f', null, 'Force classes write whenever files already exists'); + ->addOption('with-mwg', '', null, 'Include MWG tags') + ->addOption('write', 'w', null, 'Write classes on disk') + ->addOption('force', 'f', null, 'Force classes write whenever files already exists'); return $this; } @@ -84,7 +85,12 @@ protected function execute(InputInterface $input, OutputInterface $output) $dumper = new InformationDumper(new Exiftool($logger)); - $dump = $dumper->listDatas(InformationDumper::LISTTYPE_SUPPORTED_XML); + $options = array(); + if($input->getOption('with-mwg')) { + $options[] = InformationDumper::LISTOPTION_MWG; + } + + $dump = $dumper->listDatas(InformationDumper::LISTTYPE_SUPPORTED_XML, $options); $this->output->writeln('Done !');