[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