GNOME Bugzilla – Bug 540873
Allow changing browser filters; add/remove genre, album artist, year, etc
Last modified: 2011-11-16 17:03:41 UTC
Hi, in 1.0 and before there only was artist and album in the browser. Now there's also a genre column and it would be nice if one could choose which columns are shown as I for one don't want the genre column ;) The same applies more or less for the song/video list, I could imagine that people want more or less columns shown there (for example some might want to see the song rating, others the genre of songs, etc) I've chosen critical severity as this is IMHO a UI regression since 1.0
*** Bug 541210 has been marked as a duplicate of this bug. ***
Critical is "Crashes, causes loss of data, or is a severe memory leak" (http://bugzilla.gnome.org/page.cgi?id=bug-status.html#bug_severity). Lowering severity. As a workaround, you can just collapse the genre browser via the resize handle.
SVN trunk version allows to select the columns to be shown. I guess this can be closed.
Retitling to avoid the confusion.
Patch in bug 538005 adds support for the genre filter. I'm adding a dependency on it since the implementation for other filters is probably going to be similar. I have a couple of questions: 1. Which filters should be supported in addition to "Genre", "Artist" and "Album"? What do you think of these: * AlbumArtist: should it be mutually exclusive with Artist? This would partially address bug 569989. * AlbumYear * Year+Album: same as Album but with album titles prefixed with (and sorted by) the release year. This would fix bug 561493 and bug 544758. 2. How these options should be presented? A set of check boxes (and radio buttons for mutually exclusive filters)? Or may be a combo box with sane pre-sets (à la the folder hierarchy option)? For example: * Artists and Albums (used now) * AlbumArtists and Albums * Genres, Artists and Albums * Genres, AlbumArtists and Albums * Genres and Albums * etc...
Regarding Album Artist, yes I think it should be mutually exclusive with Artist. If an album has the compilation flag set, the "Album Artist" should be displayed, otherwise it should "fall back" to the Artist tag.
Created attachment 133556 [details] [review] Various Artists Patch This is a very simple patch (against 1.4.3) that should sort out the Album Browser view. Basically, if an album is marked as a compilation it will display "Various Artists" instead of several different albums under differing artists. This makes the browser at last usable for myself.
(In reply to comment #7) > This is a very simple patch (against 1.4.3) that should sort out the Album > Browser view. Basically, if an album is marked as a compilation it will display > "Various Artists" instead of several different albums under differing artists. > This makes the browser at last usable for myself. > Is it the same issue as bug 561484? It should be fixed in git master.
No, this is not the same bug. All artists of a compilation album are listed individually in the artist list resulting in a very cluttered artist list. The patch provided by Chris effectively fixes that by grouping all compilation albums under one single entry. Other media players do something similar and I assume this is, at least in my opinion, the wanted behavior.
(In reply to comment #9) > No, this is not the same bug. > > All artists of a compilation album are listed individually in the artist list > resulting in a very cluttered artist list. The patch provided by Chris > effectively fixes that by grouping all compilation albums under one single > entry. Other media players do something similar and I assume this is, at least > in my opinion, the wanted behavior. > I see. The idea is that the browser filters are fully configurable. For example it should allow to use the AlbumArtist field instead of the Artist field. This really has to be an option, some people may prefer the current behaviour.
(In reply to comment #7) > Created an attachment (id=133556) [edit] > Various Artists Patch > > This is a very simple patch (against 1.4.3) that should sort out the Album > Browser view. Basically, if an album is marked as a compilation it will display > "Various Artists" instead of several different albums under differing artists. > This makes the browser at last usable for myself. Your patch doesn't actually reduce the # of entires in the browser, does it? Afaict, all it does is display "Various Artists" for compilation albums instead of whatever you had set as the Album Artist. It also doesn't seem relevant to this bug.
User configurable browser sections would be really great. Artist and album are a good sensible default, but individual taste varies. I have a playlist with plenty of classical music. The "artist" tag is for the orchestra or ensemble that plays the piece, the "composer" tag is used for the composer. When I'm looking for some nice Bach to play, I prefer browsing a list of all Bach performances in the list, rather than decide upon orchestra X or Y first. Being able to add a browser pane for any tag field would be really great.
*** Bug 599902 has been marked as a duplicate of this bug. ***
Alternatively one can use the search bar to find songs by genre: type "genre=Rock" to get all songs with the genre "Rock".
Philipp: That is certainly good functionality to have, but it is not the same as leisurely browsing a list. Sure, if I want some Mozart, then "composer:mozart" works quite well. But if I just want to browse a list of composers to pick something suitable for whatever the occasion, then a list just like the album and artist lists would be useful.
I know it's not the same, but I thought I post it here as a workaround as it basically gives the same result.
*** Bug 611510 has been marked as a duplicate of this bug. ***
This bug is particularly significant since the inclusion of the grid view, since the latter makes the artist column redundant for many use cases.
Created attachment 159632 [details] Artists alone view pretty much of less value I'v been trying to read this bug and am Not finding the problem here , why is the "All artists" section not configurable? This missing feature pretty much makes banshee Hard to use for me. Attaching screenshot of the problem. The songs I have are Multi-lingual[Hindi,Tamil,Telugu,English(OSTand genre)]. So i effectively depend on "genre" to sort them and to access them better. Since the browser only shows "All Artists" , as you can see from the screenshot the first name is "AR..." and since the same artist[+several artist combo] has sung several songs in several movies this view is pretty much of no use to me. If i select either one row , i will get only one song or maybe two. This is pretty much the problem for all users from my locale , where movie songs are more than individual artist albums. Why cant this be changed from preferences? Browser view : All artists/All genre Whereas if I had the option of "All genre" i could select any language and use the view better. Thanks to Jensen Somers I'm now using compilation artist as "Various Artists" a partial workaround for this. But still a huge problem for me. When i had considered switching banshee a long time ago but for some reason i had switched back and forgotten why. I again tried to use Banshee and realized this was the reason! I'm not trying to diss the Banshee devs , but its just frustrating that I cant fully switch to Banshee. :( How do the Banshee users and devs use their system , do they always search and browse? or are they only listening to single artist albums
Vish, your complaint sounds like the track-artist-browser vs album-artist-browser issue thoroughly discussed above, no?
(In reply to comment #20) > Vish, your complaint sounds like the track-artist-browser vs > album-artist-browser issue thoroughly discussed above, no? In addition, it looks like the albums on your screen-shot don't have the compilation flag set. This causes multiple entries in the list of albums. See the last section of this page for details: http://banshee-project.org/support/guide/track-list/
Created attachment 160286 [details] artists list still too long Hrm, seems my reply a week ago was lost o.0 (In reply to comment #20) > Vish, your complaint sounds like the track-artist-browser vs > album-artist-browser issue thoroughly discussed above, no? Yeah, the availability of options alexk mentions in comment #5 would have solved it. But since the bug had not seen any action for more than a year , since that comment, felt it was due to the devs unaware of the issues it causes for users from other locales, I just explained my user scenario. ;) A combobox with those options would be great. Oddly , I was trying the use the Edit> Preferences> Source Specific> File Organizations options thinking and wondering why it was not changing! (In reply to comment #21) > In addition, it looks like the albums on your screen-shot don't have the > compilation flag set. This causes multiple entries in the list of albums. See > the last section of this page for details: > http://banshee-project.org/support/guide/track-list/ Yeah , as i mentioned in my earlier comment, i couldnt figure it out until Jensen Somers mentioned it on #banshee. [IMO , this could be done by banshee itself or the sort should have been only of the albums rather than Album and again artists.(still searching for an existing bug about that)] I could have used a better screenshot , but my main stress was about the browser's "All Artists" not being configurable. Attaching a better screenshot now, which shows the same problem of the artists list being unusable. If i select any single row , it will only be one song each. As i mentioned earlier , in my locale the single-artist albums are very rare.
*** Bug 618922 has been marked as a duplicate of this bug. ***
The album browser shows only one entry if the compilation flag is set. The artists browser should support the same behaviour. It should show the album-artist if the compilation flag is set instead of the all artists of the compilation separately. This could be done on default or by configuration option.
*** Bug 538005 has been marked as a duplicate of this bug. ***
I added a new branch called `browser-filter` and committed the patch from bug 538005 to it. Further work in this bug will be done in that branch.
sorry for the noise but has this patch been applied/valid for banshee 1.7.3 release, in other words is this issue fixed? Thanks!
(In reply to comment #27) > sorry for the noise but has this patch been applied/valid for banshee 1.7.3 > release, in other words is this issue fixed? Thanks! No, it's still in the `browser-filter` branch.
I was wondering if now might be a good time to merge the 'browser-filter' branch (and poke you guys a bit about this ;-), seeing that Banshee is gonna replace Rhythmbox in Ubuntu 11.04. When I switched from Rhythmbox I immediately missed the genre filter and I can imagine users switching in April via Ubuntu's lead might feel the same, so why not merge this now to get more testers, get bugs ironed out and avoid the possible noise about "where's the genre filter?" in April?
*** Bug 635425 has been marked as a duplicate of this bug. ***
Please bear with me, this bug is very high in my todo list.
Glad to see it has your interest, Alexander :-)
Alexander, your patch adds the option as a Music preference, right? I think it would fit better in the View menu with the other browser options.
*** Bug 639053 has been marked as a duplicate of this bug. ***
*** Bug 641671 has been marked as a duplicate of this bug. ***
*** Bug 647864 has been marked as a duplicate of this bug. ***
*** Bug 647958 has been marked as a duplicate of this bug. ***
*** Bug 648258 has been marked as a duplicate of this bug. ***
*** Bug 649162 has been marked as a duplicate of this bug. ***
Created attachment 187053 [details] [review] change from Artist browser filter to AlbumArtist browser filter This is a rather a proof of concept patch than a complete proposal. I am currently stuck at making the browser change when the user changes an (NYI) view option, so the usage of the albumartist is hardcoded in the patch. What the patch basically does, is: 1. It only shows album artists, not track artists (they can be found using the artist filter or search) 2. when selecting an album from a comilation artist, the track view shows the whole album instead of only the tracks from the selected artist (I REALLY like that behavior!) I's say number 2 should actually be optional for the normal artist filter as well... What the patch proposes is to introduce additional *ListFilter classes, one for each user selectable browser filter (so I guess Year would be missing now). Is that a direction one could go with?
Created attachment 187054 [details] screenshot of proposed albumartist browser filter
Review of attachment 187053 [details] [review]: Frank, that approach is fine with me. There is some code already in place to try to support customizable sets of browsers, but there is no GUI code written for it. In theory shouldn't be too much more than hooking up the sources' CurrentFilters property and FiltersChanged event to the View menu and vice versa. Maybe a first pass at adding this, just with checkboxes (so not reorderable) would be a good start.
Created attachment 187101 [details] [review] switch from artist to albumartist browser filter in the view menu Gabriel, that didn't really work so well, or at least I couldn't access the CurrentFilters property. So I made some private fields from FilteredListSourceContents protected (the filterlist) and modify it myself. I actually have to anyway, because of all the parenting and the order of the filter, which I believe shouldn't change. The attached patch replaces the first one, there is now a radio button in the view menu for switching the filter. I will extend that to the genre filter and maybe add a year filter, if the code is OK so far (it wasn't that complicated, but I hope it's not ugly to you). Then I'll have to save the users preferences as a last step, but I need to know, if I do this on a global or per source level, so I welcome input on that.
oops. I see now. Should rather be done in DatabaseSource.cs.
Created attachment 187106 [details] [review] configurable artist/album browser with genre, artist and albumartist This works pretty well though. I looked into it and don't know how to cover RadioSource etc. in DatabaseSource logic.
Created attachment 187122 [details] [review] part2 of patch: add an optional year filter This patch applies on top the the configurable artist/album browser with genre, artist and albumartist (attachment 187106 [details] [review]) and adds an optional year filter. The album grid view will have very much less space on the screen with all filters enabled, but it can be switched to be a list anyway.
AlbumArtist is not working. I seem to not be able to implement a correct AlbumArtist model. That seems to be due to the fact that albumartist is not a CoreTracks field...
Created attachment 187486 [details] [review] v2 of configurable artist/album browser with genre, artist and albumartist AlbumArtist filter should now be working correctly.
Review of attachment 187486 [details] [review]: DatabaseAlbumArtistListModel is still not working as desired.
*** Bug 650085 has been marked as a duplicate of this bug. ***
Created attachment 187970 [details] [review] v3 of configurable artist/album browser with genre, artist and albumartist Introduced an DatabaseAlbumArtistInfo and everything seems to finally be working fine now.
Created attachment 187971 [details] [review] part2 of patch: add an optional year filter cleaned up the second part of the patch
Created attachment 188315 [details] [review] v4 of configurable artist/album browser with genre, artist and albumartist fix selecting two album artists (caused crash)
Created attachment 188567 [details] screenshot of proposed albumartist browser filter note for the screenshot: there are a couple of other patches applied, so the view menu is actually less complex than in the screenshot and only contains the additional "Configure Browser" menu.
Created attachment 188568 [details] screenshot of proposed albumartist browser filter show just the banshee window.
*** Bug 561493 has been marked as a duplicate of this bug. ***
<Kovensky> via IRC: tried your latest patches, they seem to work fine on the files I had :> the only issue I'm seeing in that the albums in the album grid are being sorted alphabetically despite "sort albums by year not title" being checked I'll look into that album grid sorting issue, but this code was actually not touched
Oh, I see: this is a common misconception: "sort albums by year" only affects the track list. there is an open issue for that.
The patch works fine for me! I've been looking for this feature for a long time, thanks for it! Only trouble I had was that I also had to get dbus-sharp and dbus-sharp-glib from git before making banshee from git. And also to be able to start banshee I had to link dbus-sharp.dll and dbus-sharp-glib.dll to /usr/local/bin/banshee... But this is not related to this patch, and now it works fine. :) Thanks a lot!
When is this patch going to be add to banshee?
Can this patch make it into 2.2 or is that already frozen? If not, I'd be perfectly willing to build banshee with the patch myself if someone could link me to instructions on how to apply the patch.
*** Bug 661974 has been marked as a duplicate of this bug. ***
*** Bug 662461 has been marked as a duplicate of this bug. ***
This needs a simple rebase for the csproj changes to apply to git master. To make testing a bit more accessible I've made a test build of Banshee git as of today with this patch available for OS X (and no, I won't be making builds for Linux and Windows as I haven't got the setup to provide those presently). http://ompldr.org/vYjF3MQ/Banshee.dmg shasum for the build. 86025005ed663e7232c386358296ba3506e3fac2 Banshee.dmg
Using the album artist list and genre list at the same time I am able to overshoot the album artist list considerably by scrolling down. (seen on both OS X and Linux). The regular artist list acts as expected and does not overshoot into blank space when scrolling all the way down. Aside that I am not convinced that the configuration belongs in the menu, I'd rather see in in the source configuration for Music but that is up to the hive overmind and likely some UX input to decide. Other than that I have been unable to find any functional problems with the patch. Great work Frank.
Overshooting: I'll have to look at that. I have encountered that, but only with 2 or 3 rows so far. I have no idea what really causes that. The lists are basically filled by basic banshee GUI logic I only provide the contents, maybe there is a bug in there? Configuration: talked to gabriel a good while ago about some of those options. he wanted to consolidate them in the view menu. browser configuration (left/top) is in the view menu already. I know this blows up the menu quite a bit, so who could decide a good place to put that? I love it this way, as I actually sometimes change the configuration (e.g. turn year on/off) and it's much easier than to go to the preferences every time I do that.
Overshooting: I found the reason, but it's definitely not nice. I have albums in my database where the CoreAlbums.ArtistID does not actually exists in CoreArtists! I should be able to fix this optically, but this should be investigated further, why this happens.
Created attachment 200377 [details] [review] v5 of configurable artist/album browser with genre, artist and albumartist fix overshooting and make patch applicable to latest git master
Created attachment 200378 [details] [review] part2 of patch: add an optional year filter make patch applicable to latest git master
I can confirm that the version applies cleanly to git master and that it fixes the overshooting issue. To celebrate here is a new OS X build with both patches applied. http://ompldr.org/vYjJ6bw/Banshee.dmg shasum for the build 98261b4fe0fe99f5db0c03e6f68356c5e69861f9 Banshee.dmg I haven't taken the year filter for a test drive but the main patch seems to me to be good to go from a functionality and bug pov now.
Created attachment 200473 [details] [review] v5 of configurable artist/album browser with genre, artist and albumartist updated wrong author
Created attachment 200474 [details] [review] part2 of patch: add an optional year filter updated wrong author
Hello, I read both patchs just to see what you do (not a full review, no test). I just have a question about your SQL in DatabaseAlbumArtistListModel : + ReloadFragmentFormat = @" + FROM (SELECT DISTINCT ArtistID, ArtistNameSortKey FROM CoreAlbums) CoreArtists WHERE CoreArtists.ArtistID IN + (SELECT CoreAlbums.ArtistID FROM CoreAlbums, CoreTracks, CoreCache{0} + WHERE CoreCache.ModelID = {1} AND + CoreTracks.AlbumID = CoreAlbums.AlbumID AND + EXISTS (SELECT 1 FROM CoreArtists WHERE ArtistID = CoreAlbums.ArtistID) AND + CoreCache.ItemID = {2} {3}) + ORDER BY ArtistNameSortKey"; can you test a change in it about performance: "FROM CoreAlbums, CoreTracks, CoreCache{0}, (SELECT DISTINCT ArtistID, ArtistNameSortKey FROM CoreAlbums) CoreArtists WHERE CoreArtists.ArtistID = CoreAlbums.ArtistID AND CoreCache.ModelID = {1} AND CoreTracks.AlbumID = CoreAlbums.AlbumID AND EXISTS (SELECT 1 FROM CoreArtists WHERE ArtistID = CoreAlbums.ArtistID) AND CoreCache.ItemID = {2} {3} ORDER BY ArtistNameSortKey"; or even FROM (SELECT DISTINCT ArtistID, ArtistNameSortKey FROM CoreAlbums) CoreArtists WHERE EXISTS (SELECT * FROM CoreAlbums, CoreTracks, CoreCache{0} WHERE CoreArtists.ArtistID = CoreAlbums.ArtistID AND CoreCache.ModelID = {1} AND CoreTracks.AlbumID = CoreAlbums.AlbumID AND EXISTS (SELECT 1 FROM CoreArtists WHERE ArtistID = CoreAlbums.ArtistID) AND CoreCache.ItemID = {2} {3}) ORDER BY ArtistNameSortKey";
Tested the SQLs proposed by olivier (and some others): - the first one doesn't return the correct results (duplicates!) - the latter one has horrendous performance (15sec) - other ideas do not provide increased performance (execution times for all tested statements are around 20-65ms) - the execution time of the original SQL seems fine to me on my machine and is inline with other SQLs executed I used to work professionally with databases before (optimizing time critical SQL) and I actually did come up with a couple of ideas, but none of them showed any improvements :(.
ok so performance is ok. It is just that I am thinking to query performance for large playlist (20K songs). Anyway, it seems fine...
I am using this on a db with 22815 entries, and while there is a slight pause on my Sandybridge powered machine when I switch between album artist and normal view e.g. it is not enough to trigger the 500ms warning level and is hardly noticeable. I think it is okay at least compared to our other database use (which generally seems less than optimal especially on big databases). I am not seeing any performance issues with this that I am not seeing with the rest of Banshee.
The patches work as advertised, I committed both of them. Thank you Frank and sorry it took so long!
Firstly, much improved usability with these patches from my perspective. I'm not too sure if I should re-open this bug or open a new one - maybe someone can advise. I see 2 related issues with the artist browser, seeming un-related to genre filter being enabled or the artist/album-artist selection. 1. 'Various Artists' seems to be hidden from the list. 2. 'Various' as an album artist results in 2 duplicate identical entries. Using a different entry for the field seems to resolve the problem, but it's ugly. (this is with the ubuntu ppa 2.2.0+git20111030.r1.1ffb295-0ubuntu1+oneiric1) I can add a screenshot if the problem is not obvious...
*** Bug 663965 has been marked as a duplicate of this bug. ***
Tshoulihane, please open a bug for each of those issues, this request for adding the functionality is considered closed.