GNOME Bugzilla – Bug 337157
Rate song via notification area icon context menu
Last modified: 2007-05-25 05:23:45 UTC
Currently, you need to see the main window of Banshee to rate a song. Typically I do something else on the computer while listening to music, and I want to rate some songs from time to time. What I think would be very convenient is a plugin to add the rating stuff in the right-clic menu of the icon: Play Previous Next -------- Rate it! -------- .... Then when you move your mouse about the "rate it" item, it displays a drop down menu on the right, with the 5 ratings, or maybe with empty stars and you click to fill them. Other solution, even less clics: integrate the rating in the info popup, with the empty clicable stars. BUt it would require to be able to interact with the popup.
Another idea for the same functionality: if you want to rate a song from the main window, you have to right click. If the rating column is displayed, it would seem logical to click on the stars to give the rating, or modifying it. Several other softwares are doing this. You see empty stars, if you click on the first one, it's rating 1, if you click on the second, it's rating 2, etc.. .
You may want to check out Music Applet, http://web.ics.purdue.edu/~kuliniew/music-applet/ , an applet for the GNOME panel, that adds Banshee music control and rating control. Banshee support was just recently added.
Music Applet is what I was thinking about. But the pop-up looks quite poor compared to the one from Banshee, don't you think? A mix of the two would be a nice solution maybe.
Moving to the User Interface component.
Created attachment 63736 [details] [review] patch to enable the rating of songs through the NotificationAreaIcon This patch enables the rating of songs as described in the first post. It adds a ratings menu. In contrast to the ratings menu in the playlistview this rates the current song, not the selected songs. The menu is only available when there is a current song (paused or playing) that is from the library or from a playlist. I would apreciate it if someone would take a look at it. It's my first attempt at C# and Banshee programming, so there might be some stupid mistakes in there. Having sad that, it works properly for me. The only known problem is that the playlistview isn't always upated when you rate a song. But it is supposed te be used with the Banshee screen out of sight. It would be nice to add someway of telling how the song is currently rated. Maybe disabling that rating from the menu? ps. It changes the Makefile.am to ad star.png as a resource. I don't know if this is the proper way.
>It would be nice to add someway of telling how the song is currently rated. Maybe disabling that rating from the menu? Or show it in the popup window?
I'd really like to see the rating menu abstracted into its own widget so there's no duplication. Also, the star.png resource is available from the entry assembly and does not need to be included in the plugin assembly. Replace Gdk.Pixbuf.LoadFromResource("star.png") with new Gdk.Pixbuf(System.Reflection.Assembly.GetEntryAssembly(), "star.png"). Sound reasonable?
What info is still needed on this enhancement? It's been NEEDINFO for over 6 months without change, but I know I'd really like to have it available still. :-) Also, would this be a good candidate for gnome-love?
I think this feature is crucial to using the rating system. This patch has been sitting here for over a year and is still marked NEEDINFO. What info is still needed exactly?
The patch is marked needs-work. I'll try to change the patch according to Aarons comments. Perhaps this weekend. Maybe we can get it into 0.13.
Created attachment 86730 [details] [review] patch to make the ratingmenu a widget Here's my second attempt. This patch makes the ratingmenu a widget, so it can be reused in the notification area plugin.
Created attachment 86731 [details] [review] patch to make the ratingmenu a widget Here's my second attempt. This patch makes the ratingmenu a widget, so it can be reused in the notification area plugin.
Created attachment 86732 [details] [review] patch to make the ratingmenu a widget Here's my second attempt. This patch makes the ratingmenu a widget, so it can be reused in the notification area plugin.
Created attachment 86734 [details] [review] Patch to add ratingmenu to popup And this adds the ratingmenu to the popup. ps. Sorry for spamming bugzilla. Don't know what happend. Can someone delete the double entries?
Hi Pepijn: Thanks for the work on the patch. A few quick administrative and cosmetic issues: a) Please ensure you are using spaces and not tabs, I notice there is a mix in your patches. Ensure you conform to the style rules set forth and used by the project in HACKING b) For the sake of review and commit, it would be nice to have a single patch c) Please write a ChangeLog entry, included in the patch or just as a comment to the bug - you know best what changed in the patch Because this has been open for so long and you're working on it, I'd like to commit ASAP. However, I have a separate idea for rating via menu where we actually would reuse the "inline" widget that is available in the track editor. It would be slick, eliminate the sub menu, and would take up less space, but it will probably be a significant chunk of work, so I'd rather just get this version in first.
Created attachment 86882 [details] [review] Inline Menu Rating This patch adds inline rating support to the song view menu. It reuses the RatingEntry widget in an "embedded" mode, wrapped by a custom MenuItem widget, RatingMenuItem. This widget is reusable and can go into the notification area popup menu (not addressed by this patch though). Thoughts on the behavior? I like the inline rating, eliminating the clunky submenu, but maybe it's not as clear as it needs to be. I'd appreciate some testing and feedback.
Created attachment 86884 [details] Screenshot of inline rating Just a screenshot showing off how it looks in the menu.
(In reply to comment #17) > Created an attachment (id=86884) [edit] > Screenshot of inline rating Ultrahot! That is all I have to say about it :-)
Created attachment 86889 [details] [review] Second Iteration of Inline Rating This is the second version, it addresses the following issues: a) Show a label "Rating" b) Be keyboard friendly - Draw the selected/highlighted menu item background to indicate focus - Respond to keyboard events (all that the entry supports except up/down) c) A few bug fixes in the rating entry code, not necessarily related to the menu inlining
Created attachment 86890 [details] Screencast of inline rating The screencast shows the new themeing/highlighting and interaction via keyboard (note placement of cursor when rating changes).
Looks great, I like it. There's two things I noticed though: First the RatingEntry doesn't show the current rating. But looking at the FIXME you already knew that. I think this is issue is also related to bugs #398498 and #411994. (The second one also suggests a solution.) My second issue might just be personal taste, but it feels strange you have to "cancel" the popup to set the rating. Maybe clicking on the word "rating" (or anywhere but the stars) can accept your changes and make the menu disappear?
Created attachment 86916 [details] [review] Add the new RatingMenuItem to contextmenu * src/Plugins/Banshee.Plugins.NotificationAreaIcon/NotificationAreaIconPlugin.cs: Add new RatingMenuItem to notification area icon context menu (BGO #337157) This patch adds the new RatingMenuItem to the notification area icon context menu. There is one minor bug with this code: In the odd case you set the rating of a currently playing song in the mainwindow and then open the notification area icon context menu the rating isn't updated. There doesn't seem to be a PlayerEngineEvent for when the rating is changed.
*** Bug 440861 has been marked as a duplicate of this bug. ***
Pepijn: I've committed your latest patch with a few minor modifications. When you set the rating on the PlayerEngineCore.CurrentTrack, making a subsequent call to PlayerEngineCore.TrackInfoUpdate() is (somewhat unfortunately) necessary - this will allow the main GUI to refresh and depict the changes. Also, if there is no CurrentTrack, I prefer to have the rating item hidden, not insensitive. Finally, I removed the separator. Thanks!
Sorry to jump in here, but I just wanted to chime in and say that this is pretty sexy. :)