Philip Meyer;638743 Wrote:
> >I'm not sure it works like this in 7.6, although I doubt that any
> >conscious decision making was involved either way. If it's different,
> >it's just because it randomly ended up working like it does.
> >
> >Where it does work like this I consider it a bug in the browser code
> >more than anything else. As has been pointed out in the past, there's
> >really no good reason to have separate 'artist' and 'track artist'
> >roles to begin with. SBS does use them for some of the odd ways it
> >approaches things, but they're mostly an unnecessary distinction.
>
> I think initially it was done as a performance optimisation for
> supporting the option to either "List compilation albums under each
> artist" or "Group compilation albums together". ie. whether to show
> all artists in the main artist list, or reduce the size of the list by
> hiding artists that only ever appear as track artists.
>
> I don't recall SBS schema initially having an album_contributors link
> table. I guess the shortened list of artists is now simply the
> distinct contributors from this link table (looking for contributor
> role types that have been selected for inclusion), as track artists
> won't be in it?
>
> Whether that is still necessary in 7.6 (I'm sure it can be worked out
> on demand through schema relationships) I am not sure, but potentially
> without it, it will take longer to produce the artist list?
>
The purpose of contributor_album is performance, it makes it possible
to join contributors and albums directly without joining through the
much larger tracks/contributor_track tables. As you say, it's main
purpose is to filter the artist list based on selected roles.
contributor_album and contributor_track both contains the track artist
role, the difference is just that contributor_album is about 10 times
smaller since it has aggregated the information to album level.
To me it has always felt like there should only be two artist roles:
- Main artist of the album (I guess this is the album artist role)
- Extra artists on individual tracks of the album (I guess this is the
artist or track artist role)
In my mind both can be set by ARTIST tag.
"Main artist of the album" would be set as:
-- From ALBUMARTIST if an ALBUMARTIST tag exists
-- FROM ARTIST if no ALBUMARTIST tag exists and this isn't a
compilation
-- To "Various Artists" if no ALBUMARTIST tag exists and this is a
compilation
and "Extra artists on individual tracks" would be set as:
-- From ARTIST tag
-- Possibly from ALBUMARTIST tag if no ARTIST tag exists
I'm pretty sure some people would like "Main artist" to only be set by
ALBUMARTIST tag but I think the above logic would be preferred as it
would make the browsing code a lot simpler since it guarantees that all
albums have an artist and all tracks have an artist.
I think the albums.contributor column already works as "Main artists"
described above but for some reason it's not used when generating the
list of artists today, probably because we besides the main artist also
have composer and conductors what are of interest to include in the
artists list. The albums.contributor column is of course only useful if
the user has selected to group compilations together.
By changing the roles as above, the browsing code only needs to decide
if it should show "Main artists" or "Extra artists on individual
tracks".
The consequence is of course that the database might get a little bit
larger due to larger contributor_track and contributor_album tables,
but I think this would be compensated by simpler SQL queries so we
would probably not loose any performance.
Today there are special cases in some places of the browsing code. When
selecting to group compilation albums, the artists menu today contains
artists with role "ALBUMARTIST" or "ARTIST" except those with
compilation=0.
With the above change, it could just list "Main artists". And if you
have selected to show compilation under each individual album, it could
just list "Extra artists on individual tracks".
I don't have any illusion that Logitech is going to dare/prioritize to
change anything like this, as some people have said multiple times,
SBS/Squeezebox is not Logitech's focus area at the moment so after 7.6
I expect them to do as little changes as possible related to music
stuff. However, it's still of interest to discuss it, as it could be
used in third party solutions. 7.6 has somewhat support for pluggable
scanning modules and pluggable browse menus, which opens up possibility
for third party stuff more tightly integrated with SBS than the hack we
have today with Custom Scan/Custom Browse.
--
erland
Erland Isaksson ('My homepage' (http://erland.isaksson.info))
(Developer of 'many plugins/applets'
(http://wiki.slimdevices.com/index.php/User:Erland). If my answer
helped you and you like to encourage future presence on this forum
and/or third party plugin/applet development, 'donations are always
appreciated' (http://erland.isaksson.info/donate))
------------------------------------------------------------------------
erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=88072
_______________________________________________
ripping mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/ripping