[mythtv] MythMusic metadata read/write rewrite... stumbling block....

Colin Guthrie myth at colin.guthr.ie
Sun Oct 24 22:40:19 UTC 2004


Isaac Richards wrote:
> Absolutely no use of libid3.  It's extremely poorly written (Used to have a 
> fun little tendency to delete files if it couldn't write tags, higher line 
> count than every mp3 decoder I've ever seen, etc).

Cool. I didn't realise it sucked quite that badly. I've only used it for 
tagging stuff before, not actually mp3 decoding.

So, if I want to get better tagging support for MP3 what should I do?

So how about TagLib. I've never used it, know nothing about it, but I 
found a link from a guy who's run into the same problems as myself with 
the libid3tag non-implementation:
http://216.239.59.104/search?q=cache:Cm4YrE2OwPgJ:madman.sourceforge.net/news.php+%22hard+general+case:+rewrite+entire+file%22&hl=en

He seems to think TagLib is good:
http://developer.kde.org/~wheeler/taglib.html

It certainly seems extensive, and could be used for both the Ogg and the 
MP3 side of things to keep the coding vaugly similar.

You didn't mention whether you were super opposed to the external 
dependancy or not, though from keeping vaugly up to date with the list, 
I realise that it is always the intension to prevent any frivolous extra 
dependencies.

So it boils down to four choices from what I can see (feel free to 
suggest more!):

1. Stick with libid3tag and try and code a better v2_write() function 
for the final writing stages and ensure it can cope in all 
circumstances. This should eventually make it into the core of 
libid3tag, but can be version-check-specific in Myth so that older lib 
versions are still supported.

2. Try to get the LAME MP3 encoder to write the ID3 size header more 
optimistically which would mean that 9 times out of 10, MythMusic could 
write the tags correctly (and certainly on it's own encoded files which 
at the moment is all it's needed for).

3. Add EasyTag as an extra external library.

4. Include EasyTag in MythMusics CVS and integrate it's build into the 
rest of the build for MythMusic.


So, er, what shoud I do? For what it's worth, 3 is the nicest if the 
dependancy can be stomached, 2 is proably the simplest (just a small 
algorithm to post process the LAME encoded file). 1 is probably the most 
work, but would benefit more people.

I await further instruction!

All the best


Col.


-- 

+------------------------+
|     Colin Guthrie      |
+------------------------+
|   myth at colin.guthr.ie  |
| http://colin.guthr.ie/ |
+------------------------+


More information about the mythtv-dev mailing list