Controlling Rhythmbox music player from android phone over wifi

I have a small Wi-Fi network at home consisting of a 3G wireless router, a build server which doubles up as the media server with a PCI Wi-Fi card and a few laptops and phones. That provides me with a neat network with no cables laying around. Some of the advantages of having all the devices in the house connected in a LAN is that you can work on the server from a laptop through ssh, and also do stuff like control music playing on the server from the phone.

Rhythmbox

I have been using Rhythmbox for a while now. Its a nice Gnome based media player because it offers many features but among them, the two most useful are heavy organization and categorization of music, and extendability through plugins, some of which are 3rd party. I have lately come across one plugin that allows remote control of the player, coupled with an android app, Banshee Remote.

The easier way

An easier way to add the repository would be with add-apt-repository, install all the plugins in the repo :


sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins
sudo apt-get update
sudo apt-get install rhythmbox-plugin-complete

Adding sources mannually: custom source file

First set up the plugin in your server. I am using ubuntu, so i head up to launchpad page , to the part on adding PPA sources to the system. I choose my ubuntu version, then add the sources manually to sources file in /etc/apt/sources.list.d/rhythmboxplugins.list:


sudo vim /etc/apt/sources.list.d/rhythmboxplugins.list

When vim opens, press i on the keyboard to insert, then right click and paste. Press escape key to go to command mode, then type “:wq” and enter to save and exit vim.

I use a seperate file so as its easy to manage the sources. Paste the two lines below for Raring


deb http://ppa.launchpad.net/fossfreedom/rhythmbox-plugins/ubuntu raring main
## deb-src http://ppa.launchpad.net/fossfreedom/rhythmbox-plugins/ubuntu raring main

The second line is the source, which isn’t needed so can be commented or left out. I do this to all repos to make update faster :).
Save the file, update sources, if you get the key error, add the key with the command:


$sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82EB5823F4FE239D

The output is:


Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.t2GZ4pi4yp --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//steam.gpg --keyserver keyserver.ubuntu.com --recv-keys 82EB5823F4FE239D
gpg: requesting key F4FE239D from hkp server keyserver.ubuntu.com
gpg: key F4FE239D: public key "Launchpad PPA for fossfreedom" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

then update once more and install the plugin

$sudo apt-get update
$sudo apt-get install rhythmbox-plugin-android-remote

Then figure out the server’s IP address, as we will need this to configure the android app.

$ifconfig wlan0
inet addr:192.168.0.103

Next install Banshee Remote on your phone and go to server settings, which is the first view after install but can be found under settings later, enter the IP address and port is 8484. The rest is intuitive :). Browse artist|album|songs and tap to add to play queue.

Update:

I had upgraded my ubuntu and hence Rhythmbox. It now uses python 3, so 3rd party plugins that were written to use python2 don’t work. I have edited this plugin though, and made a patch file. If you have no idea how to apply a patch, read this short summary post. The plugin folder in ubuntu is /usr/lib/rhythmbox/plugins/rhythmbox-android-remote/

To apply the patch:

cd /usr/lib/rhythmbox/plugins/rhythmbox-android-remote/
patch rhythmbox-android-remote.py < rhythmbox-android-remote.patch

You might not be able to edit files in that directory, so changing permissions first may be a good idea, or copying the file to the home folder, patch, then copy back using sudo.

Leave a Reply

%d bloggers like this: