exiftool_vendored 12.62.0 → 12.64.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.
- 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
|