Bug 5831 - APE tag processing isn't listed in the ID3 tag version
: APE tag processing isn't listed in the ID3 tag version
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Tagging
: 7.0
: PC Debian Linux
: P2 normal (vote)
: ---
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-17 11:36 UTC by Justin Fletcher
Modified: 2008-12-18 11:12 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
Example track, truncated to be a little more mangeable (17.90 KB, application/octet-stream)
2007-10-17 11:37 UTC, Justin Fletcher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Fletcher 2007-10-17 11:36:29 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.
Comment 1 Justin Fletcher 2007-10-17 11:37:36 UTC
Created attachment 2276 [details]
Example track, truncated to be a little more mangeable

Here's one of the files which was causing the problem.
Comment 2 Justin Fletcher 2007-10-17 11:38:13 UTC
(and if I find the opportunity, I'll try to look at the source and propose a fix)
Comment 3 KDF 2007-10-17 21:18:40 UTC
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++) {
Comment 4 Andy Grundman 2007-11-06 11:09:27 UTC
Thanks kdf, committed in change 14422.
Comment 5 Chris Owens 2008-03-07 09:03:17 UTC
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.