TagLib 1.6.3 released + plans

Lukáš Lalinský lalinsky at gmail.com
Mon Apr 19 22:21:58 CEST 2010

TagLib 1.6.3 has been released. There were configuration number issues
in 1.6.2, which required a new release (pkg-config files were
incorrectly reporting the version as 1.6 and 1.6.1). The new release
also includes ID3v2 parsing fixes for two bugs, one of which was a

The new tarball can be downloaded here:

  * http://launchpad.net/taglib/trunk/1.6.3/+download/taglib-1.6.3.tar.gz

And hopefully soon also here: (Scott, can you please upload the file?)

  * http://developer.kde.org/~wheeler/files/src/taglib-1.6.3.tar.gz

Changes since version 1.6.2:

  * Fixed definitions of the TAGLIB_WITH_MP4 and TAGLIB_WITH_ASF macros.
  * Fixed upgrading of ID3v2.3 genre frame with ID3v1 code 0 (Blues).
  * New method `int String::toInt(bool *ok)` which can return whether
the conversion to a number was successfull.
  * Fixed parsing of incorrectly written lengths in ID3v2 (affects
mainly compressed frames). (BUG:231075)

Plans for TagLib 1.7 and 2.0:

I expect that this will be really the last 1.6.x release. The next
release should have some new functionality. I didn't have much time
for TagLib lately, but that should hopefully change. Anyway, here are
my plans:

For the next 1.x version, I'd like two main features:

  1) FLAC cover art support. I'm afraid this will require a partial
rewrite of the FLAC module, but that should be possible without any
binary-incompatible changes.

  2) Generic metadata interface with free form tag names and list of
strings as values + a few helper functions for typed access to the
data. There will be importers/exporters for all file formats supported
by TagLib. Because of binary compatibility, this can't be integrated
into TagLib::File. For now I'd like to make just separate classes for
each file format and add a simple layer that uses dynamic_cast<...>
for calling the right importer/exporter.

My plans for version 2.0 are less clear, but here is an incomplete
list of some things that I'd like to see:

  1) Abstract IO access.

  2) Integrate the new metadata interface into TagLib::File, remove
functions like artist() or title() from TagLib::Tag.

  3) Clean-up of BIC workarounds.

  4) Optional content-based file format detection.

I'll probably start on these in parallel. 1.7 development will stay in
KDE SVN, but for 2.0 I'll start using Bazaar. If you have any other
ideas for 2.0, please let me know.


More information about the taglib-devel mailing list