exiftool-vendored.pl 12.60.0 → 12.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/Changes +110 -0
- package/bin/LICENSE +674 -0
- package/bin/MANIFEST +11 -0
- package/bin/META.json +5 -3
- package/bin/META.yml +5 -3
- package/bin/Makefile.PL +7 -1
- package/bin/README +50 -45
- package/bin/config_files/guano.config +161 -0
- package/bin/exiftool +163 -103
- package/bin/lib/Image/ExifTool/7Z.pm +793 -0
- package/bin/lib/Image/ExifTool/Apple.pm +14 -7
- package/bin/lib/Image/ExifTool/BMP.pm +0 -1
- package/bin/lib/Image/ExifTool/BigTIFF.pm +8 -1
- package/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
- package/bin/lib/Image/ExifTool/Canon.pm +4 -1
- package/bin/lib/Image/ExifTool/CanonRaw.pm +4 -4
- package/bin/lib/Image/ExifTool/CanonVRD.pm +4 -1
- package/bin/lib/Image/ExifTool/Exif.pm +31 -14
- package/bin/lib/Image/ExifTool/FlashPix.pm +9 -2
- package/bin/lib/Image/ExifTool/FujiFilm.pm +3 -3
- package/bin/lib/Image/ExifTool/GPS.pm +5 -2
- package/bin/lib/Image/ExifTool/Geotag.pm +4 -1
- package/bin/lib/Image/ExifTool/Jpeg2000.pm +243 -20
- package/bin/lib/Image/ExifTool/Lang/fr.pm +1467 -202
- package/bin/lib/Image/ExifTool/MPF.pm +2 -1
- package/bin/lib/Image/ExifTool/Matroska.pm +16 -1
- package/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -2
- package/bin/lib/Image/ExifTool/Nikon.pm +941 -33
- package/bin/lib/Image/ExifTool/NikonCustom.pm +874 -63
- package/bin/lib/Image/ExifTool/PDF.pm +39 -12
- package/bin/lib/Image/ExifTool/PLIST.pm +8 -1
- package/bin/lib/Image/ExifTool/PNG.pm +6 -6
- package/bin/lib/Image/ExifTool/PhaseOne.pm +5 -5
- package/bin/lib/Image/ExifTool/QuickTime.pm +96 -32
- package/bin/lib/Image/ExifTool/QuickTimeStream.pl +68 -37
- package/bin/lib/Image/ExifTool/README +2 -2
- package/bin/lib/Image/ExifTool/RIFF.pm +11 -9
- package/bin/lib/Image/ExifTool/Samsung.pm +227 -227
- package/bin/lib/Image/ExifTool/Shortcuts.pm +2 -1
- package/bin/lib/Image/ExifTool/SigmaRaw.pm +4 -4
- package/bin/lib/Image/ExifTool/Sony.pm +237 -32
- package/bin/lib/Image/ExifTool/TagLookup.pm +4762 -4629
- package/bin/lib/Image/ExifTool/TagNames.pod +737 -20
- package/bin/lib/Image/ExifTool/Validate.pm +17 -1
- package/bin/lib/Image/ExifTool/WPG.pm +296 -0
- package/bin/lib/Image/ExifTool/WriteExif.pl +9 -7
- package/bin/lib/Image/ExifTool/WritePDF.pl +7 -8
- package/bin/lib/Image/ExifTool/WriteQuickTime.pl +21 -9
- package/bin/lib/Image/ExifTool/WriteXMP.pl +2 -2
- package/bin/lib/Image/ExifTool/Writer.pl +47 -16
- package/bin/lib/Image/ExifTool/XMP.pm +30 -6
- package/bin/lib/Image/ExifTool/XMP2.pl +32 -0
- package/bin/lib/Image/ExifTool/XMPStruct.pl +96 -28
- package/bin/lib/Image/ExifTool/ZIP.pm +159 -41
- package/bin/lib/Image/ExifTool.pm +280 -164
- package/bin/lib/Image/ExifTool.pod +117 -52
- package/bin/perl-Image-ExifTool.spec +44 -43
- package/bin/pp_build_exe.args +8 -4
- package/package.json +3 -3
package/bin/MANIFEST
CHANGED
|
@@ -25,6 +25,7 @@ config_files/example.config
|
|
|
25
25
|
config_files/fotoware.config
|
|
26
26
|
config_files/frameCount.config
|
|
27
27
|
config_files/gps2utm.config
|
|
28
|
+
config_files/guano.config
|
|
28
29
|
config_files/nksc.config
|
|
29
30
|
config_files/photoshop_paths.config
|
|
30
31
|
config_files/picasa_faces.config
|
|
@@ -176,6 +177,7 @@ html/TagNames/Torrent.html
|
|
|
176
177
|
html/TagNames/Unknown.html
|
|
177
178
|
html/TagNames/VCard.html
|
|
178
179
|
html/TagNames/Vorbis.html
|
|
180
|
+
html/TagNames/WPG.html
|
|
179
181
|
html/TagNames/WTV.html
|
|
180
182
|
html/TagNames/XMP.html
|
|
181
183
|
html/TagNames/ZIP.html
|
|
@@ -210,6 +212,7 @@ lib/File/RandomAccess.pm
|
|
|
210
212
|
lib/File/RandomAccess.pod
|
|
211
213
|
lib/Image/ExifTool.pm
|
|
212
214
|
lib/Image/ExifTool.pod
|
|
215
|
+
lib/Image/ExifTool/7Z.pm
|
|
213
216
|
lib/Image/ExifTool/AES.pm
|
|
214
217
|
lib/Image/ExifTool/AFCP.pm
|
|
215
218
|
lib/Image/ExifTool/AIFF.pm
|
|
@@ -416,6 +419,7 @@ lib/Image/ExifTool/Unknown.pm
|
|
|
416
419
|
lib/Image/ExifTool/VCard.pm
|
|
417
420
|
lib/Image/ExifTool/Validate.pm
|
|
418
421
|
lib/Image/ExifTool/Vorbis.pm
|
|
422
|
+
lib/Image/ExifTool/WPG.pm
|
|
419
423
|
lib/Image/ExifTool/WTV.pm
|
|
420
424
|
lib/Image/ExifTool/WriteCanonRaw.pl
|
|
421
425
|
lib/Image/ExifTool/WriteExif.pl
|
|
@@ -631,6 +635,7 @@ t/JVC_3.out
|
|
|
631
635
|
t/JXL.t
|
|
632
636
|
t/JXL_2.out
|
|
633
637
|
t/JXL_3.out
|
|
638
|
+
t/JXL_4.out
|
|
634
639
|
t/Jpeg2000.t
|
|
635
640
|
t/Jpeg2000_2.out
|
|
636
641
|
t/Jpeg2000_3.out
|
|
@@ -856,6 +861,8 @@ t/VCard_2.out
|
|
|
856
861
|
t/VCard_3.out
|
|
857
862
|
t/Vorbis.t
|
|
858
863
|
t/Vorbis_2.out
|
|
864
|
+
t/WPG.t
|
|
865
|
+
t/WPG_2.out
|
|
859
866
|
t/WTV.t
|
|
860
867
|
t/WTV_2.out
|
|
861
868
|
t/Writer.t
|
|
@@ -965,6 +972,7 @@ t/ZIP_4.out
|
|
|
965
972
|
t/ZIP_5.out
|
|
966
973
|
t/ZIP_6.out
|
|
967
974
|
t/ZIP_7.out
|
|
975
|
+
t/ZIP_8.out
|
|
968
976
|
t/ZISRAW.t
|
|
969
977
|
t/ZISRAW_2.out
|
|
970
978
|
t/images/AFCP.jpg
|
|
@@ -1047,6 +1055,7 @@ t/images/JSON.json
|
|
|
1047
1055
|
t/images/JVC.jpg
|
|
1048
1056
|
t/images/JVC2.jpg
|
|
1049
1057
|
t/images/JXL.jxl
|
|
1058
|
+
t/images/JXL2.jxl
|
|
1050
1059
|
t/images/Jpeg2000.j2c
|
|
1051
1060
|
t/images/Jpeg2000.jp2
|
|
1052
1061
|
t/images/Kodak.jpg
|
|
@@ -1132,6 +1141,7 @@ t/images/Unknown.jpg
|
|
|
1132
1141
|
t/images/VCard.ics
|
|
1133
1142
|
t/images/VCard.vcf
|
|
1134
1143
|
t/images/Vorbis.ogg
|
|
1144
|
+
t/images/WPG.wpg
|
|
1135
1145
|
t/images/WTV.wtv
|
|
1136
1146
|
t/images/Writer.jpg
|
|
1137
1147
|
t/images/XMP.inx
|
|
@@ -1148,6 +1158,7 @@ t/images/XMP7.xmp
|
|
|
1148
1158
|
t/images/XMP8.xmp
|
|
1149
1159
|
t/images/XMP9.xmp
|
|
1150
1160
|
t/images/ZIP.gz
|
|
1161
|
+
t/images/ZIP.rar
|
|
1151
1162
|
t/images/ZIP.zip
|
|
1152
1163
|
t/images/ZISRAW.czi
|
|
1153
1164
|
t/images/iWork.numbers
|
package/bin/META.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"Phil Harvey (philharvey66 at gmail.com)"
|
|
5
5
|
],
|
|
6
6
|
"dynamic_config" : 0,
|
|
7
|
-
"generated_by" : "ExtUtils::MakeMaker version
|
|
7
|
+
"generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.143240, CPAN::Meta::Converter version 2.133380",
|
|
8
8
|
"license" : [
|
|
9
9
|
"perl_5"
|
|
10
10
|
],
|
|
@@ -33,10 +33,13 @@
|
|
|
33
33
|
"runtime" : {
|
|
34
34
|
"recommends" : {
|
|
35
35
|
"Archive::Zip" : "0",
|
|
36
|
+
"Compress::Raw::Lzma" : "0",
|
|
36
37
|
"Compress::Zlib" : "0",
|
|
37
38
|
"Digest::MD5" : "0",
|
|
38
39
|
"Digest::SHA" : "0",
|
|
40
|
+
"IO::Compress::Brotli" : "0",
|
|
39
41
|
"IO::Compress::RawDeflate" : "0",
|
|
42
|
+
"IO::Uncompress::Brotli" : "0",
|
|
40
43
|
"IO::Uncompress::RawInflate" : "0",
|
|
41
44
|
"POSIX::strptime" : "0",
|
|
42
45
|
"Time::HiRes" : "0"
|
|
@@ -47,6 +50,5 @@
|
|
|
47
50
|
}
|
|
48
51
|
},
|
|
49
52
|
"release_status" : "stable",
|
|
50
|
-
"version" : "12.
|
|
51
|
-
"x_serialization_backend" : "JSON::PP version 4.02"
|
|
53
|
+
"version" : "12.65"
|
|
52
54
|
}
|
package/bin/META.yml
CHANGED
|
@@ -7,7 +7,7 @@ build_requires:
|
|
|
7
7
|
configure_requires:
|
|
8
8
|
ExtUtils::MakeMaker: 0
|
|
9
9
|
dynamic_config: 0
|
|
10
|
-
generated_by: 'ExtUtils::MakeMaker version
|
|
10
|
+
generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.143240, CPAN::Meta::Converter version 2.133380'
|
|
11
11
|
license: perl
|
|
12
12
|
meta-spec:
|
|
13
13
|
url: http://module-build.sourceforge.net/META-spec-v1.4.html
|
|
@@ -19,14 +19,16 @@ no_index:
|
|
|
19
19
|
- inc
|
|
20
20
|
recommends:
|
|
21
21
|
Archive::Zip: 0
|
|
22
|
+
Compress::Raw::Lzma: 0
|
|
22
23
|
Compress::Zlib: 0
|
|
23
24
|
Digest::MD5: 0
|
|
24
25
|
Digest::SHA: 0
|
|
26
|
+
IO::Compress::Brotli: 0
|
|
25
27
|
IO::Compress::RawDeflate: 0
|
|
28
|
+
IO::Uncompress::Brotli: 0
|
|
26
29
|
IO::Uncompress::RawInflate: 0
|
|
27
30
|
POSIX::strptime: 0
|
|
28
31
|
Time::HiRes: 0
|
|
29
32
|
requires:
|
|
30
33
|
perl: 5.004
|
|
31
|
-
version: 12.
|
|
32
|
-
x_serialization_backend: 'JSON::PP version 4.02'
|
|
34
|
+
version: 12.65
|
package/bin/Makefile.PL
CHANGED
|
@@ -17,8 +17,11 @@ WriteMakefile(
|
|
|
17
17
|
" Digest::SHA: 0\n" .
|
|
18
18
|
" Time::HiRes: 0\n" .
|
|
19
19
|
" POSIX::strptime: 0\n" .
|
|
20
|
+
" Compress::Raw::Lzma: 0\n" .
|
|
20
21
|
" IO::Compress::RawDeflate: 0\n" .
|
|
21
|
-
" IO::Uncompress::RawInflate: 0\n"
|
|
22
|
+
" IO::Uncompress::RawInflate: 0\n" .
|
|
23
|
+
" IO::Compress::Brotli: 0\n" .
|
|
24
|
+
" IO::Uncompress::Brotli: 0\n",
|
|
22
25
|
# (not worth recommending -- only for column alignment of some languages)
|
|
23
26
|
# " Unicode::LineBreak: 0\n",
|
|
24
27
|
# (not worth recommending -- only for Rawzor files)
|
|
@@ -33,8 +36,11 @@ WriteMakefile(
|
|
|
33
36
|
'Digest::SHA' => 0,
|
|
34
37
|
'Time::HiRes' => 0,
|
|
35
38
|
'POSIX::strptime' => 0,
|
|
39
|
+
'Compress::Raw::Lzma' => 0,
|
|
36
40
|
'IO::Compress::RawDeflate' => 0,
|
|
37
41
|
'IO::Uncompress::RawInflate' => 0,
|
|
42
|
+
'IO::Compress::Brotli' => 0,
|
|
43
|
+
'IO::Uncompress::Brotli' => 0,
|
|
38
44
|
# 'Unicode::LineBreak' => 0,
|
|
39
45
|
# 'IO::Compress::Bzip2' => 0,
|
|
40
46
|
},
|
package/bin/README
CHANGED
|
@@ -14,48 +14,49 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
|
14
14
|
|
|
15
15
|
File Types
|
|
16
16
|
------------+-------------+-------------+-------------+------------
|
|
17
|
-
360 r/w | DPX r | ITC r |
|
|
18
|
-
3FR r | DR4 r/w/c | J2C r |
|
|
19
|
-
3G2 r/w | DSS r | JNG r/w |
|
|
20
|
-
3GP r/w | DV r | JP2 r/w |
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
17
|
+
360 r/w | DPX r | ITC r | NUMBERS r | RAW r/w
|
|
18
|
+
3FR r | DR4 r/w/c | J2C r | O r | RIFF r
|
|
19
|
+
3G2 r/w | DSS r | JNG r/w | ODP r | RSRC r
|
|
20
|
+
3GP r/w | DV r | JP2 r/w | ODS r | RTF r
|
|
21
|
+
7Z r | DVB r/w | JPEG r/w | ODT r | RW2 r/w
|
|
22
|
+
A r | DVR-MS r | JSON r | OFR r | RWL r/w
|
|
23
|
+
AA r | DYLIB r | JXL r | OGG r | RWZ r
|
|
24
|
+
AAE r | EIP r | K25 r | OGV r | RM r
|
|
25
|
+
AAX r/w | EPS r/w | KDC r | ONP r | SEQ r
|
|
26
|
+
ACR r | EPUB r | KEY r | OPUS r | SKETCH r
|
|
27
|
+
AFM r | ERF r/w | LA r | ORF r/w | SO r
|
|
28
|
+
AI r/w | EXE r | LFP r | ORI r/w | SR2 r/w
|
|
29
|
+
AIFF r | EXIF r/w/c | LIF r | OTF r | SRF r
|
|
30
|
+
APE r | EXR r | LNK r | PAC r | SRW r/w
|
|
31
|
+
ARQ r/w | EXV r/w/c | LRV r/w | PAGES r | SVG r
|
|
32
|
+
ARW r/w | F4A/V r/w | M2TS r | PBM r/w | SWF r
|
|
33
|
+
ASF r | FFF r/w | M4A/V r/w | PCD r | THM r/w
|
|
34
|
+
AVI r | FITS r | MACOS r | PCX r | TIFF r/w
|
|
35
|
+
AVIF r/w | FLA r | MAX r | PDB r | TORRENT r
|
|
36
|
+
AZW r | FLAC r | MEF r/w | PDF r/w | TTC r
|
|
37
|
+
BMP r | FLIF r/w | MIE r/w/c | PEF r/w | TTF r
|
|
38
|
+
BPG r | FLV r | MIFF r | PFA r | TXT r
|
|
39
|
+
BTF r | FPF r | MKA r | PFB r | VCF r
|
|
40
|
+
CHM r | FPX r | MKS r | PFM r | VNT r
|
|
41
|
+
COS r | GIF r/w | MKV r | PGF r | VRD r/w/c
|
|
42
|
+
CR2 r/w | GLV r/w | MNG r/w | PGM r/w | VSD r
|
|
43
|
+
CR3 r/w | GPR r/w | MOBI r | PLIST r | WAV r
|
|
44
|
+
CRM r/w | GZ r | MODD r | PICT r | WDP r/w
|
|
45
|
+
CRW r/w | HDP r/w | MOI r | PMP r | WEBP r/w
|
|
46
|
+
CS1 r/w | HDR r | MOS r/w | PNG r/w | WEBM r
|
|
47
|
+
CSV r | HEIC r/w | MOV r/w | PPM r/w | WMA r
|
|
48
|
+
CUR r | HEIF r/w | MP3 r | PPT r | WMV r
|
|
49
|
+
CZI r | HTML r | MP4 r/w | PPTX r | WPG r
|
|
50
|
+
DCM r | ICC r/w/c | MPC r | PS r/w | WTV r
|
|
51
|
+
DCP r/w | ICO r | MPG r | PSB r/w | WV r
|
|
52
|
+
DCR r | ICS r | MPO r/w | PSD r/w | X3F r/w
|
|
53
|
+
DFONT r | IDML r | MQV r/w | PSP r | XCF r
|
|
54
|
+
DIVX r | IIQ r/w | MRC r | QTIF r/w | XLS r
|
|
55
|
+
DJVU r | IND r/w | MRW r/w | R3D r | XLSX r
|
|
56
|
+
DLL r | INSP r/w | MXF r | RA r | XMP r/w/c
|
|
57
|
+
DNG r/w | INSV r | NEF r/w | RAF r/w | ZIP r
|
|
58
|
+
DOC r | INX r | NKSC r/w | RAM r |
|
|
59
|
+
DOCX r | ISO r | NRW r/w | RAR r |
|
|
59
60
|
|
|
60
61
|
Meta Information
|
|
61
62
|
----------------------+----------------------+---------------------
|
|
@@ -107,8 +108,8 @@ your home directory, then you would type the following commands in a
|
|
|
107
108
|
terminal window to extract and run ExifTool:
|
|
108
109
|
|
|
109
110
|
cd ~/Desktop
|
|
110
|
-
gzip -dc Image-ExifTool-12.
|
|
111
|
-
cd Image-ExifTool-12.
|
|
111
|
+
gzip -dc Image-ExifTool-12.65.tar.gz | tar -xf -
|
|
112
|
+
cd Image-ExifTool-12.65
|
|
112
113
|
./exiftool t/images/ExifTool.jpg
|
|
113
114
|
|
|
114
115
|
Note: These commands extract meta information from one of the test images.
|
|
@@ -157,8 +158,11 @@ for calculating digest values and providing other features listed below:
|
|
|
157
158
|
Win32::API (for proper handling of Windows file times)
|
|
158
159
|
Win32::FindFile (for Windows Unicode directory support, app only)
|
|
159
160
|
Win32API::File (for Windows Unicode file names and file times)
|
|
161
|
+
Compress::Raw::Lzma (for reading encoded 7z files)
|
|
160
162
|
IO::Compress::RawDeflate (for writing FLIF images)
|
|
161
163
|
IO::Uncompress::RawInflate (for reading FLIF images)
|
|
164
|
+
IO::Compress::Brotli (for writing compressed JXL metadata)
|
|
165
|
+
IO::Uncompress::Brotli (for reading compressed JXL metadata)
|
|
162
166
|
|
|
163
167
|
COPYRIGHT AND LICENSE
|
|
164
168
|
|
|
@@ -201,10 +205,11 @@ distribution package:
|
|
|
201
205
|
fotoware.config - Definitions for writing Fotoware XMP tags
|
|
202
206
|
frameCount.config - Extract FrameCount from MP4 videos
|
|
203
207
|
gps2utm.config - Generate UTM coordinate tags from GPS info
|
|
204
|
-
|
|
208
|
+
guano.config - Decode individual tags from Guano metadata
|
|
205
209
|
nksc.config - Decode tags in Nikon ViewNX NKSC files
|
|
206
210
|
photoshop_paths.config - For extracting or copying Photoshop paths
|
|
207
211
|
picasa_faces.config - Convert from Picasa to MWG/MP face regions
|
|
212
|
+
pix4d.config - Definitions for writing Pix4D XMP tags
|
|
208
213
|
rotate_regions.config - Rotate MWG and MP region tags
|
|
209
214
|
tiff_version.config - Determine the version of a TIFF file
|
|
210
215
|
time_zone.config - Calculate time zone from EXIF tags
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
#------------------------------------------------------------------------------
|
|
2
|
+
# File: Guano.config
|
|
3
|
+
#
|
|
4
|
+
# Description: User-defined Composite tag definitions to extract individual entries
|
|
5
|
+
# from the RIFF:Guano text block.
|
|
6
|
+
#
|
|
7
|
+
# Requires exiftool version 12.63+
|
|
8
|
+
#
|
|
9
|
+
# See GUANO - Grand Unified Acoustic Notation Ontology
|
|
10
|
+
# https://github.com/riggsd/guano-spec/blob/master/guano_specification.md
|
|
11
|
+
#
|
|
12
|
+
# The code itself is simply a regex match. If other entries are needed,
|
|
13
|
+
# then all that needs to be done is to copy/paste one of the blocks, change
|
|
14
|
+
# the name and edit the regex
|
|
15
|
+
#
|
|
16
|
+
# Examples:
|
|
17
|
+
# This will list the Make and Model from the Guano text block, if they exist
|
|
18
|
+
# exiftool -config Guano.config -GuanoModel -GuanoMake /path/to/files/
|
|
19
|
+
#
|
|
20
|
+
# Lists all the Guano entries in the Guano text block
|
|
21
|
+
# exiftool -config Guano.config -Guano* /path/to/files/
|
|
22
|
+
#
|
|
23
|
+
# Revisions: 2023/06/09 - Bryan K. Williams (aka StarGeek) Created
|
|
24
|
+
#------------------------------------------------------------------------------
|
|
25
|
+
|
|
26
|
+
%Image::ExifTool::UserDefined = (
|
|
27
|
+
'Image::ExifTool::Composite' => {
|
|
28
|
+
GuanoVersion => {
|
|
29
|
+
Require => 'Guano',
|
|
30
|
+
ValueConv => '$val =~ /GUANO\|Version:\s+(.*)/m ? $1 : undef',
|
|
31
|
+
},
|
|
32
|
+
GuanoMake => {
|
|
33
|
+
Require => 'Guano',
|
|
34
|
+
ValueConv => '$val =~ /Make:\s+(.*)/m ? $1 : undef',
|
|
35
|
+
},
|
|
36
|
+
GuanoModel => {
|
|
37
|
+
Require => 'Guano',
|
|
38
|
+
ValueConv => '$val =~ /Model:\s+(.*)/m ? $1 : undef',
|
|
39
|
+
},
|
|
40
|
+
GuanoFirmwareVersion => {
|
|
41
|
+
Require => 'Guano',
|
|
42
|
+
ValueConv => '$val =~ /Firmware Version:\s+(.*)/m ? $1 : undef',
|
|
43
|
+
},
|
|
44
|
+
GuanoSerial => {
|
|
45
|
+
Require => 'Guano',
|
|
46
|
+
ValueConv => '$val =~ /Serial:\s+(.*)/m ? $1 : undef',
|
|
47
|
+
},
|
|
48
|
+
GuanoTimestamp => {
|
|
49
|
+
Require => 'Guano',
|
|
50
|
+
Groups => { 2 => 'Time' },
|
|
51
|
+
ValueConv => '$val =~ /Timestamp:\s+(.*)/m ? $1 : undef',
|
|
52
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
|
53
|
+
},
|
|
54
|
+
GuanoLocPosition => {
|
|
55
|
+
Require => 'Guano',
|
|
56
|
+
Groups => { 2 => 'Location' },
|
|
57
|
+
ValueConv => '$val =~ /Loc Position:\s+(.*)/m ? $1 : undef',
|
|
58
|
+
PrintConv => q{
|
|
59
|
+
require Image::ExifTool::GPS;
|
|
60
|
+
my @v = split ' ', $val;
|
|
61
|
+
return Image::ExifTool::GPS::ToDMS($self, $v[0], 1, "N") . ', ' .
|
|
62
|
+
Image::ExifTool::GPS::ToDMS($self, $v[1], 1, "E");
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
GuanoLocElevation => {
|
|
66
|
+
Require => 'Guano',
|
|
67
|
+
Groups => { 2 => 'Location' },
|
|
68
|
+
ValueConv => '$val =~ /Loc Elevation:\s+(.*)/m ? $1 : undef',
|
|
69
|
+
},
|
|
70
|
+
GuanoTemperatureInt => {
|
|
71
|
+
Require => 'Guano',
|
|
72
|
+
ValueConv => '$val =~ /Temperature Int:\s+(.*)/m ? $1 : undef',
|
|
73
|
+
},
|
|
74
|
+
GuanoFilterHP => {
|
|
75
|
+
Require => 'Guano',
|
|
76
|
+
ValueConv => '$val =~ /^Filter HP:\s+(.*)/m ? $1 : undef',
|
|
77
|
+
},
|
|
78
|
+
GuanoAnabatBatteryVoltage => {
|
|
79
|
+
Require => 'Guano',
|
|
80
|
+
ValueConv => '$val =~ /Anabat\|Battery voltage:\s+(.*)/m ? $1 : undef',
|
|
81
|
+
},
|
|
82
|
+
GuanoAnabatMicrophone => {
|
|
83
|
+
Require => 'Guano',
|
|
84
|
+
ValueConv => '$val =~ /Anabat\|Microphone:\s+(.*)/m ? $1 : undef',
|
|
85
|
+
},
|
|
86
|
+
GuanoAnabatActivation => {
|
|
87
|
+
Require => 'Guano',
|
|
88
|
+
ValueConv => '$val =~ /Anabat\|Activation:\s+(.*)/m ? $1 : undef',
|
|
89
|
+
},
|
|
90
|
+
GuanoAnabatZcSensitivity => {
|
|
91
|
+
Require => 'Guano',
|
|
92
|
+
ValueConv => '$val =~ /Anabat\|Zc Sensitivity:\s+(.*)/m ? $1 : undef',
|
|
93
|
+
},
|
|
94
|
+
GuanoAnabatTriggerMinFreq => {
|
|
95
|
+
Require => 'Guano',
|
|
96
|
+
ValueConv => '$val =~ /Anabat\|Trigger min freq:\s+(.*)/m ? $1 : undef',
|
|
97
|
+
},
|
|
98
|
+
GuanoAnabatTriggerMaxFreq => {
|
|
99
|
+
Require => 'Guano',
|
|
100
|
+
ValueConv => '$val =~ /Anabat\|Trigger max freq:\s+(.*)/m ? $1 : undef',
|
|
101
|
+
},
|
|
102
|
+
GuanoAnabatMinEvent => {
|
|
103
|
+
Require => 'Guano',
|
|
104
|
+
ValueConv => '$val =~ /Anabat\|Min event:\s+(.*)/m ? $1 : undef',
|
|
105
|
+
},
|
|
106
|
+
GuanoAnabatTriggerWindow => {
|
|
107
|
+
Require => 'Guano',
|
|
108
|
+
ValueConv => '$val =~ /Anabat\|Trigger Window:\s+(.*)/m ? $1 : undef',
|
|
109
|
+
},
|
|
110
|
+
GuanoAnabatMaximumFileDuration => {
|
|
111
|
+
Require => 'Guano',
|
|
112
|
+
ValueConv => '$val =~ /Anabat\|Maximum File Duration:\s+(.*)/m ? $1 : undef',
|
|
113
|
+
},
|
|
114
|
+
GuanoSBVersion => {
|
|
115
|
+
Require => 'Guano',
|
|
116
|
+
ValueConv => '$val =~ /SB\|Version:\s+(.*)/m ? $1 : undef',
|
|
117
|
+
},
|
|
118
|
+
GuanoSBSpeciesAutoID => {
|
|
119
|
+
Require => 'Guano',
|
|
120
|
+
ValueConv => '$val =~ /SB\|Species Auto ID:\s+(.*)/m ? $1 : undef',
|
|
121
|
+
},
|
|
122
|
+
GuanoSpeciesAutoID => {
|
|
123
|
+
Require => 'Guano',
|
|
124
|
+
ValueConv => '$val =~ /Species Auto ID:\s+(.*)/m ? $1 : undef',
|
|
125
|
+
},
|
|
126
|
+
GuanoSpeciesManualID => {
|
|
127
|
+
Require => 'Guano',
|
|
128
|
+
ValueConv => '$val =~ /Species Manual ID:\s+(.*)/m ? $1 : undef',
|
|
129
|
+
},
|
|
130
|
+
GuanoSampleRate => {
|
|
131
|
+
Require => 'Guano',
|
|
132
|
+
ValueConv => '$val =~ /Samplerate:\s+(.*)/m ? $1 : undef',
|
|
133
|
+
},
|
|
134
|
+
GuanoLength => {
|
|
135
|
+
Require => 'Guano',
|
|
136
|
+
ValueConv => '$val =~ /Length:\s+(.*)/m ? $1 : undef',
|
|
137
|
+
},
|
|
138
|
+
GuanoTE => {
|
|
139
|
+
Require => 'Guano',
|
|
140
|
+
ValueConv => '$val =~ /TE:\s+(.*)/m ? $1 : undef',
|
|
141
|
+
},
|
|
142
|
+
GuanoSBFilterHP => {
|
|
143
|
+
Require => 'Guano',
|
|
144
|
+
ValueConv => '$val =~ /SB\|Filter HP:\s+(.*)/m ? $1 : undef',
|
|
145
|
+
},
|
|
146
|
+
GuanoNote => {
|
|
147
|
+
Require => 'Guano',
|
|
148
|
+
ValueConv => '$val =~ /Note:\s+(.*)/m ? $1 : undef',
|
|
149
|
+
},
|
|
150
|
+
GuanoSBRegion => {
|
|
151
|
+
Require => 'Guano',
|
|
152
|
+
ValueConv => '$val =~ /SB\|Region:\s+(.*)/m ? $1 : undef',
|
|
153
|
+
},
|
|
154
|
+
GuanoSBClassifier => {
|
|
155
|
+
Require => 'Guano',
|
|
156
|
+
ValueConv => '$val =~ /SB\|Classifier:\s+(.*)/m ? $1 : undef',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
);
|
|
160
|
+
#------------------------------------------------------------------------------
|
|
161
|
+
1; #end
|