Bugzilla – Bug 5831
APE tag processing isn't listed in the ID3 tag version
Last modified: 2008-12-18 11:12:53 UTC
I have a file from a friend which contains an APE tag, and an ID3v1.1 tag. The APE tag is wrong. I would prefer to just ignore APE tags entirely, but I don't exactly get that choice at present. However... When displayed on the Jive interface, and on the Web interface, the ID3 Tag Version: field says 'ID3v1.1'. Which is wrong. There is an ID3v1.1 field present, but it's being overridden by the APE tag. It should say this and not just 'ID3v1.1'. This originally confused me because I know for a fact that the genre it was coming up in was not an ID3v1.1 genre. I've truncated the file to the salient information so that I can attach it.
Created attachment 2276 [details] Example track, truncated to be a little more mangeable Here's one of the files which was causing the problem.
(and if I find the opportunity, I'll try to look at the source and propose a fix)
Index: lib/MP3/Info.pm =================================================================== --- lib/MP3/Info.pm (revision 13874) +++ lib/MP3/Info.pm (working copy) @@ -2225,6 +2225,14 @@ my $ape_header_data = substr($ape_tag_data, 0, $ape_tag_header_size, ''); my $ape_header = _parse_ape_header_or_footer($ape_header_data); + if (defined $ape_header->{'version'}) { + if ($ape_header->{'version'} == 2000) { + $info->{'TAGVERSION'} = 'APEv2'; + } else { + $info->{'TAGVERSION'} = 'APEv1'; + } + } + if (defined $ape_header->{'tag_items'} && $ape_header->{'tag_items'} =~ /^\d+$/) { for (my $c = 0; $c < $ape_header->{'tag_items'}; $c++) {
Thanks kdf, committed in change 14422.
This bug is being closed since it was resolved for a version which is now released! Please download the new version of SqueezeCenter (formerly SlimServer) at http://www.slimdevices.com/su_downloads.html If you are still seeing this bug, please re-open it and we will consider it for a future release.