Bug 2696 - Recognise additional contributor type "performer"
: Recognise additional contributor type "performer"
Status: NEW
Product: Logitech Media Server
Classification: Unclassified
Component: Tagging
: 7.4.0
: All All
: P2 enhancement with 23 votes (vote)
: New Schema
Assigned To: Brandon Black
http://forums.slimdevices.com/showthr...
: new_schema
Depends on: 8303
Blocks: 2698 2699 2701
  Show dependency treegraph
 
Reported: 2005-12-09 01:16 UTC by Ceejay
Modified: 2009-10-06 12:03 UTC (History)
4 users (show)

See Also:
Category: ---


Attachments
Context description for this and other requests (8.17 KB, text/plain)
2005-12-09 01:17 UTC, Ceejay
Details
Description of possible solution (2.60 KB, text/plain)
2005-12-29 04:13 UTC, Ceejay
Details
a comment on Ceejay's comment (843 bytes, text/plain)
2006-01-02 09:14 UTC, Bill Hunt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ceejay 2005-12-09 01:16:12 UTC
NB - this is one of a series of requests, collectively intended to improve usability for users of Classical music.  See attachment for context.

Recognise  these tags: "Performer" in Vorbis, TP1/TPE1 in ID3v2.2/2.3.  Add to the database as a new contributor role.

This is in addition to the existing contributor roles of artist/conductor/composer/band.

Note that there could be multiple instances of this tag on a single file, all are equally valid.

Reason: this is intended to be used to capture principal soloists

Optional extra: Add "Lyricist", "Arranger", "Author" as further (distinct) contributor roles (Possibly unnecessary if Request 5 - User Defined tags - is implemented and allows several user defined tags)
Comment 1 Ceejay 2005-12-09 01:17:35 UTC
Created attachment 1069 [details]
Context description for this and other requests
Comment 2 Ceejay 2005-12-29 04:13:47 UTC
Created attachment 1083 [details]
Description of possible solution

I have made some changes, documented in this attachment, which seem to work... using 6.5b1 as a baseline.
Comment 3 Bill Hunt 2006-01-02 09:14:59 UTC
Created attachment 1089 [details]
a comment on Ceejay's comment

I hope Ceejay's suggestion won't close the door on enhancements 2997-2701.
Comment 4 Devon Jones 2006-01-06 12:16:31 UTC
Why would you need to add a new Contributor?  TPE1 is already mapped as ARTIST:

In Slim::Music::Info.init() we map a v2 tag to a name like so:
$MP3::Info::v2_to_v1_names{'TP2'} = 'BAND';
$MP3::Info::v2_to_v1_names{'TPE2'} = 'BAND';

but TPE1 is not there, because it's *already* mapped as a base part of MP3::Info

line 1664:
%v2_to_v1_names = (
**snip**
'TP1' => 'ARTIST',
**snip**
'TPE1' => 'ARTIST',
**snip**
);

You are just mapping TPE1 to Performer *instead* of Artist
Comment 5 Ceejay 2006-01-07 02:50:26 UTC
Response to Bill, and attachment of 2/1/06... this wasn't meant to be just a quick fix, it looks like it really is a fix: it gets "Performer" into the system as an equal player alongside Artist, Conductor, Band etc.  The mapping which equates "Performer" to "6" is just the key that is used in the database.

If this is used, the Performer values show up correctly in the Track info in both Web and Player UI.

My main concern about this is that I've not yet worked out (despite a couple of pleas for help in the developers forum) how to do searches for the distinct kinds of Contributor.

My secondary concern is that I don't know the whole code anything like well enough to be sure I haven't missed some other code which needs similarly extending.
Comment 6 Ceejay 2006-01-07 03:00:34 UTC
Response to Devon Jones (6 Jan) ... thanks for pointing out this code.  There are really two separate questions here:

(1) do we need a separate Performer tag?
(2) if so, how do you map onto ID3 tags?

The answer to (1) is YES, this is essential for a comprehensive tagging of classical music, imho.  Using multiple Artist tags is I think very smelly indeed, it will seriously confuse other player systems. But we really want to see who the lead soloists are, which is exactly what PERFORMER does (and this is "defined", inasmuch as anything is, for FLAC/VORBIS comments).

The answer to (2) is much trickier, and you are right that TP1/TPE1 is probably not the right one to use. I've looked at the list in the file you referenced, and I'm not at all sure there is one. TP3/TPE3 is closest, but it looks like that is also used for Conductor.

I'd really hate the restrictions of ID3 to stop VORBIS (or Ape) users being able to do what they can, though!  One simple if dirty solution would be simply not to map any ID3 tags onto "Performer": that way nothing is lost for existing ID3 tag users. A slightly more sophisticated way would be to allow the user to specify an ID3 tag to be mapped onto Performer. This I suppose is some sort of relation of Bug 2700 in which we've asked for User Defined tags.

Ceejay
Comment 7 Ceejay 2006-02-01 00:23:36 UTC
One more place (thanks to Grotus for pointing this out)... You need to add a PERFORMER element to the $parsedFormats hash in
Slim::Music::TitleFormatter. 

Just add performer to line 129 of TitleFormatter (in the
qw(composer ... genre)). 

This allows the use of PERFORMER when defining title format strings.
Comment 8 Jim McAtee 2007-01-27 16:57:28 UTC
What would be the difference between "performer" and "artist"?  Right now you can do:

BAND/TPE2=Chicago Symphony Orchestra
ARTIST/TPE1=Emanuel Ax

or

BAND=The Modern Jazz Quartet
ARTIST=John Lewis
ARTIST=Milt Jackson
ARTIST=Percy Heath
ARTIST=Connie Kay
Comment 9 John Stimson 2007-01-27 17:47:57 UTC
Because the "artist" is not necessarily a performer at all.

ARTIST is de facto whoever got top billing on the album, or whose name the album is filed under in the music store.  That could be the individual performer, a band name, a composer, or conductor.  Co-opting that tag for some other usage will screw up the functionality of all the other existing music players out there, because they use it to index albums in a useful way.

Consider an album that is labeled:
BACH - Great Organ Favorites (performed by E. Power Biggs).

ARTIST=Bach, J.S. is obvious.  It's certain that I don't want to have to look this one up under E. Power Biggs on my iPod, which is what you get if you decide to assign ARTIST to contain the performers.

PERFORMER could include guest performers who appear only on a few tracks, which would also not work well when stuffed into an additional ARTIST tag.
Comment 10 Ceejay 2007-01-29 01:23:18 UTC
Agreeing with John but just adding a bit...

I see PERFORMER for classical music as being for the soloists in concerti or choral music, for example.  Bundling them into the Artist tag is completely inappropriate.  I want to be able to search for cases where PERFORMER=Vladimir Ashkenazy, say. Note that this specifically means NOT picking up music where CONDUCTOR=Vladimir Ashkenazy (unless he's both, of course).  I don't think I have any music where he's the Composer, but if I did I certainly would not want that mixed in.

Also, multiple ARTIST tags is frowned upon in some definitions, it would certainly cause some players to fail.  That's not an argument to stop SS supporting the usage, of course, but it does mean that you can't insist on it as a means of approaching a common requirement.

What's frustrating here is that adding PERFORMER as an extra tag isn't that hard (as I demonstrated with my proof of concept on a now-ancient version of 6.5) but I don't have strong enough skills to add it as a real patch.

Of  course the real value would only come when the other requests to actually DO something with it were added,  but even one step would be nice....