Skip to content

Commit

Permalink
Version 2.3.1
Browse files Browse the repository at this point in the history
Fixed copy-and-paste errors in ExifDescriptor.java.  Thanks to Ferret Renaud.

git-svn-id: https://metadata-extractor.googlecode.com/svn/trunk@11 7bd79e3c-ab28-1fa5-d007-79fa9fde61af
  • Loading branch information
drewnoakes committed Feb 25, 2006
1 parent 6b4377d commit 27b02ac
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 31 deletions.
55 changes: 30 additions & 25 deletions ReleaseNotes.txt → ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
v2.3.0
------------
v2.3.1 - 25 Feb 2006
-------------------------------
- Fixed copy-and-paste errors in ExifDescriptor.java. Thanks to Ferret Renaud.

v2.3.0 - 12 Jan 2006
-------------------------------
- New tags from Exif 2.2 specification (A401-A420).
- Fixed stack overflow exception in ExifReader for cyclic directory references.
Thanks to John Sidney-Woollett for reporting this bug (reported for Fuji FinePix A101 and Canon 20D).
Expand Down Expand Up @@ -28,20 +32,20 @@ v2.3.0
These .metadata files contain all non-image JPEG segments, making them suitable for unit tests whilst
being much smaller on disk.

v2.2.2
------------
v2.2.2 - 22 Nov 2003
-------------------------------

- Fixed a bug where version strings were assumed to be comprised of exactly four parts,
and cases were found where a different number existed.
and cases were found where a different number existed

v2.2.1
------------
v2.2.1 - 24 Oct 2003
-------------------------------

- Fixed a bug where JpegDirectory had tag names for image width and height around
the wrong way. Thanks to Sander Smith for pointing this out.
the wrong way. Thanks to Sander Smith for pointing this out

v2.2
------------
v2.2 - 18 Oct 2003
-------------------------------

- Added support for extraction of Jpeg image information (from the SOF0 segment)
Thanks to Darrell Silver for commencing the code for this extension
Expand All @@ -51,14 +55,14 @@ v2.2
publishing his work in decoding this makernote data
- Added convenient writing of thumbnails to files from ExifDirectory
- Fixed a bug in date format strings, whereby times in the AM / PM were indistinguishable
Thanks to Bill Boland for being the first person to point this out (this was a popular one!).
- Fixed bug for multi-component tag values of certain types.
Thanks to Derek Wegner for identifying the bug and providing a solution.
- More unit tests (consequently, the source-code download is much larger).
- First version with an Ant build script.
Thanks to Bill Boland for being the first person to point this out (this was a popular one!)
- Fixed bug for multi-component tag values of certain types
Thanks to Derek Wegner for identifying the bug and providing a solution
- More unit tests (consequently, the source-code download is much larger)
- First version with an Ant build script

v2.1
------------
v2.1 - 12 Jan 2003
-------------------------------

- Extract methods no longer throw exceptions, with error information stored
in Metadata instances, using hasErrors() and getErrors()
Expand All @@ -67,8 +71,8 @@ v2.1
- Support for extracting metadata from InputStreams, such as network connections
- Replaced code that depended upon JDK 1.4

v2.0
------------
v2.0 - 10 Dec 2002
-------------------------------

Enormous changes to the class and package structure in this release prohibit a
class-by-class breakdown of changes. The focus is no longer on Exif metadata
Expand All @@ -89,8 +93,8 @@ v2.0
the scope to general metadata extraction. Future development will introduce
new media and metadata support with little or no impact to existing classes.

v1.2
------------
v1.2 - 6 Nov 2002
-------------------------------

ExifExtractor.java
- Proper traversing of Exif file structure and complete refactor & tidy of
Expand All @@ -99,6 +103,7 @@ v1.2
- Tags now stored in directories... use the IFD_* constants to refer to the
image file directory you require (Exif, Interop, GPS and Makernote*) --
this avoids collisions where two tags share the same code
- Correct extraction of multi-component values
- No longer decodes image to extract Exif data -- this is much faster
- Takes componentCount of unknown tags into account
- Now understands GPS tags (thanks to Colin Briton for his help with this)
Expand Down Expand Up @@ -141,7 +146,7 @@ v1.2


v1.1.1
------------
-------------------------------

