That's a good concise summary.  I'll try to respond with a bit of knowledge 
based on my investigations (which I did during SC7 beta testing, and added to 
bug 6490).

Firstly, how contributors are scanned from tags and stored in database tables:

The scanner finds all contributors for all songs, based on supported tags for 
the file type, and stores:
A distinct list of contributors (contributors table).
A one-to-many link table between songs and contributors (contributor_track 
table).
A single album contributor in the album table (album table, contributor column).

An album record can have exactly one contributor, which is determined using the 
following rules:
1. If an album artist tag is stored on the songs, the album is not flagged as a 
compilation and the album artist is stored as album contributor.
2. If an album has songs by different artists, or a song has more than one 
contributing artist, or the songs are tagged as a compilation, the album is 
flagged as a compilation, and the album artist is "Various Artists".
3. All songs on an album have the same contributing song artist, so that artist 
is used as the album artist.

There is a sort order stored against each contributor (in the contributors 
table).  The sort order can be populated from sort tags.  Currently, the 
scanner only recognises ARTISTSORT associated with the song artists.  If no 
artist sort tag exists, it is set to be the same as the name of the artist 
(minus leading articles, such as "The", etc), so "The Beatles" will be sorted 
under "Beatles".

If there are any songs in the library with artists with an artist sort tag, all 
uses of that distinct artist from the contributors table will use the artist 
sort.

eg. if I have an album with songs by XYZ with artist sort ZYX, and another 
album with various song contributors but an album artist XYZ, this album will 
also make use of the same artist sort because it refers to the same (distinct) 
artist contributor record.


In Music Library Settings, there are options to include Composer, Conductor and 
Band/Orchestra as extra contributors in the list of artists.  There is no 
standard tags for defining sort order on these contributor types.  In fact, 
ARTISTSORT is not a standard tag either (in ID3v2.3 at least), but adopted by a 
few software applications.

When browsing by artist, the list of artists will contain:
        Artists associated with at least one album.
        Composers if enabled in Music Library Settings
        Conductors if enabled in Music Library Settings
        Band/Orchestra's if enabled in Music Library Settings
        Any artist that has performed a song on a compilation album if "List 
compilation albums under each artist" is chosen in Music Library settings.

The list of artists are sorted by the artist sort stored against each artist in 
the contributor table.

Phil
_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/discuss

Reply via email to