Bugzilla – Bug 2056
Several problems with VA album handling (Track Artist) and proposal for a new approach
Last modified: 2008-09-15 14:36:01 UTC
The present handling of VA albums with "Track Artist" instead of "Artist" lead to a lot of problems. For all below mentioned examples the options "Group compilations albums together" and "Don't include compilation artists in artist list" must be set. 1. At the song info page of a song of a VA album the artist is shown as link after the label "Track Artist" (instead of "Artist"). When you then click on the link an empty page is shown (instead of the list of albums of this artist). These "artist links" work only for "Artist" but not for "Track Artist". 2. In the simple search page of the web interface artists of VA albums are not found. It seems that only the field "Artist" but not "Track Artist" is searched. 3. For Ogg-files, artists of songs of a VA album having an accented character in the artist name (e.g. Abw�rts) are shown in the song info page twice, namely as "Artist" and as "Track Artist". This does not happen with mp3-files. 4. The artists mentioned under item 3. are shown in the "Browse Artists" list although the option "Don't include compilation artists in artist list" is set (remember: only for Ogg-files, artist names with accented character AND songs on a VA album). 5. When you search on the Squeezebox for an artist of a VA album (i.e. which is classified as Track Artist on the server) the artist is found, but when you press the right arrow "empty" is shown. In my opinion the "Track Artist" should not be used for VA albums. It makes everything very complicated. There may also be plugins which do use the Artist field and are not prepared that there is now an additional Tack Artist field. I propose a much simpler approach how to handle VA albums which is follows: At the moment for non VA albums there exists an "Artist" field and for VA albums there exists a "Track Artist" field and an "Album Artist" field which is set to "Various Artist" (or the string defined in server settings, e.g. Various, VA...). I propose to replace the option "Don't include compilation artists in artist list" by an option "Use Album Artists for Browse Artists". In addition, for non VA albums "Album Artist" should be set with the value of "Artist" in the library. If the option "Use Album Artists for Browse Artists" is set, the browse artists list only shows Album Artists which is exactly the same as not to show Track Artists (you see only artist name for which you have an own album). All VA albums would automatically be shown under the Albums Artist "Various Artist" (which is also simpler since at the moment the "Various Artist" entry must explicitely be generated). In all songs there would only exists an "Artist" field and no "Track Artist" field. I assume that most or all of the above mentioned problems would automatically be solved (since they result all from the fact that there exist two different artist fields at the moment). From the viewpoint of a song it is even more correct to have only one kind of Artist field. A song has always only an "Artist" (and not sometime an artist and sometime a track artist), if it is on a VA album or on a "regular" album of one artist. To specify whether a song is on a VA album or a regular album use of the Album Artist is the better and more intuitive solution (Album Artist = Various Artists or Album Artist = Artist). The original request for the VA album handling was (as far as I know) that people (including me) did not want to have ALL their artists listed in the "Browse Artists" list since this list would be very long if even artists which have only one song on a VA album are listed. Using Album Artist for browsing artist does exactly result in this shortened list and seems to avoid a lot of problems. Any comments to this proposal?
For #1 I only see this when a Track Artist has only VA albums to his/her credit. When a Track Artist also has whole albums then those albums are displayed, but any VA albums are not. I'd prefer that that both whole and VA albums be displayed for artists. Better yet, add another pref under the Compilations section. If some artist is on 100 VA albums in your collection then maybe some people won't want to see those albums listed for the artist. Is #2 a factor of using the "Composer, Band and Orchestra in Artists" setting to suppress the output of searches? Track artists should definitely be coming up in searches. #5 sounds like the same issue as #1. Search for an artist and you're then presented with their albums, then the tracks on those albums. A Track/VA artist may have no whole albums - only tracks on one or more VA albums. You need to present the VA material along with whole albums, except that unlike in the web interface, in the Remote UI that's not going to work very well. You'll end up scrolling though a list of tracks by all the _other_ artists on the album to find the one by the searched-for artist. And you may not even be able to tell which is which. As for the implementation ideas - the use of artist 'roles' does sound pretty convoluted. I'm not sure why albums couldn't just be tagged with a "compilation" flag.
In my opinion the option "Don't include compilation artists in artist list" should only restrict the "Browse Artists" list but not results of a "Search for Artists" and also not the list of albums which is listed when you are clicking on an artist name in the song info of a track. If I search for an artist I want to see ALL songs of him/her independently if the songs are on a VA album or on a regular album of this artist (otherwise I would have no chance to find these song by artist since they are not shown during browse artist). Similarly if I click on the artist name in the song info of a track I would like to see ALL albums of this artist (even VA albums). If I further click on one of the shown VA albums then I would prefer only to see the song of the selected artist which are on that album. The same is true when using the Squeezebox. In this way I would NOT have to scroll through a list of OTHER artists. I don't think that a compilation flag would lead to such a simple solution as the use of the ALBUMARTIST would do it. How should the compilation flag help to easyly generate the Browse Artist list including only artists which have their own album (i.e. without artists from _only_ compilation albums)? In the database there is a list of artists but you have to filter these artists with the compilation flag of the tracks in order to build a reduced artist list. This is complicated and would reduce performance. If you use the ALBUMARTIST you can simply generate a list of all Album Artists and that's all. The ALBUMARTIST list _is_ already the browse list you want, even the special "Various Artist" entry is automatically created since this _is_ also a regular ALBUMARTIST entry. Since there would be not two different Artist tags ("Artist" and "Track Artist") there would be no problems for searching artists or for linking artists (like in the song info page). Only the "Browse Artists" list would be generated based on the "Album Artist", everything else would be automatically correct.
Some of these requests dups like item #2 (searching) and bug 1951. Personally I love the existing behavior -- it works perfectly for me except for the searching issue. I'm using the TPE2 ID3v2 tag for my MP3's as the albumartist and I have set up multiple "various artist" repositories like "Film Soundtracks", "Various Artists" and "Audio Books" that blend in nicely with the browse artist list.
I understand that you set your albumartist manually. That would also work when using albumartist for the browse artist list (or did I understand something wrong?). You said you love the current behaviour. Do you also mean item 1?
Yes, I do set some of my album artist tags but not all. I override film soundtracks. Regardless, I don't see the same behavior as you for #1. When I drill down into the tracks of a VA album all of the xref links (album artist, track artist) seem to work just fine for all of the artists. The one caveat is that there is no way *back* to these particular tracks because the albums an artist contributes to does not show up in the artist's album list.
May be we _do_ see the same behavior but do only differently describe it. I ment if I have an artist which has tracks _only_ on VA albums and I click on the link to the name of this artist on the song info page of one of the VA albums then there is only an empty page. This is since _track_ artists are not shown in the artist list if "Don't include compilation artists in artist list" is set. If the artist has in addition several _own_ albums (no VA albums) then these _own_ albums are shown when I click on the artist link of the VA album. But this is not what I want (or expect). If I start from a song info page clicking on an artist name I would like to see a list of _all_ the albums which contain songs of this artists, even VA albums. When I then click on the VA album I would like to see only the songs of the selected artist from this VA album. In this way I have a selection of _all_ songs of this artist and if I look for a specific song of this artist I will find it even if it is on a VA album (assuming that I can't remember the song's name so I can't use search for songs). I would prefer only to remove the "Track Artists" from the "Browse Artists" list if the first hierarchy (starting at home) since this list contains _all_ artists and will be _very_ large without such a restriction. But when the list is already restricted to a specific artist (like it is when I start on the artist link on the song info page) removing the VA albums is not necessary. I see in prinicple several problems (mentioned in my original posting) using two different kind of artists, namely "Artist" and "Track Artist" for different kind of albums. And I think it is not necessary at all to have a "Track Artist". For VA albums "Album Artist" is already set to "Various Artists" for each track and this is enough to distinguish between normal and VA albums. Why should the artist of a track sometime be indicated as "Artist" and sometimes as "Track Artist"? BTW on the Squeezebox all artists in the song info are labeled "Artist" even if they are track artists on the server side.
Yes you're right -- i do see that behavior (item #1) with artists for whom I have no "normal" albums. this is a bit disconcerting I guess, although I can understand why it doesn't work yet because it is a sort of border case.
It should pretty simple to use the compilation flag (there's already a column in the albums table, but it doesn't look like it's being used). A contributor_album table, which doesn't exist in the db, would make this (and probably some other operations) trivial. SELECT c.*, a.* FROM (contributors c INNNER JOIN contributor_album ca ON ca.contributor = c.id) INNER JOIN albums a ON a.id = ca.album) WHERE ca.role = 'ARTIST' [% if not pref_displaycompilations %]AND a.compilation = 0[% endif %] ORDER BY c.namesort, a.year, a.titlesort
What is "the compilation flag" anyway? I know there's a proprietary iTunes TCMP (?) tag but that can't be set by any other tagging software I've found and is not part of the ID3v2 standard.
A 'flag' is just an indicator, usually a binary value - YES/NO, TRUE/FALSE, ON/OFF, etc. SlimServer might flag an album as being a compilation if different artists are encountered among the albums tracks. It's not necessarily something that needs to be set in the track tags if the server can figure it out on its own. But, as iTunes is probably doing, it's good to know that the album is a compilation. SlimServer now apparently marks albums as compilations in a fairly roundabout way - by linking to the contributor (single?) in the contributor table who's name is 'VARIOUS ARTISTS'.
I don't care too much whether a compilation flag is used or if Slimserver classifies VA albums in another way as long as the "Artist" is kept unambigously. So I think that splitting artists in "Artist" and "Track Artist" is the wrong way to handle VA albums. At the moment I have for example the following problem. I use the "Don't include compilation artists in artist list" option to reduce the browse artist list. But sometimes I look for a song of a specific artist and can't remember the exact name of the song. I even know that the song is on a VA album so I can't browse the artist list to find the song (since the artist is not listed). I would like to find the artist using "Search Artist" on my Squeezebox. As already mentioned Squeezebox will find the artist but when I then press Right Arrow there is only shown empty (assuming that I have no whole album of this artist). So with the current behavior I can't find this song I am looking for on my Squeezbox. And the reason is the use of two different artist types, namely "Artist" and "Track Artist". If the Browse Artist would use "Album Artist" and all other searches and browse lists would use the normal "Artist" everything would be ok! I don't understand what the advantage of a separate compilation flag should be. Slimserver has the "Album Artist" set to "Various Artists" for compilation albums and that _is_ already a kind of compilation flag (with more then only a binary value). So adding a compilation flag would be redundant. Even worse, what would be if the compilation flag is set to "true" but the Album Arist is set to a specific single artist or if the compilation flag is set to "false" but the Album Artist is set to "Various Artists"? And I still think to use the Album Artist for the Browse Artist list would really simplify all things and in addition improve performance.
Dan, what's your opinion to the problems caused by the introduced "Track Artists"?
A further problem caused by introducing "Track Artists" is described in bug 2055, comment #2.
Sorry, I meant comment #1
Large Various Artists / Multiple Artists in Tags update checked in as subversion change 4258.