[mythtv] Opinions: TagLib as a dependency for MythMusic
Colin Guthrie
myth at colin.guthr.ie
Sun Oct 31 12:39:26 UTC 2004
Hi,
Some of you may be aware, I'm recoding the way MythMusic reads/write
it's metadata to audio file.
Currently, MythMusic does not write any tags to file, except when it
encodes them. Ultimatly, I hope that it evolves to be able to manage
your collection more completely, whilst not sacrafising it's main goal
as a player.
The main reason I'm doing this change is to accommodate a Multi artist
patch I've written which handles "Various Artist" style CDs much better
(IMHO). Unfortunatly, upon encoding, the current ID3 writing (LAME)
cannot capture the extra peice of information (the ID3v2 tag TPE4) and
commit it to file. So, I have to write some better Tag handling.
I've pretty much done it all, but ran into a problem with libid3tag's
rather incomplete implementation where it will not write ID3 tags to
files when the size of the ID3 header changes. As LAME seems to get he
header size wrong on encoding, this means that I cannot write to .mp3
files that MythMusic creates, which is kinda the whole point.
Anyway, I can either plod on with libid3tag and try and code a work
around or I can use what would appear to be a good extra library for
handling tags.
http://developer.kde.org/~wheeler/taglib.html
Now, it seems to be Qt friendly, C++ orientated and such which is all
good in relation to Myth.
Here is a blurb FYI:
<quote>
TagLib, is well, a library for reading and editing audio meta data,
commonly know as tags.
Some goals of TagLib:
A clean, high level, C++ API to handling audio meta data.
Support for at least ID3v1, ID3v2 and Ogg Vorbis comments.
A generic, simple API for the most common tagging related
functions. Binary compatibility between minor releases using the
standard KDE/Qt techniques for C++ binary compatibility.
Make the tagging framework extensible by library users; i.e. it
will be possible for libarary users to implement additional
ID3v2 frames, without modifying the TagLib source.
Because TagLib desires to be toolkit agnostic, in hope of being widely
adopted and the most flexible in licensing TagLib provides many of its
own toolkit classes; in fact the only external dependancy that TagLib
has, it a semi-sane STL implementation.
</quote>
I've not coded with it before, but there is no point in me trying if the
extra library is simply not on for MythMusic.
I've asked Thor and he says there is a Debian package, and I know there
is a Mandrake one too.
Please let me know and I'll crack on with the coding (either to use
TagLib or to plod on with libid3tag).
Cheers
Col.
--
+------------------------+
| Colin Guthrie |
+------------------------+
| myth at colin.guthr.ie |
| http://colin.guthr.ie/ |
+------------------------+
More information about the mythtv-dev
mailing list