Bug 1521 - non-standard genres do not work
: non-standard genres do not work
Status: RESOLVED INVALID
Product: Logitech Media Server
Classification: Unclassified
Component: Tagging
: 6.0.2
: PC All
: P3 normal (vote)
: Future
Assigned To: Dan Sully
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-05-10 14:11 UTC by Greg Klanderman
Modified: 2005-06-23 21:43 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
fix for 6.0 branch (850 bytes, patch)
2005-05-10 14:12 UTC, Greg Klanderman
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Greg Klanderman 2005-05-10 14:11:25 UTC
Using easytag, if I enter a genre which is not standard, it uses value "255" and
the text string of the genre.  for example:

[6.0.x] greg@spruce| id3info /music/mp3/Bing\ Crosby/White\ Christmas/01\ -\
Silent\ Night.mp3 

*** Tag information for /music/mp3/Bing Crosby/White Christmas/01 - Silent Night.mp3
=== TSOP (Performer sort): Crosby, Bing
=== TIT2 (Title/songname/content description): Silent Night
=== TPE1 (Lead performer(s)/Soloist(s)): Bing Crosby
=== TALB (Album/Movie/Show title): White Christmas
=== TYER (Year): 1961
=== TRCK (Track number/Position in set): 01/12
=== TCON (Content type): (255)Christmas
=== TLEN (Length): 159000
*** mp3 info
MPEG1/layer III
Bitrate: 192KBps
Frequency: 44KHz

However, slimserver does not handle these genres correctly, displaying them all
as "Unknown" (or maybe some other string, can't remember).
Comment 1 Greg Klanderman 2005-05-10 14:12:14 UTC
Created attachment 511 [details]
fix for 6.0 branch

Here's a patch to fix this against the 6.0 branch.
Comment 2 KDF 2005-05-11 01:54:43 UTC
as this is a patch against a CPAN module and more just slimserver, I'll have to
hope Dan can comment.  Are you certain easytag is working with ID3 2.3 or 2.4
tags?  Id3 1.x are defined as a specific set.  Using Tag & Rename, I've seen
just about any genre taken without trouble.  This patch could also affect those
who choose to enter custom genres that match the pattern yet are not intended to
be scrapping the part within parens.

Also, I would like to reiterate my mention that more experimental patches of
this sort really should be part of 6.1 as there is no official release for 6.0.x
any more at this time.  These are also not necessarily stable type patches.  

I run between 3 and 7 copies of svn myself, with a stable one kept for daily
use.  Is there a reason this won't work for you? 
Comment 3 Greg Klanderman 2005-05-11 07:10:22 UTC
I submitted against 6.0 since that's what I'm running.  I was not suggesting
you patch 6.0, only hoping to gauge interest before spending additional effort.
I can easily check out the 6.1 code and proceed there if so.

From http://www.id3.org/id3v2.3.0.txt:

| TCON
|    The 'Content type', which previously was stored as a one byte numeric
|    value only, is now a numeric string. You may use one or several of
|    the types as ID3v1.1 did or, since the category list would be
|    impossible to maintain with accurate and up to date categories,
|    define your own.
|
|    References to the ID3v1 genres can be made by, as first byte, enter
|    "(" followed by a number from the genres list (appendix A.) and
|    ended with a ")" character. This is optionally followed by a
|    refinement, e.g. "(21)" or "(4)Eurodisco". Several references can be
|    made in the same frame, e.g. "(51)(39)". If the refinement should
|    begin with a "(" character it should be replaced with "((", e.g. "((I
|    can figure out any genre)" or "(55)((I think...)". The following new
|    content types is defined in ID3v2 and is implemented in the same way
|    as the numeric content types, e.g. "(RX)".
| 
|      RX  Remix
|      CR  Cover

And from http://www.id3.org/id3v2.4.0-frames.txt

|   TCON
|    The 'Content type', which ID3v1 was stored as a one byte numeric
|    value only, is now a string. You may use one or several of the ID3v1
|    types as numerical strings, or, since the category list would be
|    impossible to maintain with accurate and up to date categories,
|    define your own. Example: "21" $00 "Eurodisco" $00
|
|    You may also use any of the following keywords:
|   
|      RX  Remix
|      CR  Cover

So it looks like the version of easytag I am running uses ID3v1 genres embeded
in the v2.3 format.  I'll see if I can upgrade easytag or use something else
that supports v2.4 tags, if you think the slimserver supports that.

Still, I do not think this patch would cause the problem you are worried about:
based on the information above, my modified CPAN code is correctly parsing the
format for v1 tags embeded within v2.3/4, and when an undefined numeric value is
used substituting the string value or "refinement".
Comment 4 Greg Klanderman 2005-06-23 21:43:02 UTC
the newest version of easytag creates custom genre tags that work.
resolve this as invalid.