exiftool_vendored 11.98.0 → 12.10.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of exiftool_vendored might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/Changes +198 -2
- data/bin/MANIFEST +8 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +43 -42
- data/bin/exiftool +102 -75
- data/bin/lib/Image/ExifTool.pm +163 -111
- data/bin/lib/Image/ExifTool.pod +127 -93
- data/bin/lib/Image/ExifTool/AIFF.pm +2 -2
- data/bin/lib/Image/ExifTool/APE.pm +2 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +21 -10
- data/bin/lib/Image/ExifTool/Canon.pm +202 -14
- data/bin/lib/Image/ExifTool/CanonCustom.pm +82 -16
- data/bin/lib/Image/ExifTool/DPX.pm +56 -2
- data/bin/lib/Image/ExifTool/DarwinCore.pm +22 -3
- data/bin/lib/Image/ExifTool/EXE.pm +8 -5
- data/bin/lib/Image/ExifTool/Exif.pm +15 -6
- data/bin/lib/Image/ExifTool/Font.pm +9 -2
- data/bin/lib/Image/ExifTool/GIF.pm +6 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +2 -0
- data/bin/lib/Image/ExifTool/Geotag.pm +2 -2
- data/bin/lib/Image/ExifTool/GoPro.pm +48 -22
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +91 -12
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -0
- data/bin/lib/Image/ExifTool/JSON.pm +27 -4
- data/bin/lib/Image/ExifTool/Lang/de.pm +3 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +19 -19
- data/bin/lib/Image/ExifTool/MacOS.pm +154 -38
- data/bin/lib/Image/ExifTool/Matroska.pm +3 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +7 -2
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +11 -10
- data/bin/lib/Image/ExifTool/Nikon.pm +164 -20
- data/bin/lib/Image/ExifTool/Olympus.pm +39 -17
- data/bin/lib/Image/ExifTool/PNG.pm +14 -3
- data/bin/lib/Image/ExifTool/PPM.pm +5 -5
- data/bin/lib/Image/ExifTool/Panasonic.pm +148 -14
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +34 -0
- data/bin/lib/Image/ExifTool/Parrot.pm +2 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +2 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +289 -37
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +419 -60
- data/bin/lib/Image/ExifTool/README +26 -22
- data/bin/lib/Image/ExifTool/RSRC.pm +17 -11
- data/bin/lib/Image/ExifTool/RTF.pm +12 -7
- data/bin/lib/Image/ExifTool/Radiance.pm +7 -2
- data/bin/lib/Image/ExifTool/Ricoh.pm +19 -1
- data/bin/lib/Image/ExifTool/Shift.pl +1 -0
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +40 -33
- data/bin/lib/Image/ExifTool/Sony.pm +426 -40
- data/bin/lib/Image/ExifTool/TagLookup.pm +5799 -5671
- data/bin/lib/Image/ExifTool/TagNames.pod +584 -97
- data/bin/lib/Image/ExifTool/Validate.pm +4 -4
- data/bin/lib/Image/ExifTool/WriteExif.pl +3 -2
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +26 -18
- data/bin/lib/Image/ExifTool/Writer.pl +47 -24
- data/bin/lib/Image/ExifTool/XMP.pm +99 -17
- data/bin/lib/Image/ExifTool/XMP2.pl +1 -0
- data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +123 -0
- data/bin/perl-Image-ExifTool.spec +42 -41
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf0281354d058359e076603ce713b412cd838a4c5ffe326534275ec858cb11a1
|
4
|
+
data.tar.gz: a556f35232b6cca374d9b118d8b8b8ac9bf4e09e5714fae9c1f3c216ca658b20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec70f7062aaee4ed619bb00bf91fa3d23cee45ebb15b1c3b3c383ee8867ea29b63b01e199a49dd2ef59f727eb8a156015f817ff31271c81ed69d3d560ea90a78
|
7
|
+
data.tar.gz: 33512db4034b62eeddecc4b3b8ec5c370d089cc9526ec1e37989bf26fef200ffe563b3c42e4dd3395be867a81e2bd2790b816610d3249a70d49828de1fdecb9e
|
data/bin/Changes
CHANGED
@@ -4,9 +4,204 @@ ExifTool Version History
|
|
4
4
|
|
5
5
|
RSS feed: https://exiftool.org/rss.xml
|
6
6
|
|
7
|
-
Note: The most recent production release is Version
|
7
|
+
Note: The most recent production release is Version 12.00. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to CPAN.)
|
9
9
|
|
10
|
+
Nov. 12, 2020 - Version 12.10
|
11
|
+
|
12
|
+
- Added -validate test for proper TIFF magic number in JPEG EXIF header
|
13
|
+
- Added support for Nikon Z7 LensData version 0801
|
14
|
+
- Added a new XMP-GPano tag
|
15
|
+
- Decode ColorData for the Canon EOS 1DXmkIII (thanks LibRaw)
|
16
|
+
- Decode more tags for the Sony ILCE-7SM3 (thanks Jos Roost)
|
17
|
+
- Automatically apply QuickTimeUTC option for CR3 files
|
18
|
+
- Improved decoding of XAttrMDLabel from MacOS files
|
19
|
+
- Ignore time zones when writing date/time values and using the -d option
|
20
|
+
- Enhanced -echo3 and -echo4 options to allow exit status to be returned
|
21
|
+
- Changed -execute so the -q option no longer suppresses the "{ready}" message
|
22
|
+
when a synchronization number is used (eg. -execute123)
|
23
|
+
|
24
|
+
Oct. 29, 2020 - Version 12.09
|
25
|
+
|
26
|
+
- Added ability to copy CanonMakerNotes from CR3 images to other file types
|
27
|
+
- Added read support for ON1 presets file (.ONP)
|
28
|
+
- Added two new CanonModelID values
|
29
|
+
- Added trailing "/" when writing QuickTime:GPSCoordinates
|
30
|
+
- Added a number of new XMP-crs tags
|
31
|
+
- Added a new Sony LensType (thanks Jos Roost)
|
32
|
+
- Added a new Nikon Z lens (thanks LibRaw)
|
33
|
+
- Added a new Canon LensType
|
34
|
+
- Decode ColorData for Canon EOS R5/R6
|
35
|
+
- Decode a couple of new HEIF tags
|
36
|
+
- Decode FirmwareVersion for Canon M50
|
37
|
+
- Improved decoding of Sony CreativeStyle tags (thanks Jos Roost)
|
38
|
+
- Improved parsing of Radiance files to recognize comments
|
39
|
+
- Renamed GIF AspectRatio tag to PixelAspectRatio
|
40
|
+
- Patched EndDir() feature so subdirectories are always processed when -r is
|
41
|
+
used (previously, EndDir() would end processing of a directory completely)
|
42
|
+
- Yet another tweak to the EventTime formatting rules (also allow time-only
|
43
|
+
values with fractional seconds and a time zone)
|
44
|
+
- Avoid loading GoPro module unnecessarily when reading MP4 videos from some
|
45
|
+
other cameras
|
46
|
+
- Fixed problem with an incorrect naming of CodecID tags in some MKV videos
|
47
|
+
- Fixed verbose output to avoid "adding" messages for existing flattened XMP
|
48
|
+
tags
|
49
|
+
|
50
|
+
Oct. 15, 2020 - Version 12.08
|
51
|
+
|
52
|
+
- Added read support for MacOS "._" sidecar files
|
53
|
+
- Added a new Sony LensType (thanks Jos Roost)
|
54
|
+
- Recognize Mac OS X xattr files
|
55
|
+
- Extract ThumbnailImage from MP4 videos of more dashcam models
|
56
|
+
- Improved decoding of a number of Sony tags (thanks Jos Roost)
|
57
|
+
- Fixed problem where the special -if EndDir() function didn't work properly
|
58
|
+
for directories after the one in which it was initially called
|
59
|
+
- Patched to read DLL files which don't have a .rsrc section (thanks Hank)
|
60
|
+
- Patched to support new IGC date format when geotagging
|
61
|
+
- Patched to read DLL files with an invalid size in the header
|
62
|
+
|
63
|
+
Oct. 2, 2020 - Version 12.07
|
64
|
+
|
65
|
+
- Added support for GoPro .360 videos
|
66
|
+
- Added some new Canon RF and Nikkor Z lenses (thanks LibRaw)
|
67
|
+
- Added some new Sony LensType and CreativeStyle values and decode some
|
68
|
+
ILCE-7C tags (thanks Jos Roost)
|
69
|
+
- Added a number of new Olympus SceneMode values (thanks Herb)
|
70
|
+
- Added a new Nikon LensID
|
71
|
+
- Decode more timed metadata from Insta360 videos (thanks Thomas Allen)
|
72
|
+
- Decode timed GPS from videos of more Garmin dashcam models
|
73
|
+
- Decode a new GoPro video tag
|
74
|
+
- Reformat time-only EventTime values when writing and prevent arbitrary
|
75
|
+
strings from being written
|
76
|
+
- Patched to accept backslashes in SourceFile entries for -csv option
|
77
|
+
|
78
|
+
Sept. 11, 2020 - Version 12.06
|
79
|
+
|
80
|
+
- Added read support for Lyrics3 metadata (and fixed problem where APE
|
81
|
+
metadata may be ignored if Lyrics3 exists)
|
82
|
+
- Added a new Panasonic VideoBurstMode value (thanks Klaus Homeister)
|
83
|
+
- Added a new Olympus MultipleExposureMode value
|
84
|
+
- Added a new Nikon LensID
|
85
|
+
- Added back conversions for XMP-dwc EventTime that were removed in 12.04 with
|
86
|
+
a patch to allow time-only values
|
87
|
+
- Decode GIF AspectRatio
|
88
|
+
- Decode Olympus FocusBracketStepSize (thanks Karsten)
|
89
|
+
- Extract PNG iDOT chunk in Binary format with the name AppleDataOffsets
|
90
|
+
- Process PNG images which do not start with mandatory IHDR chunk
|
91
|
+
|
92
|
+
Aug. 24, 2020 - Version 12.05
|
93
|
+
|
94
|
+
- Added a new Panasonic SelfTimer value (thanks Herb)
|
95
|
+
- Decode a few more DPX tags (thanks Harry Mallon)
|
96
|
+
- Extract AIFF APPL tag as ApplicationData
|
97
|
+
- Fixed bug writing QuickTime ItemList 'gnre' Genre values
|
98
|
+
- Fixed an incorrect value for Panasonic VideoBurstResolution (thanks Herb)
|
99
|
+
- Fixed problem when applying a time shift to some invalid makernote date/time
|
100
|
+
values
|
101
|
+
|
102
|
+
Aug. 10, 2020 - Version 12.04
|
103
|
+
|
104
|
+
- Added read support for Zeiss ZISRAW CZI files
|
105
|
+
- Added some new values for a couple of Olympus tags (thanks Sebastian)
|
106
|
+
- Decode a number of new tags for the Sony ILCE-7SM3 (thanks Jos Roost)
|
107
|
+
- Removed formatting restrictions on XMP-dwc:EventTime to allow a time-only
|
108
|
+
value to be written
|
109
|
+
- Moved new QuckTime ItemList tags added in version 12.02 to the proper group
|
110
|
+
(they were incorrectly added to the Keys group)
|
111
|
+
- Improved QuickTime -v3 output to show default language codes
|
112
|
+
- Patched -lang option to work for the values of somet tags with coded
|
113
|
+
translations
|
114
|
+
- Patched the format of a number of QuickTime tags when writing for improved
|
115
|
+
compatibility with iTunes and AtomicParsley
|
116
|
+
- Patched to write a default QuickTime language code of 0x0000 (null) instead
|
117
|
+
of 0x55c4 ('und')
|
118
|
+
|
119
|
+
July 29, 2020 - Version 12.03
|
120
|
+
|
121
|
+
- Added family 7 group names to allow tag ID's to be specified when reading
|
122
|
+
and writing
|
123
|
+
- Fixed a couple of typos in tag values (thanks Herb)
|
124
|
+
- API Changes:
|
125
|
+
- Added HexTagIDs option
|
126
|
+
- Enhanced GetNewValue() to allow family 7 groups names to be used
|
127
|
+
- Internal Changes:
|
128
|
+
- Changed Composite tag ID's to use "-" instead of "::" as a separator
|
129
|
+
|
130
|
+
July 27, 2020 - Version 12.02
|
131
|
+
|
132
|
+
- Added support for a number of new QuickTime ItemList tags
|
133
|
+
- Added support for writing XMP-xmp:RatingPercent
|
134
|
+
- Added a new Sony LensType (thanks Jos Roost and LibRaw)
|
135
|
+
- Added a new Pentax LensType (thanks James O'Neill)
|
136
|
+
- Decode barcodes from Ricoh APP5 RMETA segment
|
137
|
+
- Decode a few new QuickTime tags written by Ricoh and Garmin cameras
|
138
|
+
- Decode timed GPS from Sony A7R IV MP4 videos
|
139
|
+
- Decode timed GPS from 70mai dashcam videos
|
140
|
+
- Decode a few new Panasonic tags (thanks Klaus Homeister)
|
141
|
+
- Decode altitude and more accurate latitude/longitude from Transcend Driver
|
142
|
+
Pro 230 MP4 videos
|
143
|
+
- Improved decoding of some Canon EOS 1DXmkIII custom functions
|
144
|
+
- Allow integer QuickTime TrackNumber and DiskNumber values
|
145
|
+
- Relax validity check of QuickTime:ContentCreateDate when writing with -n
|
146
|
+
- Removed "Com" from the start of some unknown ItemList tag names
|
147
|
+
- Patched CanonCustom decoding for bug in Canon EOS-1DX firmware
|
148
|
+
- Changed QuickTime CleanAperture tags decode as signed rationals
|
149
|
+
|
150
|
+
June 24, 2020 - Version 12.01
|
151
|
+
|
152
|
+
- Added a new NEFCompression value (thanks Warren Hatch)
|
153
|
+
- Added a new Sony LensType (thanks Jos Roost)
|
154
|
+
- Decode timed GPS from Rove Stealth 4K dashcam videos
|
155
|
+
- Fixed bug which would corrupt TIFF images with 16-bit image data offsets
|
156
|
+
when writing (these are very rare)
|
157
|
+
|
158
|
+
June 11, 2020 - Version 12.00 (production release)
|
159
|
+
|
160
|
+
- Added two new Olympus LensTypes (thanks Don Komarechka for one)
|
161
|
+
- Added two new Sony LensType values (thanks Jos Roost)
|
162
|
+
- Added a few new Nikon LensID's (thanks Mathieu Carbou)
|
163
|
+
- Added support for the Sony ZV-1 (thanks Jos Roost)
|
164
|
+
- Added a new CanonModelID (thanks Jos Roost)
|
165
|
+
- Added missing MimeType values for HEICS and HEIFS files
|
166
|
+
- Added definitions for a number of new XMP-crs tags
|
167
|
+
- Recognize WOFF and WOFF2 font files
|
168
|
+
- Decode streaming GPS from Roadhawk, EEEkit and 360Fly MP4 videos
|
169
|
+
- Decode a number of new tags for the Nikon D6 (thanks Warren Hatch)
|
170
|
+
- Decode a couple more AF tags for the D500/D850
|
171
|
+
- Decode a number of new Panasonic tags
|
172
|
+
- Improved Composite LensID logic (thanks Matt Stancliff)
|
173
|
+
- Enhanced -v option to state when a directory has 0 entries
|
174
|
+
- Removed a couple of incorrect Validate warnings for bilevel TIFF images
|
175
|
+
- Drop ContrastCurve tag when copying from NEF to JPEG
|
176
|
+
- Changed -csv output to add "Unknown" group name to column headings for
|
177
|
+
missing tags when -f and -G options are used
|
178
|
+
- Patched to support new XMP LensID format for Nikon cameras as written by
|
179
|
+
Apple Photos (thanks Mattsta)
|
180
|
+
- Fixed problem extracting metadata from Sigma DP2 Quattro X3F files
|
181
|
+
- Fixed End() and EndDir() functions so they work when writing and when the -v
|
182
|
+
option is used
|
183
|
+
- Fixed problem recognizing some PGM files
|
184
|
+
- Fixed bug in offsets for some Photoshop information in -v3 output
|
185
|
+
- Fixed problem writing a list containing empty elements inside an XMP
|
186
|
+
structure
|
187
|
+
- API Changes:
|
188
|
+
- Added NoMultiExif option
|
189
|
+
- Changed FilterW option to not write tag if $_ is set to undef
|
190
|
+
|
191
|
+
May 11, 2020 - Version 11.99
|
192
|
+
|
193
|
+
- Added a new Nikon LensID (thanks Mykyta Kozlov)
|
194
|
+
- Added a new Canon LensType
|
195
|
+
- Added a newn PentaxModelID
|
196
|
+
- Decode a few new QuickTime tags
|
197
|
+
- Decode new ID3 Grouping tag
|
198
|
+
- Decode a few more MinoltaRaw tags (thanks LibRaw)
|
199
|
+
- Fixed runtime warning which could occur when reading corrupted RTF files
|
200
|
+
- Fixed another potential pitfall in M2TS Duration calculation
|
201
|
+
- Fixed problem extracting some unknown QuickTime:Keys tags
|
202
|
+
- Fixed problem decoding Nikon D850 orientation tags
|
203
|
+
- Fixed bug where TIFF image data may not be padded to an even number of bytes
|
204
|
+
|
10
205
|
May 1, 2020 - Version 11.98
|
11
206
|
|
12
207
|
- Added a new Nikon LensID (thanks Warren Hatch)
|
@@ -30,7 +225,8 @@ Apr. 24, 2020 - Version 11.96
|
|
30
225
|
|
31
226
|
Apr. 23, 2020 - Version 11.95
|
32
227
|
|
33
|
-
- Added Exit() and ExitDir() functions for use in -if conditions
|
228
|
+
- Added Exit() and ExitDir() functions for use in -if conditions (NOTE: these
|
229
|
+
function names changed to End() and EndDir() in ExifTool 11.96)
|
34
230
|
- Enhanced -geotag feature to support a more flexible input CSV file format
|
35
231
|
- Enhanced -if and API Filter options to allow access to ExifTool object via
|
36
232
|
$self
|
data/bin/MANIFEST
CHANGED
@@ -169,6 +169,7 @@ html/TagNames/Vorbis.html
|
|
169
169
|
html/TagNames/WTV.html
|
170
170
|
html/TagNames/XMP.html
|
171
171
|
html/TagNames/ZIP.html
|
172
|
+
html/TagNames/ZISRAW.html
|
172
173
|
html/TagNames/iWork.html
|
173
174
|
html/TagNames/index.html
|
174
175
|
html/TagNames/style.css
|
@@ -410,6 +411,7 @@ lib/Image/ExifTool/XMP.pm
|
|
410
411
|
lib/Image/ExifTool/XMP2.pl
|
411
412
|
lib/Image/ExifTool/XMPStruct.pl
|
412
413
|
lib/Image/ExifTool/ZIP.pm
|
414
|
+
lib/Image/ExifTool/ZISRAW.pm
|
413
415
|
lib/Image/ExifTool/iWork.pm
|
414
416
|
perl-Image-ExifTool.spec
|
415
417
|
t/AFCP.t
|
@@ -650,6 +652,8 @@ t/MWG_6.out
|
|
650
652
|
t/MWG_7.out
|
651
653
|
t/MXF.t
|
652
654
|
t/MXF_2.out
|
655
|
+
t/MacOS.t
|
656
|
+
t/MacOS_2.out
|
653
657
|
t/Matroska.t
|
654
658
|
t/Matroska_2.out
|
655
659
|
t/Minolta.t
|
@@ -915,6 +919,8 @@ t/ZIP_4.out
|
|
915
919
|
t/ZIP_5.out
|
916
920
|
t/ZIP_6.out
|
917
921
|
t/ZIP_7.out
|
922
|
+
t/ZISRAW.t
|
923
|
+
t/ZISRAW_2.out
|
918
924
|
t/images/AFCP.jpg
|
919
925
|
t/images/AIFF.aif
|
920
926
|
t/images/APE.ape
|
@@ -1003,6 +1009,7 @@ t/images/MOI.moi
|
|
1003
1009
|
t/images/MP3.mp3
|
1004
1010
|
t/images/MWG.jpg
|
1005
1011
|
t/images/MXF.mxf
|
1012
|
+
t/images/MacOS.macos
|
1006
1013
|
t/images/Matroska.mkv
|
1007
1014
|
t/images/Minolta.jpg
|
1008
1015
|
t/images/Minolta.mrw
|
@@ -1089,4 +1096,5 @@ t/images/XMP8.xmp
|
|
1089
1096
|
t/images/XMP9.xmp
|
1090
1097
|
t/images/ZIP.gz
|
1091
1098
|
t/images/ZIP.zip
|
1099
|
+
t/images/ZISRAW.czi
|
1092
1100
|
t/images/iWork.numbers
|
data/bin/META.json
CHANGED
data/bin/META.yml
CHANGED
data/bin/README
CHANGED
@@ -14,46 +14,47 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
14
14
|
|
15
15
|
File Types
|
16
16
|
------------+-------------+-------------+-------------+------------
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
17
|
+
360 r/w | DPX r | ITC r | ODP r | RIFF r
|
18
|
+
3FR r | DR4 r/w/c | J2C r | ODS r | RSRC r
|
19
|
+
3G2 r/w | DSS r | JNG r/w | ODT r | RTF r
|
20
|
+
3GP r/w | DV r | JP2 r/w | OFR r | RW2 r/w
|
21
|
+
A r | DVB r/w | JPEG r/w | OGG r | RWL r/w
|
22
|
+
AA r | DVR-MS r | JSON r | OGV r | RWZ r
|
23
|
+
AAE r | DYLIB r | K25 r | ONP r | RM r
|
24
|
+
AAX r/w | EIP r | KDC r | OPUS r | SEQ r
|
25
|
+
ACR r | EPS r/w | KEY r | ORF r/w | SKETCH r
|
26
|
+
AFM r | EPUB r | LA r | OTF r | SO r
|
27
|
+
AI r/w | ERF r/w | LFP r | PAC r | SR2 r/w
|
28
|
+
AIFF r | EXE r | LNK r | PAGES r | SRF r
|
29
|
+
APE r | EXIF r/w/c | LRV r/w | PBM r/w | SRW r/w
|
30
|
+
ARQ r/w | EXR r | M2TS r | PCD r | SVG r
|
31
|
+
ARW r/w | EXV r/w/c | M4A/V r/w | PCX r | SWF r
|
32
|
+
ASF r | F4A/V r/w | MACOS r | PDB r | THM r/w
|
33
|
+
AVI r | FFF r/w | MAX r | PDF r/w | TIFF r/w
|
34
|
+
AVIF r/w | FITS r | MEF r/w | PEF r/w | TORRENT r
|
35
|
+
AZW r | FLA r | MIE r/w/c | PFA r | TTC r
|
36
|
+
BMP r | FLAC r | MIFF r | PFB r | TTF r
|
37
|
+
BPG r | FLIF r/w | MKA r | PFM r | TXT r
|
38
|
+
BTF r | FLV r | MKS r | PGF r | VCF r
|
39
|
+
CHM r | FPF r | MKV r | PGM r/w | VRD r/w/c
|
40
|
+
COS r | FPX r | MNG r/w | PLIST r | VSD r
|
41
|
+
CR2 r/w | GIF r/w | MOBI r | PICT r | WAV r
|
42
|
+
CR3 r/w | GPR r/w | MODD r | PMP r | WDP r/w
|
43
|
+
CRM r/w | GZ r | MOI r | PNG r/w | WEBP r
|
44
|
+
CRW r/w | HDP r/w | MOS r/w | PPM r/w | WEBM r
|
45
|
+
CS1 r/w | HDR r | MOV r/w | PPT r | WMA r
|
46
|
+
CSV r | HEIC r/w | MP3 r | PPTX r | WMV r
|
47
|
+
CZI r | HEIF r/w | MP4 r/w | PS r/w | WTV r
|
48
|
+
DCM r | HTML r | MPC r | PSB r/w | WV r
|
49
|
+
DCP r/w | ICC r/w/c | MPG r | PSD r/w | X3F r/w
|
50
|
+
DCR r | ICS r | MPO r/w | PSP r | XCF r
|
51
|
+
DFONT r | IDML r | MQV r/w | QTIF r/w | XLS r
|
52
|
+
DIVX r | IIQ r/w | MRW r/w | R3D r | XLSX r
|
53
|
+
DJVU r | IND r/w | MXF r | RA r | XMP r/w/c
|
54
|
+
DLL r | INSP r/w | NEF r/w | RAF r/w | ZIP r
|
55
|
+
DNG r/w | INSV r | NRW r/w | RAM r |
|
56
|
+
DOC r | INX r | NUMBERS r | RAR r |
|
57
|
+
DOCX r | ISO r | O r | RAW r/w |
|
57
58
|
|
58
59
|
Meta Information
|
59
60
|
----------------------+----------------------+---------------------
|
@@ -105,8 +106,8 @@ your home directory, then you would type the following commands in a
|
|
105
106
|
terminal window to extract and run ExifTool:
|
106
107
|
|
107
108
|
cd ~/Desktop
|
108
|
-
gzip -dc Image-ExifTool-
|
109
|
-
cd Image-ExifTool-
|
109
|
+
gzip -dc Image-ExifTool-12.10.tar.gz | tar -xf -
|
110
|
+
cd Image-ExifTool-12.10
|
110
111
|
./exiftool t/images/ExifTool.jpg
|
111
112
|
|
112
113
|
Note: These commands extract meta information from one of the test images.
|
data/bin/exiftool
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
use strict;
|
11
11
|
require 5.004;
|
12
12
|
|
13
|
-
my $version = '
|
13
|
+
my $version = '12.10';
|
14
14
|
|
15
15
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
16
|
my $exeDir;
|
@@ -141,6 +141,7 @@ my $deleteOrig; # 0=restore original files, 1=delete originals, 2=delete w/o
|
|
141
141
|
my $disableOutput; # flag to disable normal output
|
142
142
|
my $doSetFileName; # flag set if FileName may be written
|
143
143
|
my $doUnzip; # flag to extract info from .gz and .bz2 files
|
144
|
+
my ($end,$endDir); # flags to end processing
|
144
145
|
my $escapeC; # C-style escape
|
145
146
|
my $escapeHTML; # flag to escape printed values for html
|
146
147
|
my $evalWarning; # warning from eval
|
@@ -293,8 +294,8 @@ my %altRecommends = (
|
|
293
294
|
my %unescapeChar = ( 't'=>"\t", 'n'=>"\n", 'r'=>"\r" );
|
294
295
|
|
295
296
|
# special subroutines used in -if condition
|
296
|
-
sub Image::ExifTool::EndDir() { return
|
297
|
-
sub Image::ExifTool::End() { return
|
297
|
+
sub Image::ExifTool::EndDir() { return $endDir = 1 }
|
298
|
+
sub Image::ExifTool::End() { return $end = 1 }
|
298
299
|
|
299
300
|
# exit routine
|
300
301
|
sub Exit {
|
@@ -365,13 +366,21 @@ if (grep /^-common_args$/i, @ARGV) {
|
|
365
366
|
# loop over sets of command-line arguments separated by "-execute"
|
366
367
|
Command: for (;;) {
|
367
368
|
|
368
|
-
|
369
|
-
|
369
|
+
if (@echo3) {
|
370
|
+
my $str = join "\n", @echo3, "\n";
|
371
|
+
$str =~ s/\$\{status\}/$rtnVal/ig;
|
372
|
+
print STDOUT $str;
|
373
|
+
}
|
374
|
+
if (@echo4) {
|
375
|
+
my $str = join "\n", @echo4, "\n";
|
376
|
+
$str =~ s/\$\{status\}/$rtnVal/ig;
|
377
|
+
print STDERR $str;
|
378
|
+
}
|
370
379
|
|
371
380
|
$rafStdin->Close() if $rafStdin;
|
372
381
|
undef $rafStdin;
|
373
382
|
|
374
|
-
# save
|
383
|
+
# save our previous return codes
|
375
384
|
$rtnValPrev = $rtnVal;
|
376
385
|
$rtnValApp = $rtnVal if $rtnVal;
|
377
386
|
|
@@ -386,7 +395,7 @@ if ($binaryStdout) {
|
|
386
395
|
|
387
396
|
# flush console and print "{ready}" message if -stay_open is in effect
|
388
397
|
if ($stayOpen >= 2) {
|
389
|
-
if ($quiet) {
|
398
|
+
if ($quiet and not defined $executeID) {
|
390
399
|
# flush output if possible
|
391
400
|
eval { require IO::Handle } and STDERR->flush(), STDOUT->flush();
|
392
401
|
} else {
|
@@ -443,6 +452,8 @@ undef $deleteOrig;
|
|
443
452
|
undef $disableOutput;
|
444
453
|
undef $doSetFileName;
|
445
454
|
undef $doUnzip;
|
455
|
+
undef $end;
|
456
|
+
undef $endDir;
|
446
457
|
undef $escapeHTML;
|
447
458
|
undef $escapeC;
|
448
459
|
undef $evalWarning;
|
@@ -551,7 +562,7 @@ if (not $preserveTime and $^O eq 'MSWin32') {
|
|
551
562
|
for (;;) {
|
552
563
|
|
553
564
|
# execute the command now if no more arguments or -execute is used
|
554
|
-
if (not @ARGV or ($ARGV[0] =~ /^(-|\xe2\x88\x92)execute(\d
|
565
|
+
if (not @ARGV or ($ARGV[0] =~ /^(-|\xe2\x88\x92)execute(\d+)?$/i and not $endOfOpts)) {
|
555
566
|
if (@ARGV) {
|
556
567
|
$executeID = $2; # save -execute number for "{ready}" response
|
557
568
|
$helped = 1; # don't show help if we used -execute
|
@@ -1755,13 +1766,17 @@ if (@dbKeys) {
|
|
1755
1766
|
undef $evalWarning;
|
1756
1767
|
local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] };
|
1757
1768
|
foreach (@dbKeys) {
|
1769
|
+
my $db = $database{$_};
|
1770
|
+
tr/\\/\// and $database{$_} = $db; # allow for backslashes in SourceFile
|
1758
1771
|
# (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
|
1759
1772
|
my $absPath = AbsPath($_);
|
1760
1773
|
if (defined $absPath) {
|
1761
|
-
$database{$absPath} = $
|
1774
|
+
$database{$absPath} = $db unless $database{$absPath};
|
1762
1775
|
if ($verbose and $verbose > 1) {
|
1763
1776
|
print $vout "Imported entry for '${_}' (full path: '${absPath}')\n";
|
1764
1777
|
}
|
1778
|
+
} elsif ($verbose and $verbose > 1) {
|
1779
|
+
print $vout "Imported entry for '${_}' (non-existent file)\n";
|
1765
1780
|
}
|
1766
1781
|
}
|
1767
1782
|
}
|
@@ -2271,7 +2286,7 @@ TAG: foreach $tag (@foundTags) {
|
|
2271
2286
|
# the same group, and if so suppress this tag instead
|
2272
2287
|
next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and
|
2273
2288
|
$group eq $et->GetGroup($1, $showGroup);
|
2274
|
-
$group = 'Unknown' if not $group and ($xml or $json);
|
2289
|
+
$group = 'Unknown' if not $group and ($xml or $json or $csv);
|
2275
2290
|
if ($fp and not ($allGroup or $csv)) {
|
2276
2291
|
if ($lastGroup ne $group) {
|
2277
2292
|
if ($html) {
|
@@ -3546,11 +3561,11 @@ sub ProcessFiles($;$)
|
|
3546
3561
|
push(@$list, $file);
|
3547
3562
|
} else {
|
3548
3563
|
GetImageInfo($et, $file);
|
3549
|
-
|
3564
|
+
$end and Warn("End called - $file\n");
|
3550
3565
|
}
|
3551
3566
|
}
|
3552
3567
|
$et->Options(CharsetFileName => $enc) if $utf8FileName{$file};
|
3553
|
-
last if
|
3568
|
+
last if $end;
|
3554
3569
|
}
|
3555
3570
|
}
|
3556
3571
|
|
@@ -3561,7 +3576,7 @@ sub ScanDir($$;$)
|
|
3561
3576
|
{
|
3562
3577
|
local $_;
|
3563
3578
|
my ($et, $dir, $list) = @_;
|
3564
|
-
my (@fileList, $done, $file, $utf8Name, $winSurrogate);
|
3579
|
+
my (@fileList, $done, $file, $utf8Name, $winSurrogate, $endThisDir);
|
3565
3580
|
my $enc = $et->Options('CharsetFileName');
|
3566
3581
|
# recode as UTF-8 if necessary
|
3567
3582
|
if ($enc) {
|
@@ -3628,9 +3643,10 @@ sub ScanDir($$;$)
|
|
3628
3643
|
next if $file =~ /^\./ and ($recurse == 1 or $file eq '.' or $file eq '..');
|
3629
3644
|
next if $ignore{$file} or ($ignore{SYMLINKS} and -l $path);
|
3630
3645
|
ScanDir($et, $path, $list);
|
3631
|
-
last if
|
3646
|
+
last if $end;
|
3632
3647
|
next;
|
3633
3648
|
}
|
3649
|
+
next if $endThisDir;
|
3634
3650
|
# apply rules from -ext options
|
3635
3651
|
my $accepted;
|
3636
3652
|
if ($filterFlag) {
|
@@ -3668,14 +3684,15 @@ sub ScanDir($$;$)
|
|
3668
3684
|
push(@$list, $path);
|
3669
3685
|
} else {
|
3670
3686
|
GetImageInfo($et, $path);
|
3671
|
-
if (
|
3687
|
+
if ($end) {
|
3672
3688
|
Warn("End called - $file\n");
|
3673
3689
|
last;
|
3674
3690
|
}
|
3675
|
-
if (
|
3676
|
-
$
|
3691
|
+
if ($endDir) {
|
3692
|
+
$path =~ s(/$)();
|
3677
3693
|
Warn("EndDir called - $path\n");
|
3678
|
-
|
3694
|
+
undef $endDir;
|
3695
|
+
$endThisDir = 1;
|
3679
3696
|
}
|
3680
3697
|
}
|
3681
3698
|
}
|
@@ -4379,46 +4396,47 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4379
4396
|
|
4380
4397
|
File Types
|
4381
4398
|
------------+-------------+-------------+-------------+------------
|
4382
|
-
|
4383
|
-
|
4384
|
-
|
4385
|
-
|
4386
|
-
|
4387
|
-
|
4388
|
-
|
4389
|
-
|
4390
|
-
|
4391
|
-
|
4392
|
-
|
4393
|
-
|
4394
|
-
|
4395
|
-
|
4396
|
-
|
4397
|
-
|
4398
|
-
|
4399
|
-
|
4400
|
-
|
4401
|
-
|
4402
|
-
|
4403
|
-
|
4404
|
-
|
4405
|
-
|
4406
|
-
|
4407
|
-
|
4408
|
-
|
4409
|
-
|
4410
|
-
|
4411
|
-
|
4412
|
-
|
4413
|
-
|
4414
|
-
|
4415
|
-
|
4416
|
-
|
4417
|
-
|
4418
|
-
|
4419
|
-
|
4420
|
-
|
4421
|
-
|
4399
|
+
360 r/w | DPX r | ITC r | ODP r | RIFF r
|
4400
|
+
3FR r | DR4 r/w/c | J2C r | ODS r | RSRC r
|
4401
|
+
3G2 r/w | DSS r | JNG r/w | ODT r | RTF r
|
4402
|
+
3GP r/w | DV r | JP2 r/w | OFR r | RW2 r/w
|
4403
|
+
A r | DVB r/w | JPEG r/w | OGG r | RWL r/w
|
4404
|
+
AA r | DVR-MS r | JSON r | OGV r | RWZ r
|
4405
|
+
AAE r | DYLIB r | K25 r | ONP r | RM r
|
4406
|
+
AAX r/w | EIP r | KDC r | OPUS r | SEQ r
|
4407
|
+
ACR r | EPS r/w | KEY r | ORF r/w | SKETCH r
|
4408
|
+
AFM r | EPUB r | LA r | OTF r | SO r
|
4409
|
+
AI r/w | ERF r/w | LFP r | PAC r | SR2 r/w
|
4410
|
+
AIFF r | EXE r | LNK r | PAGES r | SRF r
|
4411
|
+
APE r | EXIF r/w/c | LRV r/w | PBM r/w | SRW r/w
|
4412
|
+
ARQ r/w | EXR r | M2TS r | PCD r | SVG r
|
4413
|
+
ARW r/w | EXV r/w/c | M4A/V r/w | PCX r | SWF r
|
4414
|
+
ASF r | F4A/V r/w | MACOS r | PDB r | THM r/w
|
4415
|
+
AVI r | FFF r/w | MAX r | PDF r/w | TIFF r/w
|
4416
|
+
AVIF r/w | FITS r | MEF r/w | PEF r/w | TORRENT r
|
4417
|
+
AZW r | FLA r | MIE r/w/c | PFA r | TTC r
|
4418
|
+
BMP r | FLAC r | MIFF r | PFB r | TTF r
|
4419
|
+
BPG r | FLIF r/w | MKA r | PFM r | TXT r
|
4420
|
+
BTF r | FLV r | MKS r | PGF r | VCF r
|
4421
|
+
CHM r | FPF r | MKV r | PGM r/w | VRD r/w/c
|
4422
|
+
COS r | FPX r | MNG r/w | PLIST r | VSD r
|
4423
|
+
CR2 r/w | GIF r/w | MOBI r | PICT r | WAV r
|
4424
|
+
CR3 r/w | GPR r/w | MODD r | PMP r | WDP r/w
|
4425
|
+
CRM r/w | GZ r | MOI r | PNG r/w | WEBP r
|
4426
|
+
CRW r/w | HDP r/w | MOS r/w | PPM r/w | WEBM r
|
4427
|
+
CS1 r/w | HDR r | MOV r/w | PPT r | WMA r
|
4428
|
+
CSV r | HEIC r/w | MP3 r | PPTX r | WMV r
|
4429
|
+
CZI r | HEIF r/w | MP4 r/w | PS r/w | WTV r
|
4430
|
+
DCM r | HTML r | MPC r | PSB r/w | WV r
|
4431
|
+
DCP r/w | ICC r/w/c | MPG r | PSD r/w | X3F r/w
|
4432
|
+
DCR r | ICS r | MPO r/w | PSP r | XCF r
|
4433
|
+
DFONT r | IDML r | MQV r/w | QTIF r/w | XLS r
|
4434
|
+
DIVX r | IIQ r/w | MRW r/w | R3D r | XLSX r
|
4435
|
+
DJVU r | IND r/w | MXF r | RA r | XMP r/w/c
|
4436
|
+
DLL r | INSP r/w | NEF r/w | RAF r/w | ZIP r
|
4437
|
+
DNG r/w | INSV r | NRW r/w | RAM r |
|
4438
|
+
DOC r | INX r | NUMBERS r | RAR r |
|
4439
|
+
DOCX r | ISO r | O r | RAW r/w |
|
4422
4440
|
|
4423
4441
|
Meta Information
|
4424
4442
|
----------------------+----------------------+---------------------
|
@@ -4474,7 +4492,7 @@ L<Input-output text formatting|/Input-output text formatting>
|
|
4474
4492
|
-f (-forcePrint) Force printing of all specified tags
|
4475
4493
|
-g[NUM...] (-groupHeadings) Organize output by tag group
|
4476
4494
|
-G[NUM...] (-groupNames) Print group name for each tag
|
4477
|
-
-h (-htmlFormat) Use
|
4495
|
+
-h (-htmlFormat) Use HTML formatting for output
|
4478
4496
|
-H (-hex) Show tag ID numbers in hexadecimal
|
4479
4497
|
-htmlDump[OFFSET] Generate HTML-format binary dump
|
4480
4498
|
-j[[+]=JSONFILE] (-json) Export/import tags in JSON format
|
@@ -4620,7 +4638,7 @@ delete or replace a tag (see L</WRITING EXAMPLES> for examples). C<^=> is
|
|
4620
4638
|
used to write an empty string instead of deleting the tag when no I<VALUE>
|
4621
4639
|
is given, but otherwise it is equivalent to C<=>.
|
4622
4640
|
|
4623
|
-
I<TAG> may contain one or more leading family 0, 1 or
|
4641
|
+
I<TAG> may contain one or more leading family 0, 1, 2 or 7 group names,
|
4624
4642
|
prefixed by optional family numbers, and separated colons. If no group name
|
4625
4643
|
is specified, the tag is created in the preferred group, and updated in any
|
4626
4644
|
other location where a same-named tag already exists. The preferred group
|
@@ -4675,7 +4693,7 @@ the specified group(s) are removed individually, and in this case is it
|
|
4675
4693
|
possible to exclude individual tags from a mass delete. For example,
|
4676
4694
|
C<-time:all --Exif:Time:All> removes all deletable Time tags except those in
|
4677
4695
|
the EXIF. This difference also applies if family 2 is specified when
|
4678
|
-
deleting all groups.
|
4696
|
+
deleting all groups. For example, C<-2all:all=> deletes tags individually,
|
4679
4697
|
while C<-all:all=> deletes entire blocks.
|
4680
4698
|
|
4681
4699
|
5) The "APP" group names ("APP0" through "APP15") are used to delete JPEG
|
@@ -5075,13 +5093,13 @@ B<-csv>=I<CSVFILE> feature.
|
|
5075
5093
|
|
5076
5094
|
Organize output by tag group. I<NUM> specifies a group family number, and
|
5077
5095
|
may be 0 (general location), 1 (specific location), 2 (category), 3
|
5078
|
-
(document number), 4 (instance number), 5 (metadata path)
|
5079
|
-
format). B<-g0> is assumed if a family number is not
|
5080
|
-
|
5081
|
-
Multiple families may be specified by separating them with colons.
|
5082
|
-
default the resulting group name is simplified by removing any leading
|
5096
|
+
(document number), 4 (instance number), 5 (metadata path), 6 (EXIF/TIFF
|
5097
|
+
format) or 7 (tag ID). B<-g0> is assumed if a family number is not
|
5098
|
+
specified. May be combined with other options to add group names to the
|
5099
|
+
output. Multiple families may be specified by separating them with colons.
|
5100
|
+
By default the resulting group name is simplified by removing any leading
|
5083
5101
|
C<Main:> and collapsing adjacent identical group names, but this can be
|
5084
|
-
avoided by placing a colon before the first family number (eg. B<-g:3:1>).
|
5102
|
+
avoided by placing a colon before the first family number (eg. B<-g:3:1>).
|
5085
5103
|
Use the B<-listg> option to list group names for a specified family. The
|
5086
5104
|
SavePath and SaveFormat API options are automatically enabled if the
|
5087
5105
|
respective family 5 or 6 group names are requested. See the
|
@@ -5286,7 +5304,7 @@ with this command:
|
|
5286
5304
|
|
5287
5305
|
produces output like this:
|
5288
5306
|
|
5289
|
-
-- Generated by ExifTool
|
5307
|
+
-- Generated by ExifTool 12.10 --
|
5290
5308
|
File: a.jpg - 2003:10:31 15:44:19
|
5291
5309
|
(f/5.6, 1/60s, ISO 100)
|
5292
5310
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -5719,7 +5737,9 @@ involves an additional processing pass of each file, but this impact may be
|
|
5719
5737
|
reduced by specifying a I<NUM> for the B<-fast> level used during the
|
5720
5738
|
metadata-extraction phase. For example, B<-fileOrder4> may be used if
|
5721
5739
|
I<TAG> is a pseudo System tag. If multiple B<-fileOrder> options are used,
|
5722
|
-
the extraction is done at the lowest B<-fast> level.
|
5740
|
+
the extraction is done at the lowest B<-fast> level. Note that files are
|
5741
|
+
sorted across directory boundaries if multiple input directories are
|
5742
|
+
specified.
|
5723
5743
|
|
5724
5744
|
=item B<-i> I<DIR> (B<-ignore>)
|
5725
5745
|
|
@@ -5769,7 +5789,8 @@ of the file processing. Both functions have a return value of 1. Case is
|
|
5769
5789
|
significant for function names.
|
5770
5790
|
|
5771
5791
|
End() - end processing after this file
|
5772
|
-
EndDir() - end processing of files in this directory
|
5792
|
+
EndDir() - end processing of files in this directory (not
|
5793
|
+
compatible with the B<-fileOrder> option)
|
5773
5794
|
|
5774
5795
|
Notes:
|
5775
5796
|
|
@@ -6231,7 +6252,9 @@ about the configuration file syntax.
|
|
6231
6252
|
Echo I<TEXT> to stdout (B<-echo> or B<-echo1>) or stderr (B<-echo2>). Text
|
6232
6253
|
is output as the command line is parsed, before the processing of any input
|
6233
6254
|
files. I<NUM> may also be 3 or 4 to output text (to stdout or stderr
|
6234
|
-
respectively) after processing is complete.
|
6255
|
+
respectively) after processing is complete. For B<-echo3> and B<-echo4>,
|
6256
|
+
"${status}" may be used in the I<TEXT> string to represent the numerical
|
6257
|
+
exit status of the command (see L</EXIT STATUS>).
|
6235
6258
|
|
6236
6259
|
=item B<-efile>[I<NUM>][!] I<ERRFILE>
|
6237
6260
|
|
@@ -6252,7 +6275,8 @@ commands were executed as separate command lines (with the exception of the
|
|
6252
6275
|
B<-config> and B<-use> options which remain in effect for subsequent
|
6253
6276
|
commands). Allows multiple commands to be executed from a single command
|
6254
6277
|
line. I<NUM> is an optional number that is echoed in the "{ready}" message
|
6255
|
-
when using the B<-stay_open> feature.
|
6278
|
+
when using the B<-stay_open> feature. If a I<NUM> is specified, the B<-q>
|
6279
|
+
option no longer suppresses the output "{readyNUM}" message.
|
6256
6280
|
|
6257
6281
|
=item B<-srcfile> I<FMT>
|
6258
6282
|
|
@@ -6297,12 +6321,15 @@ line (see the B<-@> option for details).
|
|
6297
6321
|
|
6298
6322
|
3) Write C<-execute\n> to I<ARGFILE>, where C<\n> represents a newline
|
6299
6323
|
sequence. (Note: You may need to flush your write buffers here if using
|
6300
|
-
buffered output.)
|
6324
|
+
buffered output.) ExifTool will then execute the command with the arguments
|
6301
6325
|
received up to this point, send a "{ready}" message to stdout when done
|
6302
6326
|
(unless the B<-q> or B<-T> option is used), and continue trying to read
|
6303
6327
|
arguments for the next command from I<ARGFILE>. To aid in command/response
|
6304
6328
|
synchronization, any number appended to the C<-execute> option is echoed in
|
6305
|
-
the "{ready}" message. For example, C<-execute613> results in "{ready613}".
|
6329
|
+
the "{ready}" message. For example, C<-execute613> results in "{ready613}".
|
6330
|
+
When this number is added, B<-q> no longer suppresses the "{ready}" message.
|
6331
|
+
(Also, see the B<-echo3> and B<-echo4> options for additional ways to pass
|
6332
|
+
signals back to your application.)
|
6306
6333
|
|
6307
6334
|
4) Repeat steps 2 and 3 for each command.
|
6308
6335
|
|
@@ -6317,7 +6344,7 @@ writing the following lines to the currently open I<ARGFILE>:
|
|
6317
6344
|
-@
|
6318
6345
|
NEWARGFILE
|
6319
6346
|
|
6320
|
-
This causes I<ARGFILE> to be closed, and I<NEWARGFILE> to be kept open.
|
6347
|
+
This causes I<ARGFILE> to be closed, and I<NEWARGFILE> to be kept open.
|
6321
6348
|
(Without the B<-stay_open> here, exiftool would have returned to reading
|
6322
6349
|
arguments from I<ARGFILE> after reaching the end of I<NEWARGFILE>.)
|
6323
6350
|
|