TagLib -> CVS
Scott Wheeler
wheeler at kde.org
Sat Sep 6 23:42:24 BST 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi folks,
At this point several of you are familiar with my work on a new audio meta
data library.
Some basic information:
It has an abstract API for handling both ID3v1 and ID3v2 in mp3 files and Xiph
comments in Vorbis files.
It's fast; in my tests it's been about 6x faster (CPU time) than id3lib at
reading ID3v1 and ID3v2 tags and about 3x faster than libvorbis at reading
comments.
It's C++ with a Qt / KDE-like API and coding style. While it doesn't link to
Qt, the small toolkit (a wrapper around STL classes that adds things like
unicode support, implicit sharing) has a Qt like API and uses standard KDE
library programming techniques (d-pointers and whatnot).
It has no external dependencies other than a semi-sane STL implementation and
compiler features that KDE already requires (i.e. partial template
specialization).
The current status is that ID3v1 and ID3v2 work for reading and writing, Ogg
works in read-only. I rewrote most of the Ogg code at N7y and am pretty
close to having it working for writing Ogg comments. (Some of the Ogg page
rendering code gets a bit nasty.)
I have listed on the feature plan adding ID3v2 support to KDE 3.2 meaning
rewriting the KFileMetaInfo plugin to use TagLib. JuK will also most likely
use the API directly (since it's much faster than going through the KFMI
abstraction layer).
Several others have shown interest for a variety of applications.
So -- in thinking about where the best place for it to go in CVS I think I've
come to the conclusion that extragear makes the most sense. One of the goals
of TagLib has been for it to be something usable outside of KDE and Qt
applications (I'll be writing C bindings at some point) and that would allow
it to have the feature of being easy to access for KDE developers but also
some separation from being "part of KDE" that would make it more attractive
to outside developers. The plan would be to put it there and do a release
just before 3.2...
Anyway -- I'll shut up and just see if there are any objections. If not I'll
get one of the admins to move the CVS repository (from my home machine) in
the next few days.
The API docs are here: http://ktown.kde.org/~wheeler/taglib-api/
And a current snapshot: http://ktown.kde.org/~wheeler/taglib-cvs.tar.gz
And a demo program:
Questions? Flames?
- -Scott
- --
Audience Member: "What was the hardest part of building TeX?"
Donald Knuth: "It was all pretty easy."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE/WmLQQu0ByfY5QTkRAm2pAJ0aLNhwu+Asc2JgT9toazmKdDVldwCfZEUA
hiu0loB0PD4FMql/MdsfJkA=
=Ff1Y
-----END PGP SIGNATURE-----
More information about the kde-multimedia
mailing list