allow higher level of reading and writing to APIC tag:
tag2.pictures, tag2.remove_pictures, tag2.add_picture
added "<<...snip...>>>" to shorten APIC tag when Hash.inspect called (not a shallow copy hash, deep copied hash so does not effect data) tag2.inspect
do not try to commit changes to IO or StringIO
convert to utf-16 little endian (instead of big) for more compatibility
removed iconv for ruby >= 1.9
default encoding for decoded and encoded tags is UTF-8 now (removed :encoding params for ID3v2)
come back to a non senseless version numbering
fixed type error when inspecting mp3info (thanks to Jacob Lichner)
support for StringIO as input (thanks to Edd Parris)
Added a check for nil that was seen causing problems when processing files. (thanks to Carl Hall)
Fixed reading on win32, requires binary flag. (thanks to Jonas Tingeborn)
Fixed white spaces. Replaced tabs with spaces to make the source readable on for users other than the original author. (thanks to Jonas Tingeborn)
Add :parse_mp3 flag to new/open. (thanks to Dave Lee)
Add benchmark for parsing performance. (thanks to Dave Lee)
fixed ID3v2#io_position computing, so Mp3Info#audio_content() is correct now
fixed bad mapping of artist inside id3 2.2
adding fusil fuzzer tests
Improved support for id3v2.2 to id3v2.3 field mapping
each_frame() iterator
removed @bitrate & @length computation based on @tag2
fixed bug when @tag2 == 0
the library doesn't raise an ID3v2Error anymore when a id3v2 tag size is incorrect, but just output a warning. (Fixes bug #23619)
processing of tags (read and write) can be disabled with :parse_tags => false
now correctly remove trailing whitespaces form tag1 values
bugfix #21687 included: 'tweaked the MP3 frame synch code to parse certain mp3 files'
support for MPEG 2.5 (thanks to Oleguer Huguet Ibars)
support for vbr files without Xing header
Mp3Info#header hash now gives access to additional mpeg attributes (thanks to Andrew Kuklewicz)
avoid reading tag that are too big (> 50Mb)
ruby 1.9 support (thanks to Dave Thomas)
FIXED: bug #20311 'Multiple APIC frames may be stored incorrectly'
FIXED: bug #20312 'doesn't use v2.2 frames for extracting meta data'
added Mp3Info#audio_content method, to return "audio-only" boundaries from mp3, i.e. data without tags (closes feature request #17230)
bugfix on reading id3 2.4 (size not syncsafed)
more robust tag decoding with bad tags
some internals modifications for the compatibility with ruby-audioinfo
better handling of frames: decode and encode as raw string by default, or handle charset decoding/encoding for /^T/ and COMM frames
FIXED: fails to read id3v2 tags when iconv fails
FIXED: correct handling of encoding in id3v2 tags
ADDED: Mp3Info#reload method to reload the file from the disk
FIXED: bug [#2604] Not able to delete tag1
FIXED: bug #3401 'id3v2.rb dies when trying to read a certain mp3'
FIXED: bug #2957 'Error message "Can't define singleton"'
FIXED: bug #3068 'require_gem ("ruby-mp3info") doesn't works'
FIXED: bug #11967 "Leading 'h' from 'http://' gets chopped on URL fields"
PATCHED: with patch #3157 'Fix for 64 bit Ruby'
id3v2 writing and removing support added. tag2 attribute is r/w now
max guess size to find a valid frame set to 2Mb
implemented a new class ID3v2, ID2TAGS moved into it
Mp3Info.tag is r/w now and has priority over @tag1 and @tag2 when writing
added Mp3Info#rename() method to change the filename written at close
clean up: all overloaded standards classes replaced by including modules
FIXED bug in reading id3v2 tags tagged with olds versions of "mp3ext" ( www.mutschler.de/mp3ext/ )
FIXED bug on calculating id3v2 frame size
FIXED bug when multiple TLEN tags
FIXED bug when converting text tag from Unicode
FIXED bug: file was not closed, causing too many opened files and test failure on win32
fixes in vbr mode
removed extract_info_from_head() function
now try several times to find a good header frame before giving up
correct handling of unicode in v2 tags. Require standard "iconv" library if such tags are used
FIXED if a tag appears more than one time, create an array with every value found for this tag
massive changes of most of the code to make it easier to read & hopefully run faster
ID2TAGS hash is just informative now, no use of it in the code. id3v2 tag fields are read in directly
added support for id3 v2.2 and v2.4 (0.2.1 only supported v2.3)
much improved vbr duration guessing
made Mp3Info#to_s output to be prettier
moved hastag1? and hastag2? to be class booleans instead of functions (now named hastag1 and hastag2)
fixed a bug on computing "error_protection" attribute
new attribute "tag", which is a sort of "universal" tag, regardless of the tag version, 1 or 2, with the same keys as @tag1
new method hastag?, which test the presence of any tag
filename attribute added
mp3 files are opened read-only now [Alan Davies <alan__DOT_davies__AT__thomson.com>]
Mp3Info#initialize: bugfixes [Alan Davies <alan__DOT_davies__AT__thomson.com>]
put NULLs in year field in id3v1 tags instead of zeros [Alan Davies <alan__DOT_davies__AT__thomson.com>]
Mp3Info#gettag1: remove null at end of strings [Alan Davies <alan__DOT_davies__AT__thomson.com>]
Mp3Info#extract_infos_from_head(): some brackets missed [Alan Davies <alan__DOT_davies__AT__thomson.com>]
writing, reading and removing of id3v1 tags
reading of id3v2 tags
test suite improved
to_s method added
length attribute is a Float now
Initial version
Generated with the Darkfish Rdoc Generator 2.