Archive for April, 2009

Amarok + Ampache Backend

April 15, 2009

Taking advantage of Ampache’s XML-API you can browse and play from one or many remote Ampache catalog(s) directly from Amarok.



Ampache Setup Instructions

In order to use the API we will need to enable and configure the Ampache Access Control Lists. This requires Admin access to your Ampache installation and access to the /etc/ampache/ampache.cfg.php file. Ampache defaults to a DENY FROM ALL behavior so you will need to setup your ACL’s before you enable the Access Control in your Config file. In the below example all of the computers running Amarok are on your local network (

New Installs of Ampache (3.5.x) will come with 4 default ACL’s to make configuration easier


If your ampache does not already have these ACL’s please see Configuring Access Control Lists for more information about how to create them.

Creating the Needed ACL Entries

We need to allow API access to Ampache from our local network. To do this go to the Admin tab and then click on Show Acls. Find Add API / RPC Host and click on it.

Name your ACL Entry, in this example I’ve called it “My Network” There are three choices for the type of ACL to create. The default will allow you to access Ampache’s catalog using Amarok but it will not allow you to login through the web interface. If you want API + Streaming + Web Interface access pick RPC + All under type.


You’ll notice these first two ACL’s do not have a Key. Key’s are only required for XML-RPC communication between Ampache servers. Your users will use their Web Interface Usernames and Passwords to access the API. Now that we’ve created a few ACL’s we need to make sure that Access Control is enabled. Open up your /etc/ampache/ampache.cfg.php in a text editor and find the access_control line and enabled it as seen below

; Use Access List
; Toggle this on if you want ampache to pay attention to the access list
; and only allow streaming/downloading/xml-rpc from known hosts by default
; xml-rpc will not work without this on.
; DEFAULT: false
access_control = "true"

Log out of your Ampache instance, and then log back in. If that works then go ahead and try playing some music. If either one of these things fails disable Access Control and double check your ACL entries. If you still aren’t sure why it’s failing then Enable Logging and see what the Logs report.

Configuring Amarok

At this point we assume that you have Amarok2 installed and working correctly.

Enable And Configure Service

Go to Settings and then Services. Make sure the Ampache Service is enabled.


and then click Settings button on Ampache plugin. Enter the details for your server and click add.


Ampache Service Settings

  • Name – This is an internal name for Amarok, up to you.
  • Server – This is the fully qualified address for your Ampache server including the http://. For example, a valid server would look like
  • Username – This is your username to the Ampache web interface. If you specified a User in your RPC ACL then this username must match that specified in the ACL.
  • Password – This is your password to the Ampache web interface

Ampache-3.5 (due out early March, or so) will be able to stream video. I will explain how to stream your favorite content to Rhythmbox or Totem using Python-Coherence (UPnP).

Ampache-3.5-svn2029 (beta2) can be found in my PPA
Additional Ampache Resources


A Special Thanks

April 14, 2009

I would like to send out a special thank you to Andreas Moog, James Westby, Nathan Handler, Sebastien Bacher, Richard Johnson and Sander Jonkers, for helping to fix #338963 and #352653 while I attended my uncles funeral.  If I ever make it to UDS the beer (or your favorite beverage) is on me.

You guys ROCK

Charlie Smotherman

PS. If I have forgotten anyone please forgive, it was not intentional.

Off The Grid

April 2, 2009

Due to a death in the family I will be off the grid for about a week or so. I will probably not be back before April 9 which is Final Freeze. So would someone from the MOTU community please step up and help me out by looking after bugs #352653 and #338963 as I will be unavailable to look after them.

Thank You
Charlie Smotherman