====== Amarok ====== Amarok has the ability to use the [[:xmlapi|XML API]] in Amarok versions 2.1+. This allows Amarok to interface with your Ampache catalog(s) almost as though it was a local collection. ===== Website ===== [[http://amarok.kde.org|Official Amarok Website]] ===== Availability ===== Linux: Yes\\ Windows: Yes\\ Mac: Yes ===== Use Amarok to play Playlists from the web interface ===== Amarok 2.1 does not support .m3u playlists (simply doesn't recognize them) and has been patched in svn by lfranchi. 2.1.1 should have .m3u support included. Any version other than 2.1 will be able to play your playlists generated from the Ampache web config. Just specify 'amarok' as the application to open .m3u files from within your browser and you should be good to go. ===== Configuring Ampache as an Amarok Service ===== ==== Ampache Setup Instructions ==== In order to use the API we will need to enable and configure the Ampache [[Config:Acl|Access Control Lists]]. This requires Admin access to your Ampache installation and access to the /config/ampache.cfg.php file. Ampache defaults to a DENY FROM ALL behavior so you will need to setup your ACL's before you enabled the Access Control in your Config file. In the below example all of the computers running Amarok are on your local network (192.168.1.0/24). New Installs of Ampache will come with 4 default ACL's to make configuration easier {{config:acl-default.png?240}} If your ampache does not already have these ACL's please see [[Config::Acl|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. - Go to the Admin tab and then click on Show ACLs. - Find **Add API / RPC Host** and click on it. For additional information about configuring your ACL's see [[Config:Acl|Configuring Access Control Lists]]. - 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.\\ {{config:acl-rpc.png?240}}\\ 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 /config/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 [[:Support#Enabling Logging|Enable Logging]] and see what the Logs report. ==== Configuring Amarok ==== - Install Amarok (See the [[http://amarok.kde.org|Amarok Website]] for this) - Open the Amarok Config\\ {{:clients:config_amarok_menu.gif?150}} - Edit the Ampache Plugin settings\\ {{:clients:config_amarok_config.gif?150}} - Add the settings for your Ampache server. In this example, we used http://ampache.org/demo (the Ampache Demo page). The address you enter here is the same website address you enter to view the http web interface.\\ {{:clients:config_ampache_config2.gif?150}} - Make sure you check the 'Active' checkbox! This is not done by default and if you don't click it, it won't work. - Once you're back to the main Amarok interface, click the 'Internet' category on the left and click Ampache to display your collection.\\ {{:clients:config_ampache_type.gif?150}}{{:clients:config_amarok_done.gif?150}}