Bugzilla – Bug 17298
Filtering by artist is broken when playing an album
Last modified: 2011-07-27 03:54:55 UTC
If you browse artists, then into some artist to a list of albums, and you play an album on which the artist appears on only some tracks (a compilation or an album on which the artist is a guest) SBS 7.6 plays the entire album. It should only play tracks by that artists. When browsing one level higher (the artist list), filtering works correctly: If you "play an artist" (highlight the artist and press Play) then only tracks by the artist are played. And if you browse down into the album to the track list, SBS correctly filters the tracks to show only those by the artist. This is broken in all interfaces.
The correct behaviour, like much of SbS, is not actually defined and not completely obvious, so it is not really possible to say that it is broken. With 7.5 the filtering behaviour that is suggested as the desired functionality is implemented in most places in most interfaces. The one exception that I can find is in SqueezePlay where play-album invoked via the album context menu (reached via an artist filter) will play the whole album, not just the filtered tracks. This is the behaviour that onebrowser adopted as the standard for all interfaces. If play-all is invoked via touch-to-play along with play-other-tracks-in-album enabled, then only the filtered set of tracks is played. (1) Restoring the filtered behaviour as it was in 7.5, including leaving the SP inconsistency for artist-filtered album-CM Play, is straightforward. I'll attach a patch shortly. (2) Adding filtering to the SP artist-filtered album-CM Play function is also straightforward; another patch coming, (3) If (2) is implemented, then something similar should probably also be done to artistinfo (CM), so that any genre filter is applied (if cascading genre filters is enabled). It is not entirely clear (to me) what the best behaviour is. Without the filtering then there are certain use-cases that simply do not work. To fully cure this would require (2) and (3) as well as (1). With the filtering there may be some cases where the behaviour is a little unexpected but I think that they are likely to be rare. On balance I propose implementing the full change above.
Created attachment 7326 [details] Patch for cascading filters on album non-browse actions
Created attachment 7327 [details] Patch to cascade browse filters to albuminfo playlist actions
Just a couple of quick comments/questions... (In reply to comment #1) > If play-all is invoked via touch-to-play along with play-other-tracks-in-album > enabled, then only the filtered set of tracks is played. I don't see how the 'play-other-tracks-in-album' pref should affect the behavior discussed here. We're specifically talking about playing an album. That pref should only come into play when a user is pointing at a single track and plays the track. Even though the filtering may single out just one track, it's not the same thing. > (3) If (2) is implemented, then something similar should probably also be done > to artistinfo (CM), so that any genre filter is applied (if cascading genre > filters is enabled). I'm not sure where in the browse hierarchy you're talking about. Genre filtering should only be applied if you're browsing by genre. I believe that works correctly in 7.6, but I can do more testing.
Alan - what's the state of this bug?
I proposed some fixes, mostly included in the attached patches. Someone needs to decide if they are they desired behaviour. My opinion is that they are the least bad solution but probably not "correct" in all case, for some meaning of "correct".
== Auto-comment from SVN commit #32903 to the slim repo by ayoung == == http://svn.slimdevices.com/slim?view=revision&revision=32903 == Fixed bug 17298: Filtering by artist is broken when playing an album Cascade browse filters to album and albuminfo playlist actions.