Subject: | Rhythmbox does not recognise tags modified by MP3::Tag |
Date: | Mon, 30 Mar 2009 10:51:09 +0100 |
To: | bug-MP3-Tag [...] rt.cpan.org |
From: | Ricky Chan <ricky [...] ricky-chan.co.uk> |
Version affected: 0.9714-1
If you have an existing mp3 with id3v2 tags (no id3v1 tags eixsts) when
*any* MP3::Tag
program modifies the tag, the subsequent mp3 tag's are not recognise by
rhythmbox.
The same mp3 when modified with python-eyed3 library in Python or id3lib
in C++ will continue to be seen. (I was evaluated different mp3
libraries in different programing languages when I stumbled across this).
When I issued Update in my script I only write on ID3v2 tags, of course
if version 1 tags were also written rythmnbox will *appear* to work,
that is because it is reading the version 1 tags, the version 2. Strip
away version 1 tags and it stops working.
The created tags seems to be valid, as the python code and the c++ code
can read and modify the tag fine BUT even after manipulation but other
libraries rhythmbox does like it.
The only was to make it work is re-create the id3v2 tags NOT using
MP3::Tag (I used taglib in c++ to convert tags to 2.4 then id3lib to 2.3
and this worked fine).
You can argue that this bug is probably a rhythmbox bug.
I have tried to see if setting any config options (like padding, unsync)
etc may be the what some mp3 players prefer but I have not been able to
find a compatible
How to recreate:
1. Get a mp3 with ONLY id3v2 tags (make sure no APE or ID3v1 tags in
it), start up rhythmbox,.
2. Use MP3::Tag to change the TYER to something else.
3. Rhythmbox (if configured to monitor the music collection, it probably
uses inotify), will not automatically change and list the file as if it
has no tags. (remember if you write out with ID3v1 tags it would read
these).
4. The mp3 if modified with other libraries will appear to be valid but
still won't show in rhythmbox. This can only be rectified by rebuilding
the mp3 tag not using MP3::Tag.
5. Get another mp3 with ONLY ID3v2 tags, place it where rhythmbox can
see it.
6. Use id3lib related program or eyed3 (python) to modify TYER specifiy
that only ID3v2 tags are written. (I use a script to verify only ID3v2
tags exist). Rythmnbox happily sees the changes.
I haven't worked out what the issue is, as tagging tools don't mind
MP3::Tag modified mp3. It may be a precise padding issue or something
like that.
I don't have much time to look at this (my evaluation needs to move on)
but when I have a chance I will try to work out how rhytmnbox parses tags.
Ricky