Rhythmbox webinterface plugin

A while ago I managed to buy an iPad. I am using/planned to use it for various things. One of those things was to be able to remotely control my music player (which is nice when sitting outside on the terrace, having a small party etc.). The ‘Remote’ application that exists to control iTunes works really well, however I don’t really use iTunes. So I thought I would have a look on how to do something similar with Rhythmbox (or Banshee for that matter). I remembered something about DLNA and uPNP and tried for some days to get this to work, but I really got nothing. I don’t know which side is to blame, but in the end I gave up trying to make it work.

Then I thought it might work just as well through a webinterface, why not. I looked for a suitable plugin for rhythmbox, but unfortunately most of the 3rd party plugins are not ported yet to 3.0. Since I thought it would be fun and a nice opportunity to employ some of that shiny, new and hip css3/javascript/jquery/ajax/websocket, I made a plugin for RB to do just what I want.

TeleMote Rhythmbox plugin

It features all the basic things that I want from a remote control. It will show you a list of playlists/sources, followed by a list of artists (for the selected source) and finally a list of songs for the selected artists sorted by album. You get the basic controls to play/pause, skip songs, repeat/shuffle and control volume. In addition, you can also set the current selection as the current playlist. Finally you can also simply queue some songs (those blackish boxes at the bottom of the screenshot) which will be played as soon as the current song ends playing (this is all just rhythmbox functionality exposed and nothing new).

There are some fancy (useful) animations in the UI and in general I kind of like the look of it. I wouldn’t call myself a “designer”, so if anyone wants to jump in and improve some css, please feel free. The plugin is hosted on github:

http://github.com/jessevdk/telemote

Note: You can save your breath preaching about how Apple is evil etc, I’ve heard it all before…

This entry was posted in gedit. Bookmark the permalink.

19 Responses to Rhythmbox webinterface plugin

  1. Pēteris Krišjānis says:

    Well, not everyone can write web interface plugin just because he wants it :) Looks nice! :)

  2. nacho says:

    cool stuff, rhythmbox really needed something like this :)

  3. Morgenstond says:

    When Gnome 3.2 is released it should be able to do this natively with the new Broadway rendering engine, and not just for Rythmbox, but for all GTK3 applications.

    Nonetheless, this is very cool work!
    Congrats!

    • Jesse van den Kieboom says:

      True, but I’m not sure I want the exact same interface like rhythmbox (I prefer a simplified UI). Also, broadway for now I think depends on either firefox or websocket support enabled, whereas this does not. Holding that thought, I could also just have used VNC, but there are good reasons why I do not :)

  4. olivier says:

    Hello,

    why not used DBUS MPRIS standard (http://www.mpris.org/2.1/spec/) to replace rythmbox plugin to glu with core.
    The advantage is that you will support all player with it (Banshee, VLC, …)

    • Jesse van den Kieboom says:

      I didn’t want to go through dbus, both to keep it simpler and more performant. I wasn’t sure how submitting thousands of song entries through dbus would work out. Also, the plugin allows for more advanced features than are available through MPRIS (searching for example). That said, the frontend is really backend independent, it just needs a webservice to expose some things (in a RESTful like way), so it should be easy to make that webservice a standalone and do its stuff through MPRIS/dbus instead, patches welcome!

  5. Bastien says:

    You could also just have used a newer Rhythmbox with DACP support. I can control Rhythmbox through “Remote” on iPad or iPhone thanks to last year’s Summer of Code work.

    • Jesse van den Kieboom says:

      Ah, that’s cool stuff! I didn’t know about this. I wish I would have :) It doesn’t seem to do exactly what I would like (for example, it seems to queue all songs if I just activate one song), also the artist view is not showing any songs when I click an artist. No doubt these are possibly small issues that can be easily resolved though.

  6. Leif says:

    Neat!

    This actually just made me realize how useful Broadway could be in Gnome 3.2 for thin client hardware like tablets.

  7. Phil says:

    No need to choose between web sockets and VNC: https://github.com/kanaka/noVNC

    More seriously, I wonder if it wouldn’t be neater to control Rhythmbox over DBus, from a general purpose remote control daemon? I’d love to be able to control all sorts of Gnome things from my phone.

    [WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

  8. Phil says:

    Ah, I didn’t see there’s already a comment about DBus, feel free to ignore my last.

    [WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

  9. mkind says:

    top, jesse! will give it a chance and blog my experiences.

    cheers

  10. VTacius says:

    Gracias! Aunque no me funciona por tener instalada la versión 2.9, aprendí bastante al instalarlo.
    Disculpa mi español

  11. Pingback: Interfície web per al Rhythmbox | GNULinux.cat

  12. afanen01 says:

    Also, this allows the client to be used on devices other than the iPad.

    Quite useful IMO. Thanks.

  13. Magnús says:

    Hi

    I’ve been trying to get this to work but haven’t been successful. I’ve installed all the development packages and now finally have the telemotec.so file in .local/share/rhythmbox/plugins/telemote but the plugin doesn’t show up in the Plugin dialog in Rhythmbox after I restart (version 0.13.3).

    Any idea how to proceed?

  14. Pingback: Rhythmbox Web User Interface | NW Linux

Comments are closed.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>