Skip to content

Commit

Permalink
v12.80
Browse files Browse the repository at this point in the history
  • Loading branch information
mceachen committed Mar 19, 2024
1 parent 5fff6b1 commit 321d845
Show file tree
Hide file tree
Showing 26 changed files with 3,807 additions and 2,870 deletions.
39 changes: 36 additions & 3 deletions bin/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,41 @@ RSS feed: https://exiftool.org/rss.xml
Note: The most recent production release is Version 12.76. (Other versions are
considered development releases, and are not uploaded to MetaCPAN.)

Mar. 19, 2024 - Version 12.80

- Added GeolocationFeatureCode tag
- Added XMP-acdsee-rs tags and a new XMP-xmpDM tag
- Added ACDSeeRegion2MWGRegion conversion to config_files/acdsee.config
- Added GPSAltitudeRef to XMP-iptcExt LocationDetails structure
- Added a couple of new FujiFilm tags and a new CropMode value
- Added conversion for XMP-aux:ApproximateFocusDistance "infinity"
- Improved Geolocation regular expressions to allow negative matches
- Improved accuracy of Geolocation distance/bearing calculations
- Changed structure of Geolocation database (now version 1.02)
- Minor change to key format for user-defined Geolocation name translations
- Fixed case/spacing of "C2PA" in some CBOR tag descriptions
- Fixed bug extracting binary data from EXR files
- API Changes:
- Added GeolocFeature option

Mar. 15, 2024 - Version 12.79

- Improvements to new Geolocation feature:
- Added reverse Geolocation ability (obtain GPS coordinates from city
name), with support for regular expressions
- Added -listgeo option to list the Geolocation database
- Added the ability to include user-defined cities in the Geolocation
database
- Added the ability to write XMP-iptcExt LocationShown tags using Geolocate
feature
- Added the ability to specify which tags to read from file for the API
Geolocation option
- Added language translations for Geolocation names
- Increased resolution of Geolocation GPS positions and stored populations
- API Changes:
- Save necessary data members to allow GetInfo to be accessed by
user-defined tags

Mar. 5, 2024 - Version 12.78 - "Geolocation"

- Added new Geolocation feature and write-only Geolocate tag
Expand All @@ -32,9 +67,7 @@ Mar. 5, 2024 - Version 12.78 - "Geolocation"
- Fixed issue where some tags from alternate files using the -fileNUM option
weren't generated as requested
- API Changes:
- Added Geolocation,
GeolocMaxDist and
GeolocMinPop API options
- Added Geolocation, GeolocMaxDist and GeolocMinPop API options

Feb. 16, 2024 - Version 12.77

Expand Down
27 changes: 25 additions & 2 deletions bin/MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ html/data_members.html
html/exiftool_pod.html
html/faq.html
html/filename.html
html/geolocation.html
html/geotag.html
html/history.html
html/htmldump.html
Expand Down Expand Up @@ -293,6 +294,24 @@ lib/Image/ExifTool/GE.pm
lib/Image/ExifTool/GIF.pm
lib/Image/ExifTool/GIMP.pm
lib/Image/ExifTool/GPS.pm
lib/Image/ExifTool/GeoLang/cs.pm
lib/Image/ExifTool/GeoLang/de.pm
lib/Image/ExifTool/GeoLang/en_ca.pm
lib/Image/ExifTool/GeoLang/en_gb.pm
lib/Image/ExifTool/GeoLang/es.pm
lib/Image/ExifTool/GeoLang/fi.pm
lib/Image/ExifTool/GeoLang/fr.pm
lib/Image/ExifTool/GeoLang/it.pm
lib/Image/ExifTool/GeoLang/ja.pm
lib/Image/ExifTool/GeoLang/ko.pm
lib/Image/ExifTool/GeoLang/nl.pm
lib/Image/ExifTool/GeoLang/pl.pm
lib/Image/ExifTool/GeoLang/ru.pm
lib/Image/ExifTool/GeoLang/sk.pm
lib/Image/ExifTool/GeoLang/sv.pm
lib/Image/ExifTool/GeoLang/tr.pm
lib/Image/ExifTool/GeoLang/zh_cn.pm
lib/Image/ExifTool/GeoLang/zh_tw.pm
lib/Image/ExifTool/GeoTiff.pm
lib/Image/ExifTool/Geolocation.dat
lib/Image/ExifTool/Geolocation.pm
Expand Down Expand Up @@ -545,7 +564,6 @@ t/ExifTool_32.out
t/ExifTool_33.out
t/ExifTool_34.out
t/ExifTool_35.out
t/ExifTool_36.out
t/ExifTool_4.out
t/ExifTool_5.out
t/ExifTool_6.out
Expand Down Expand Up @@ -602,6 +620,12 @@ t/GeoTiff.t
t/GeoTiff_2.out
t/GeoTiff_3.out
t/GeoTiff_4.out
t/Geolocation.t
t/Geolocation_2.out
t/Geolocation_3.out
t/Geolocation_4.out
t/Geolocation_5.out
t/Geolocation_6.out
t/Geotag.t
t/Geotag_10.out
t/Geotag_11.out
Expand Down Expand Up @@ -923,7 +947,6 @@ t/Writer_58.out
t/Writer_59.out
t/Writer_6.out
t/Writer_60.out
t/Writer_61.out
t/Writer_7.out
t/Writer_9.out
t/XISF.t
Expand Down
2 changes: 1 addition & 1 deletion bin/META.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@
}
},
"release_status" : "stable",
"version" : "12.78"
"version" : "12.80"
}
2 changes: 1 addition & 1 deletion bin/META.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ recommends:
Time::HiRes: 0
requires:
perl: 5.004
version: 12.78
version: 12.80
4 changes: 2 additions & 2 deletions bin/README
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ your home directory, then you would type the following commands in a
terminal window to extract and run ExifTool:

cd ~/Desktop
gzip -dc Image-ExifTool-12.78.tar.gz | tar -xf -
cd Image-ExifTool-12.78
gzip -dc Image-ExifTool-12.80.tar.gz | tar -xf -
cd Image-ExifTool-12.80
./exiftool t/images/ExifTool.jpg

Note: These commands extract meta information from one of the test images.
Expand Down
94 changes: 37 additions & 57 deletions bin/config_files/acdsee.config
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
# type tags to ACDSee regions.
# MPRegion2ACDSeeRegion : Converts a Microsoft RegionInfoMP
# IPTCRegion2ACDSeeRegion : Converts an IPTC ImageRegion
# MWGRegion2ACDSeeRegion : Converts a MWG RegionInfo
# MWGRegion2ACDSeeRegion : Converts from a MWG RegionInfo
# ACDSeeRegion2MWGRegion : Converts to a MWG RegionInfo
#
# Usage: To set individual tags
# exiftool -config acdsee.config -ACDSEETAG=VALUE FILE ...
Expand All @@ -52,6 +53,8 @@
# exiftool -config acdsee.config "-RegionInfoACDSee<IPTCRegion2ACDSeeRegion" File ...
# To convert MWG Regions to ACDSee regions
# exiftool -config acdsee.config "-RegionInfoACDSee<MWGRegion2ACDSeeRegion" File ...
# To convert ACDSee Regions to MWG regions
# exiftool -config acdsee.config "-RegionInfo<ACDSeeRegion2MWGRegion" File ...
#
# Requires: ExifTool version 10.28 or later
#
Expand All @@ -64,45 +67,12 @@
# "RegionInfoACDSeeAppliedToDimensions*" -> "ACDSeeRegionAppliedToDimensions*"
# "RegionInfoACDSeeRegionList* -> "ACDSeeRegion*"
# 2022/10/03 - PH Set group name properly to XMP-acdsee-rs
# 2024/03/19 - PH Moved XMP-acdsee-rs tags into the standard distribution,
# and added ACDSeeRegion2MWGRegion conversion
#------------------------------------------------------------------------------
use Data::Dumper;

my %sACDSeeDimensions = (
STRUCT_NAME => 'ACDSee Dimensions',
NAMESPACE => {'acdsee-stDim' => 'http://ns.acdsee.com/sType/Dimensions#'},
'w' => { Writable => 'real' },
'h' => { Writable => 'real' },
'unit' => { },
);