Rational.java
- Added toSimpleString() method, which returns a simplified and hopefully
Expand All @@ -163,15 +168,15 @@ v1.1.1
- Make use of new Rational method toSimpleString() for more elegant output -
Use of DecimalFormatter to tidy output in selected get***Description() methods

v1.1.0
------------
v1.1.0 - 28 Aug 2002
-------------------------------

- Descriptive tag values, including units and text for enumerations
- Decoupling from JDK 1.4-specific libraries (tested with JDK 1.3)
- More complete list of tags, both as constants for direct lookup, and via the
static lookup method

v1.0
------------
-------------------------------

- Initial release
28 changes: 25 additions & 3 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@
<property name="dist" location="Releases"/>
<property name="build" value="Build"/>
<property name="src" value="src"/>
<property name="javadoc" value="javadoc"/>
<property name="lib" value="Libraries"/>
<property name="verbose" value="true"/>
<property name="debug" value="off"/>
<property name="version" value="2.3.0"/>
<property name="version" value="2.3.1"/>
<property name="classpath" value="${lib}/junit.jar"/>

<target name="clean" description="deletes and recreates the destination directory">
Expand Down Expand Up @@ -39,7 +40,7 @@
<target name="dist-source" depends="clean, compile, test" description="generate source distribution">
<jar destfile="${dist}/metadata-extractor-${version}-src.jar" update="false">
<fileset dir="."
includes="${src}/**/*.java, ${src}/**/*.jpg, ${src}/**/*.metadata, ${lib}/junit.jar, build.xml, ReleaseNotes.txt"/>
includes="${src}/**/*.java, ${src}/**/*.jpg, ${src}/**/*.metadata, ${lib}/junit.jar, build.xml, ChangeLog.txt"/>
</jar>
</target>

Expand All @@ -54,6 +55,27 @@
</junit>
</target>

<target name="all" depends="dist-source, dist-binaries" description="prepare both source and binary distributions"/>
<target name="javadoc" description="generate javadoc documentation">
<javadoc
destdir="${javadoc}"
defaultexcludes="yes"
author="true"
version="true"
use="true"
access="protected"
windowtitle="metadata-extractor javadoc"
failonerror="true">

<bottom><![CDATA[<i>Copyright &#169; 2006 Drew Noakes. All Rights Reserved.</i>]]></bottom>

<packageset dir="${src}" defaultexcludes="yes">
<include name="com/**"/>
<exclude name="com/**/test"/>
</packageset>

</javadoc>
</target>

<target name="all" depends="dist-source, dist-binaries, javadoc" description="prepare source and binary distributions, and javadoc"/>

</project>
6 changes: 3 additions & 3 deletions src/com/drew/metadata/exif/ExifDescriptor.java
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,8 @@ public String getSceneCaptureTypeDescription() throws MetadataException

public String get35mmFilmEquivFocalLengthDescription() throws MetadataException
{
if (!_directory.containsTag(ExifDirectory.TAG_DIGITAL_ZOOM_RATIO)) return null;
int equivalentFocalLength = _directory.getInt(ExifDirectory.TAG_DIGITAL_ZOOM_RATIO);
if (!_directory.containsTag(ExifDirectory.TAG_35MM_FILM_EQUIV_FOCAL_LENGTH)) return null;
int equivalentFocalLength = _directory.getInt(ExifDirectory.TAG_35MM_FILM_EQUIV_FOCAL_LENGTH);

if (equivalentFocalLength==0)
return "Unknown";
Expand Down Expand Up @@ -703,7 +703,7 @@ public String getFocalPlaneXResolutionDescription() throws MetadataException

public String getFocalPlaneYResolutionDescription() throws MetadataException
{
if (!_directory.containsTag(ExifDirectory.TAG_COMPRESSION)) return null;
if (!_directory.containsTag(ExifDirectory.TAG_FOCAL_PLANE_Y_RES)) return null;
Rational rational = _directory.getRational(ExifDirectory.TAG_FOCAL_PLANE_Y_RES);
return rational.getReciprocal().toSimpleString(_allowDecimalRepresentationOfRationals) + " " +
getFocalPlaneResolutionUnitDescription().toLowerCase();
Expand Down

0 comments on commit 27b02ac

Please sign in to comment.