exiftool_vendored 12.62.0 → 12.64.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +50 -1
- data/bin/MANIFEST +4 -0
- data/bin/META.json +4 -1
- data/bin/META.yml +4 -1
- data/bin/Makefile.PL +7 -1
- data/bin/README +50 -46
- data/bin/config_files/guano.config +161 -0
- data/bin/exiftool +88 -62
- data/bin/lib/Image/ExifTool/7Z.pm +793 -0
- data/bin/lib/Image/ExifTool/Apple.pm +6 -3
- data/bin/lib/Image/ExifTool/Canon.pm +1 -0
- data/bin/lib/Image/ExifTool/CanonRaw.pm +4 -4
- data/bin/lib/Image/ExifTool/CanonVRD.pm +4 -1
- data/bin/lib/Image/ExifTool/Exif.pm +31 -14
- data/bin/lib/Image/ExifTool/FujiFilm.pm +3 -3
- data/bin/lib/Image/ExifTool/GPS.pm +5 -2
- data/bin/lib/Image/ExifTool/Geotag.pm +4 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +226 -28
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1467 -202
- data/bin/lib/Image/ExifTool/MPF.pm +2 -1
- data/bin/lib/Image/ExifTool/Matroska.pm +16 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -2
- data/bin/lib/Image/ExifTool/Nikon.pm +419 -5
- data/bin/lib/Image/ExifTool/NikonCustom.pm +13 -3
- data/bin/lib/Image/ExifTool/PDF.pm +9 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +8 -1
- data/bin/lib/Image/ExifTool/PNG.pm +6 -6
- data/bin/lib/Image/ExifTool/PhaseOne.pm +5 -5
- data/bin/lib/Image/ExifTool/QuickTime.pm +74 -21
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +20 -19
- data/bin/lib/Image/ExifTool/README +2 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +11 -9
- data/bin/lib/Image/ExifTool/Shortcuts.pm +2 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +4 -4
- data/bin/lib/Image/ExifTool/Sony.pm +103 -8
- data/bin/lib/Image/ExifTool/TagLookup.pm +4738 -4630
- data/bin/lib/Image/ExifTool/TagNames.pod +249 -5
- data/bin/lib/Image/ExifTool/Validate.pm +17 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +9 -7
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +21 -9
- data/bin/lib/Image/ExifTool/WriteXMP.pl +2 -2
- data/bin/lib/Image/ExifTool/Writer.pl +28 -10
- data/bin/lib/Image/ExifTool/XMP.pm +14 -2
- data/bin/lib/Image/ExifTool/XMP2.pl +32 -0
- data/bin/lib/Image/ExifTool/XMPStruct.pl +96 -28
- data/bin/lib/Image/ExifTool/ZIP.pm +5 -5
- data/bin/lib/Image/ExifTool.pm +67 -39
- data/bin/lib/Image/ExifTool.pod +83 -52
- data/bin/perl-Image-ExifTool.spec +44 -44
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd7bba924fc8d29d342ec53188b3331ed2e8e9a28143eb169464ad1f65d8e404
|
4
|
+
data.tar.gz: 17f3c5d49583b5f614f70c861e2277aab6fdcce3b28203749bc77517150dcb55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0bfff20448186ed9958ecc67b4aaee95e67563b8bdadbb374d1d7ae1bd2f9300f5c80ba4ac4bd8efc0a1b13b8a89be0425afa2d3a4357b7d00c2250b6a69b6d3
|
7
|
+
data.tar.gz: 87adab8506730664feccc82d398351791b4ff17732b7f090883dcae3607f74bf2c1049ada6107140a0052cc734cbe1e91044c9c025e9968384294eda5f3f1355
|
data/bin/Changes
CHANGED
@@ -7,11 +7,60 @@ RSS feed: https://exiftool.org/rss.xml
|
|
7
7
|
Note: The most recent production release is Version 12.60. (Other versions are
|
8
8
|
considered development releases, and are not uploaded to MetaCPAN.)
|
9
9
|
|
10
|
+
June 28, 2023 - Version 12.64
|
11
|
+
|
12
|
+
- Added a new Sony LensType (thanks Jos Roost)
|
13
|
+
- Added config_files/guano.config to the distribution (thanks StarGeek)
|
14
|
+
- Added support for Garmin Low-resolution Video (GLV) files
|
15
|
+
- Added JUMBF to the list of deletable groups
|
16
|
+
- Added (untested) read support for spherical video tags in Matroska videos
|
17
|
+
- Decode a number of new Nikon Z9 tags (thanks Warren Hatch)
|
18
|
+
- Decode AmbisonicAudio tags in spherical MP4 vidoes
|
19
|
+
- Decode another Apple tag
|
20
|
+
- Improved French translations (thanks Philippe Bonnaure of GraphicConverter)
|
21
|
+
- Patched to allow writing QuickTime-based videos where the audio/video sample
|
22
|
+
description comes after the sample pointers
|
23
|
+
- Fixed parsing of GPS from Insta360 videos to properly skip void fixes
|
24
|
+
- Fixed problem where Apple iPhone 14 images produced invalid XML in -X output
|
25
|
+
when using -struct option
|
26
|
+
- API Changes:
|
27
|
+
- Added StructFormat option to allow JSON-format serialized structures
|
28
|
+
- Added NoDups option to eliminate duplicate items from queued values when
|
29
|
+
writing List-type tags
|
30
|
+
|
31
|
+
June 8, 2023 - Version 12.63
|
32
|
+
|
33
|
+
- Added ability to read/write/create Brotli-compressed metadata in JXL images
|
34
|
+
(requires IO::Compress::Brotli)
|
35
|
+
- Added partial support for Exif 3.0 specification:
|
36
|
+
- Added new EXIF tags
|
37
|
+
- Added MPF Original Preservation Image type
|
38
|
+
- Support for reading 'utf8' values (but still write only as 'string')
|
39
|
+
- Added support for Adobe XMP-hdrgm (HDR Gain Map) tags
|
40
|
+
- Added support for reading 7z files (thanks Amir Gooran, github #205) (but
|
41
|
+
currently this doesn't work for the Windows .exe version because I haven't
|
42
|
+
been able to install Compress::Raw::Lzma for ActivePerl)
|
43
|
+
- Added XMP-panorama tags
|
44
|
+
- Added warning if -csv is used with -p
|
45
|
+
- Added warning if trying to geotag from a UTF-16 track log
|
46
|
+
- Decode ImageWidth/Height from JXL images using partial codestreams
|
47
|
+
- Decode more Sony tags for some newer models (thanks Jos Roost)
|
48
|
+
- Extract GainMapImage (hrgm box) from JXL files
|
49
|
+
- Extract Guano information from WAV files
|
50
|
+
- Enhanced ImageDataMD5 feature and renamed to ImageDataHash (with
|
51
|
+
ImageDataMD5 alias for backward compatibility)
|
52
|
+
- Changed RARVersion tag name to FileVersion
|
53
|
+
- Fixed bug introduced in 12.46 which could cause a hang when reading a
|
54
|
+
corrupted RIFF-based file
|
55
|
+
- Fixed writing of Composition:GPSPosition when -n is used
|
56
|
+
- API Changes:
|
57
|
+
- Added ImageHashType option
|
58
|
+
|
10
59
|
May 3, 2023 - Version 12.62
|
11
60
|
|
12
61
|
- Added basic read support for WPG images
|
13
62
|
- Added ImageDataMD5 support for HEIC images
|
14
|
-
- Added support for RAR version 5.0
|
63
|
+
- Added support for RAR version 5.0 files (thanks Amir Gooran, github #203)
|
15
64
|
- Added a few new XMP-aux tags (thanks John Ellis)
|
16
65
|
- Made Composite tags available for use in -fileNUM argument
|
17
66
|
- Better handling of FlashPix VT_EMPTY value
|
data/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
|
@@ -211,6 +212,7 @@ lib/File/RandomAccess.pm
|
|
211
212
|
lib/File/RandomAccess.pod
|
212
213
|
lib/Image/ExifTool.pm
|
213
214
|
lib/Image/ExifTool.pod
|
215
|
+
lib/Image/ExifTool/7Z.pm
|
214
216
|
lib/Image/ExifTool/AES.pm
|
215
217
|
lib/Image/ExifTool/AFCP.pm
|
216
218
|
lib/Image/ExifTool/AIFF.pm
|
@@ -633,6 +635,7 @@ t/JVC_3.out
|
|
633
635
|
t/JXL.t
|
634
636
|
t/JXL_2.out
|
635
637
|
t/JXL_3.out
|
638
|
+
t/JXL_4.out
|
636
639
|
t/Jpeg2000.t
|
637
640
|
t/Jpeg2000_2.out
|
638
641
|
t/Jpeg2000_3.out
|
@@ -1052,6 +1055,7 @@ t/images/JSON.json
|
|
1052
1055
|
t/images/JVC.jpg
|
1053
1056
|
t/images/JVC2.jpg
|
1054
1057
|
t/images/JXL.jxl
|
1058
|
+
t/images/JXL2.jxl
|
1055
1059
|
t/images/Jpeg2000.j2c
|
1056
1060
|
t/images/Jpeg2000.jp2
|
1057
1061
|
t/images/Kodak.jpg
|
data/bin/META.json
CHANGED
@@ -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,5 +50,5 @@
|
|
47
50
|
}
|
48
51
|
},
|
49
52
|
"release_status" : "stable",
|
50
|
-
"version" : "12.
|
53
|
+
"version" : "12.64"
|
51
54
|
}
|
data/bin/META.yml
CHANGED
@@ -19,13 +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.
|
34
|
+
version: 12.64
|
data/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
|
},
|
data/bin/README
CHANGED
@@ -14,49 +14,49 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
14
14
|
|
15
15
|
File Types
|
16
16
|
------------+-------------+-------------+-------------+------------
|
17
|
-
360 r/w |
|
18
|
-
3FR r |
|
19
|
-
3G2 r/w |
|
20
|
-
3GP 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
|
-
|
59
|
-
|
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 |
|
60
60
|
|
61
61
|
Meta Information
|
62
62
|
----------------------+----------------------+---------------------
|
@@ -108,8 +108,8 @@ your home directory, then you would type the following commands in a
|
|
108
108
|
terminal window to extract and run ExifTool:
|
109
109
|
|
110
110
|
cd ~/Desktop
|
111
|
-
gzip -dc Image-ExifTool-12.
|
112
|
-
cd Image-ExifTool-12.
|
111
|
+
gzip -dc Image-ExifTool-12.64.tar.gz | tar -xf -
|
112
|
+
cd Image-ExifTool-12.64
|
113
113
|
./exiftool t/images/ExifTool.jpg
|
114
114
|
|
115
115
|
Note: These commands extract meta information from one of the test images.
|
@@ -158,8 +158,11 @@ for calculating digest values and providing other features listed below:
|
|
158
158
|
Win32::API (for proper handling of Windows file times)
|
159
159
|
Win32::FindFile (for Windows Unicode directory support, app only)
|
160
160
|
Win32API::File (for Windows Unicode file names and file times)
|
161
|
+
Compress::Raw::Lzma (for reading encoded 7z files)
|
161
162
|
IO::Compress::RawDeflate (for writing FLIF images)
|
162
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)
|
163
166
|
|
164
167
|
COPYRIGHT AND LICENSE
|
165
168
|
|
@@ -202,10 +205,11 @@ distribution package:
|
|
202
205
|
fotoware.config - Definitions for writing Fotoware XMP tags
|
203
206
|
frameCount.config - Extract FrameCount from MP4 videos
|
204
207
|
gps2utm.config - Generate UTM coordinate tags from GPS info
|
205
|
-
|
208
|
+
guano.config - Decode individual tags from Guano metadata
|
206
209
|
nksc.config - Decode tags in Nikon ViewNX NKSC files
|
207
210
|
photoshop_paths.config - For extracting or copying Photoshop paths
|
208
211
|
picasa_faces.config - Convert from Picasa to MWG/MP face regions
|
212
|
+
pix4d.config - Definitions for writing Pix4D XMP tags
|
209
213
|
rotate_regions.config - Rotate MWG and MP region tags
|
210
214
|
tiff_version.config - Determine the version of a TIFF file
|
211
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
|