my %sACDSeeArea = (
STRUCT_NAME => 'ACDSee Area',
NAMESPACE => { 'acdsee-stArea' => 'http://ns.acdsee.com/sType/Area#' },
'x' => { Writable => 'real' },
'y' => { Writable => 'real' },
w => { Writable => 'real' },
h => { Writable => 'real' },
);

my %sACDSeeRegionStruct = (
STRUCT_NAME => 'ACDSee Regions',
NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
ALGArea => { Struct => \%sACDSeeArea },
DLYArea => { Struct => \%sACDSeeArea },
Name => { },
NameAssignType => { },
Type => { },
);

%Image::ExifTool::UserDefined = (
# new XMP namespaces for ACDSee regions
'Image::ExifTool::XMP::Main' => {
'acdsee-rs' => { # <-- must be the same as the NAMESPACE prefix
SubDirectory => {
TagTable => 'Image::ExifTool::UserDefined::ACDSeeRegions'
},
},
},
'Image::ExifTool::Composite' => {
# create an ACDSee RegionInfo structure from a Microsoft RegionInfoMP structure
MPRegion2ACDSeeRegion => {
Expand Down Expand Up @@ -176,7 +146,7 @@ my %sACDSeeRegionStruct = (
},
},

# create an MWG RegionInfo structure from an IPTC ImageRegion list
# create an ACDSee RegionInfo structure from an MWG RegionInfo structure
MWGRegion2ACDSeeRegion => {
Require => {
0 => 'RegionInfo',
Expand Down Expand Up @@ -207,29 +177,39 @@ my %sACDSeeRegionStruct = (
}
},
},
####
},
);

%Image::ExifTool::UserDefined::ACDSeeRegions = (
GROUPS => { 0 => 'XMP', 1 => 'XMP-acdsee-rs', 2 => 'Image' },
NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
WRITABLE => 'string', # (default to string-type tags)
Regions => {
Name => 'RegionInfoACDSee',
FlatName => 'ACDSee',
# the "Struct" entry defines the structure fields
Struct => {
# optional structure name (used for warning messages only)
STRUCT_NAME => 'ACDSee RegionInfo',
RegionList => {
FlatName => 'Region',
Struct => \%sACDSeeRegionStruct,
List => 'Bag',
# create an MWG RegionInfo structure from an ACDSee RegionInfo
ACDSeeRegion2MWGRegion => {
Require => {
0 => 'RegionInfoACDSee',
1 => 'ImageWidth',
2 => 'ImageHeight',
},
ValueConv => q{
my ($rgn, @newRgns);
my %newRgn;
foreach $rgn (@{$val[0]{RegionList}}) {
next unless $$rgn{Area} or defined $$rgn{Name};
my %newRgn;
if ($$rgn{DLYArea}) {
$newRgn{Area} = {
'X' => $$rgn{DLYArea}{'X'},
'Y' => $$rgn{DLYArea}{'Y'},
'W' => $$rgn{DLYArea}{'W'},
'H' => $$rgn{DLYArea}{'H'},
};
};
$newRgn{Name} = $$rgn{Name} if defined $$rgn{Name};
$newRgn{'Type'} = $$rgn{'Type'} if defined $$rgn{'Type'};
push @newRgns, \%newRgn;
}
return {
'AppliedToDimensions' => $val[0]{'AppliedToDimensions'},
RegionList => \@newRgns,
}
},
AppliedToDimensions => {
FlatName => 'RegionAppliedToDimensions',Struct => \%sACDSeeDimensions },
},
####
},
);

Expand Down
6 changes: 6 additions & 0 deletions bin/config_files/example.config
Original file line number Diff line number Diff line change
Expand Up @@ -362,5 +362,11 @@ $Image::ExifTool::QuickTime::Keys{PREFERRED} = 3;
'-i', 'HIDDEN', # ignore hidden files by default (names beginning with ".")
);

# Add user-defined cities to the Geolocation lookup
@Image::ExifTool::UserDefined::Geolocation = (
# (city,region,country code,country,timezone,population,lat,lon)
['Sinemorets','Burgas','BG','Bulgaria','Europe/Sofia',400,42.06115,27.97833],
);

#------------------------------------------------------------------------------
1; #end
Loading

0 comments on commit 321d845

Please sign in to comment.