TagLib 1.4 review

Download
by rbytes.net on

TagLib is a library for reading and editing the meta-data of several popular audio formats

License: GPL (GNU General Public License)
File size: 715K
Developer: Scott Wheeler
0 stars award from rbytes.net

TagLib is a library for reading and editing the meta-data of several popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC files.

Here are some key features of "TagLib":
TagLib is fast - tests have shown it to be about 6 times faster than id3lib and 3 times faster than libvorbisfile at reading tags (CPU time)
TagLib is clean - TagLib is written in clean, object oriented C++ using a programming style common in KDE and Qt library programming
TagLib is easy - TagLib offers an abstraction layer that makes it easy to ignore the differences between the different file formats and their implementations
TagLib is powerful - for those that want to look under the hood TagLib provides access to the implementations of the individual file formats and provides a toolkit for doing advance manipulation of audio meta-data
TagLib is well documented - Every class, namespace, function and enumeration in TagLib is documented
TagLib supports Unicode - both ID3v2 and Ogg Vorbis standards are designed to support Unicode, so is TagLib (many tagging libraries and frontends are not)
TagLib is extensible - TagLib does not implement every feature of ID3v2, but does instead mades it possible for application authors to extend TagLib to support the specific features that they need in their applications
TagLib is not toolkit specific - while TagLib does use KDE-style programming conventions and C++ by default, it does not link to either Qt or Glib (in fact it has no external dependancies) and does provide Glib-style C bindings (currently for the generic API only)

What's New in This Release:
Added a package-config file
Added support for plugging in file type resolvers to make it easier to use native mime type resolution systems and to add support for additional file formats
Fixed a memory leak in APE items
Fixed a crash when requesting the text of an empty APE item
Added a README noting the Ruby and Python bindings
Added the ability to save mp3 tags using the save mask without discarding those tags that are not part of the mask
Fixed the misspelling of "A Cappella"
Implemented support for the ID3v2 frame flag for discarding frames on tag alteration
Use the above flag for ID3v2 frames that are discarded because they are no longer supported in ID3v2.4 (which TagLib uses). This allows for these tags to still be handled by library users if desired
Fix memory corruption (deleting a no longer valid iterator) when removing a frame from an ID3v2 tag
Make it possible to read and modify the descriptions of images in attached picture frames of ID3v2 tags
Introduced an argument for limiting the number of fields that will be created usign ByteVectorList::split()
Significantly unbroke the relative volume adjustment ID3v2 frame's API. It now properly supports multiple volume fields in the same frame
Added support for reading the comment portion of "Xiph" tags (used in Ogg Vorbis and FLAC) from the "COMMENT" field rather than only from the "DESCRIPTION" field mentioned in the spec
Added support for Ogg FLAC v1.1.1
Added prepend methods to the List class
Added support for UTF-16 little endian strings as used in some tagging formats
Fixed or implemented roughly 35 bug or wishlist items relative to 1.3.1

TagLib 1.4 search tags