Rhythmbox Full Screen

Important note! This plugin does not work with Rythmbox 12.5 — an updated version will be available for Christmas. Please have patience. New version will also include new features, such as GUI for configuration.

screenshot-rhythmbox-fullscreen-view-thumbThis python plugin gives you a stylish full screen window usable for parties etc. Still in its early stages it currently enables:

  • Pulsating hover effect
  • Album art
  • Smoothly animated progress bar
  • Control: Play/pause/skip
  • Scrolling by cursor position
  • Queued tracks merged

You can check out the latest source from my repository and put it in your plugins directory like this:

$ svn co https://svn.overtag.dk/zuzu/trunk FullscreenView
$ mkdir -p ~/.gnome2/rhythmbox/plugins
$ mv FullscreenView ~/.gnome2/rhythmbox/plugins

UPDATE!
In newer versions of Rhythmbox, the plugin directory has been moved to .gconf/apps/rhythmbox/plugins/.

Upcoming features

  • Configurable colors
  • Better scaling for different screen sizes
  • Better synchronization of elapsed playing times

Technical stuff

The plugin uses custom drawn Cairo widgets in a DrawableArea and idle callbacks for animations. Everything is therefore vector graphics. The code is currently rather messy and I expect to do a check up on that in the near future.

if you find an error, please run Rhythmbox from terminal with the following option:

$ rhythmbox -D FullscreenView

52 Responses to “Rhythmbox Full Screen”

  1. Frej Soya Says:

    Superfedt, anede ikke du sådan kastede rundt med kode ;)

  2. Luc Says:

    Benjamin,

    Thanks This is exactly what i was looking for to complete my HTPC. The shuffle function of rhythm-box in combination with the skip display are nok.

  3. Mats Taraldsvik Says:

    (As Frej wrote in Danish, is it ok if I write in Norwegian?)

    Pent! Det eneste jeg kunne tenke meg, for eksempel om jeg skulle brukt den på fest, var mulighet for å bla i biblioteket, og legge til musikk i ‘Play Queue’ / Spill av nå. Du kunne for eksempel hatt ‘browse music’ eller ‘add music’ nederst i høyre hjørne?

    Hva tror du?

  4. benjamin Says:

    Hej Mats,

    Thank you for writing. If you press Party Mode in Rhythmbox, you get a full screen view, that I cannot compete with. What I’m aiming to do is to provide a very simple interface that’s kind of locked down. In order to add more music, I believe the user will have to leave the full screen mode. Otherwise I’ll end up with a new user interface for the entire RB :)

  5. Mats Taraldsvik Says:

    You may be right. the ‘party mode’ is just a fullscreen rhythmbox, though, while your full screen view looks very slick!

    What about a search box, to search for music, and the option to add to queue or play right away?

  6. benjamin Says:

    Update: Added destroy event on ESC key press.

  7. Felix Says:

    Hi Benjamin!

    Big Thanks for this! I’ve been searching for sth like this for quite a while. I guess I will use it intensely and I will also put a link to your page on ubuntuusers.de to the thread I put up there a some time ago… http://forum.ubuntuusers.de/topic/rhythmbox-album-art-fullscreen/

    Again: Many Thanks,
    Felix

  8. Felix Says:

    Edit: I don’t think it’s a good idea to implement a search or queue function to this since that would probably blow the nice slick interface…

  9. quesh Says:

    Salut benjamin,

    Merci pour ce petit plugin bien utile. En attendant les prochaines améliorations ..

  10. Colin Says:

    I love this! Great work!

  11. legion1978 Says:

    Neat.
    Now.. a reflection effect would complete it perfectly ;)

    Thanks for this cool thingy.

  12. Zach Says:

    Just a suggestion, but could you preserve the aspect ratio of an album cover? I find that some oddly shaped ones are stretched to 500×500 or whatever.

  13. UbuntuWay Says:

    Excellent work! Some free-cool taste for my party!
    :D

  14. Robs Says:

    Can someone help me? I dont know, how to download it :(

  15. mrct Says:

    I’ve just installed the plugin.
    It looks good. I’m impressed by the display of the playlist.
    However, it would be even better to provide a way to go back to normal mode with the mouse (like a button), instead of the ESC key only.

  16. Rhythmbox Full Screen plugin « Lathund Says:

    [...] Full Screen plugin By Hund Rhythmbox Full Screen är ett plugin som visar aktuell låt och skivomslag i [...]

  17. ovidiu Says:

    is this right? mkdir -p ~/.gnome2/rhythmbox/plugins

    really? I see all my other plugins are inside ~/.gconf/rhythmbox/plugins so I tried this folder but the plugin doesn’t show up in rhythmbox. Using Ubuntu 9.04

  18. JSH Says:

    superb!

  19. benjamin Says:

    @ovidiu
    You’re right! It’s been changed, and it’s the same on my Ubuntu 9.04. Thanks!

  20. musica Says:

    Thx, great – just what was needed. I’m wondering though if others are experiencing the limitation on scrolling as I do, I can only scroll through 10 or so songs, and than i have to click on the lowest one, and scroll for another 10, but only down. I can’t scroll up in that manner.

  21. Hawk Says:

    I get a server not trusted at my terminal. Are you still managing this web site?

  22. benjamin Says:

    Hey Hawk, Yes, I am managing. But the SSL certificate is self-signed… and expired. I know it looks dodgy, and I’ll create a less dodgy certificate one of these days…

  23. john Says:

    Hello. I’m running fc11 and just put all the files in ~/.gconf/apps/rhythmbox/plugins where all my other plugins reside, but it doesn’t show up as a plugin option to activate graphically in rhythmbox (even after restart). Any advice? Thanks in advance

  24. felix Says:

    a hint for everyone -like my sweet self- who wants a bigger album art, but doesn’t know that it’s quite easy to accomplish:
    line 218 in file ‘FullscreenWindow.py’ shows:

    [...] pixbuf.scale_simple(300,300,gtk.gdk. [...]

    change the 300,300, to 600,600, or whatever you desire and restart rhythmbox

  25. scatterzone Says:

    totally awesome..worked perfectly.And added functions in your next release would be pretty helpful i guess.much needed plugin.
    @musica ,i dont have that problem,I could scroll till the end.

  26. scatterzone Says:

    @musica sorry mine ends at 21 songs !!!!

    benjamin,can this be fixed??

  27. ole Says:

    @john: I had the same problem. But creating a folder in .gnome2/rhythmbox named plugins and then dropping all the plugins in there makes them work.

    Hope this helped.

  28. felix Says:

    turning to you people and users of this nice piece of software: am I the only one having trouble with some album arts?
    Some ‘cover.jpg’s (or similar) in the album-folder are read by rhythmbox and displayed correctly in the lower left corner while fullscreen doesn’t display them and instead shows the nocover-svg. This is only for certain pictures and is reproducable, however I do not know how and why.

  29. felix Says:

    Hi, me again. Solved my last issue by downgrading to 12.0 – hopefully that is. Benjamin, is there a way to include song-rating? Showing and/or changing?

  30. benjamin Says:

    Hi felix — thanks for you comments sorry that i’m a bit slow with responding to them.

    Regarding the missing covers, i’ve been aware of the problem, and i think it’s because the plugin looks for a cover before it’s found and isn’t properly notified when the property has changed.

    Song-rating sounds like a nice feature. But I’m not quite sure if it fits the simplicity goal. I’m working on a configuration menu and might consider it as an option.

    Thanks again for the input and expect a month or two to pass before the next update.

  31. David Says:

    Hey,

    When I press the Fullscreen button rhythmbox just crashes… Heres the debug:

    david@david-laptop:~$ rhythmbox -D FullscreenView
    Traceback (most recent call last):
    File “/usr/lib/rhythmbox/plugins/rb/Loader.py”, line 43, in _contents_cb
    (contents, length, etag) = file.load_contents_finish(result)
    glib.GError: Bad Request
    TypeError: Cannot create a consistent method resolution
    order (MRO) for bases Buildable, ImplementorIface, gtk.Orientable
    **
    ERROR:/build/buildd/pygobject-2.16.1/gobject/pygobject.c:925:pygobject_new_full: assertion failed: (tp != NULL)
    Aborted

    Thanks,

    David

  32. benjamin Says:

    @David

    This error doesn’t contain any traces to FullscreenView, so it probably has something to do with your installation. Check that the plugin is in the right directory and you have all the files.

  33. adr14n Says:

    Hello, I have the same error, but I just googling something about this error and discover this: http://en.wikipedia.org/wiki/Diamond_problem Can you help me to see if this error can be fixed?

  34. David Says:

    I have a feeling its because the artwork currently cant be downloaded from amazon as its down atm. So as its currently searching for the album art continuously and cant find it, theres a problem

  35. adr14n Says:

    But I have folder.jpg files in each music directory, its correct?

  36. David Says:

    That isn’t how rhythmbox gets its artwork I think. I’m not sure though, I could be lying

  37. felix Says:

    It’s either folder.jpg or: cover.jpg which works for me! (In the folder of your music files yes)

    I think RB additionally copies those pic into one of those:
    ~/.gnome2/rhythmbox
    ~/.local/share/rhythmbox
    ~/.gconf/apps/rhythmbox

  38. felix Says:

    Looked it up: (ubuntuusers.de says:)
    cover.jpg, cover.png, album.jpg, album.png, albumart.jpg, albumart.png, .folder.jpg, .folder.png, folder.jpg or folder.png are searched for before trying an internet search.
    Also, the images can be found in ~/.cache/rhythmbox/covers

  39. Jeff Says:

    I had to put it into both directories (~/.gnome2/rhythmbox/plugins and ~/.gconf/apps/rhythmbox/plugins/) to get it to show up in the GUI. But it would crash the player when clicked; but only if a song was playing. So I ran it with the console; and it didn’t crash; but below is the output. Otherwise cool plugin.

    [jeff@zigathon ~]$ rhythmbox -D FullscreenView
    (rhythmbox:5218): Rhythmbox-DEBUG: Received SaveYourself(SmSaveLocal, !Shutdown, SmInteractStyleNone, !Fast) in state idle
    (rhythmbox:5218): Rhythmbox-DEBUG: Setting initial properties
    (rhythmbox:5218): Rhythmbox-DEBUG: Sending SaveYourselfDone(True) for initial SaveYourself
    (rhythmbox:5218): Rhythmbox-DEBUG: Received SaveComplete message in state save-yourself-done

    (rhythmbox:5218): Gtk-CRITICAL **: gtk_layout_move: assertion `child_widget->parent == GTK_WIDGET (layout)’ failed
    ^C

  40. Jeff Says:

    So I took out the debug flag (-D) and ran it with the console again; and repeated my problem. The player crashed and below is what it spit out:
    [jeff@zigathon plugins]$ rhythmbox
    TypeError: Cannot create a consistent method resolution
    order (MRO) for bases Buildable, gtk.Orientable, ImplementorIface
    **
    ERROR:pygobject.c:923:pygobject_new_full: assertion failed: (tp != NULL)

  41. Mike Says:

    Benjamin since rhythmbox v. 0.12.5 the full screen plug does not show the cover anymore. Can you help out? Maybe a new version?

    Thanks in advance.

  42. felix Says:

    Mike, since Karmic has the 12.5 in its repos, you’ll need to downgrade to the 12.0 which was Jaunty’s version. Personally, I think a lot of programs are needlessly unstable in the Karmic repos – so I’m still with Jaunty and the nice, stable 12.0.

  43. Mike Says:

    Thanks felix. That worked! I hope there will come a fix for version 12.0. But until than I am fine now. :-)

  44. soifran Says:

    hi benjamin !

    i’m coming there from time to time as i discovered your tremendous work recently ; as X-mas is coming quickly i was wondering if ever you’ll release some version for 12.5 :)
    do you have a alpha or beta version for testers ? would you accept any kind of help in the development ?
    any way i’ll be back on a regular basis.

    cheers, sincerly

  45. rodgersan Says:

    Hi, thanks for sharing this excellent plugin. As mentioned in a previous post, cover art doesn’t work anymore. (as in the desktop-art plugin) I hope you will keep on working on this plugin. Would be great if you could add the possibility of keeping focus on the currently played track when the cursor is off the playlist. A shortcut would be nice as well. :D

  46. Hasan (hhh) Says:

    Thought I’d post what I’m seeing using Ubuntu 9.04 (Jaunty) and Rhythmbox 0.12.0…
    The plugin works if I create/put it in ~/.gnome2/rhythmbox/plugins, not in ~/.gconf/apps/rhythmbox/plugins with the other plugins.

    It was fussy to get running, causing Rhythmbox to crash the first couple of times I tried to start the player, once even before I had activated the plugin (I think). Now it seems to be working fine.

    It’s pulling LastFM covers perfectly, and allowing me to scroll the playlist. Boy, if I could Love/Hate tracks in this mode, it would be amazing.

    There is some odd flickering sometimes when hovering over the track listing area. It appears when hovering over the blank space between two listed tracks, and shows as a flash of a white line.

    I’m running it with Compiz off, as that’s how I have my desktop. I’ll check it with Compiz on but won’t repost here unless I see some issues.

    Thanks for the fine plugin, I hope it continues to develop!

  47. Hasan (hhh) Says:

    Quick followup…

    The crashes were from another plugin, Internet Radio Browser, I was simply trying to reopen Rhythmbox too quickly as that plugin was still shutting down (or something).

    The flicker is only with Last FM, so it’s a plugin compatibility issue, not really a bug.

    Thanks again, it’s really a beautiful display.

  48. Pawel Fabregat Says:

    It’s xmas and we haven’t heard from you!

    great plugin though :)

  49. joao Says:

    what about a new version for the 12.5?

  50. Reed Says:

    Hi, I like it. I’d like to use it with a touchscreen, so was wondering what your thoughts are on these features. I can implement them if you would like to include them in the plugin, let me know. (But I’ll wait for the new “Christmas” version !)

    * In addition to ESC key, either click the background to exit fullscreen, or include a button in the corner to exit. (Not sure which is better yet.)

    * Rather than scroll the list on mouse movement, either drag the list to scroll, with a separate small play button next to each track listing, or add separate buttons to scroll (and keep the same click-track-to-play behavior). On a basic touchscreen, you can’t position the cursor without also clicking. This would be a configurable option.

  51. Carlos C Says:

    and what about a 0.12.6 version?

  52. Pasi Says:

    Any estimation when there would be a new version?

Leave a Reply