XMMS2 Simple Web Interface Home

Table of content


[back to top]

About

XMMS2SWI is a XMMS2 multimedia player web frontend written in PHP. The main purpose of the project was to make a lightweight internet frontend so I could remotly manage my XMMS2 playlist from my PDA with a very limited bandwidth.

The original idea to keep the code simple didn't work well. Since I was able to select the songs from the playlist, I wanted to add more and more features. By now, XMMS2SWI is almost a complete frontend to XMMS2 basic features.


[back to top]

Features


[back to top]

Downloads

You can get the latest package at sourceforge project page.


[back to top]

Installation

Unpack the content of the package to a subdirectory of your www sever root (like /var/www/xmms2) and setup your XMMS2 server, XMMS2 client and XMMS2SWI.


[back to top]

Configuring XMMS2 daemon

XMMS2SWI connects to xmms daemon using xmms2 command line client. If you run xmms2 daemon as the same user as your www server, you don't need to configure anything! It will simply work!

In most other situations, you will want to configure network connection on your XMMS2 daemon and client.

At the home of the user which runs xmms2 daemon, you must edit ~/.config/xmms2/xmms2.conf to include the network socket to ipcsocket property:

	<section name="core">
		<property name="ipcsocket">unix:///tmp/xmms-ipc-xxx;tcp://localhost:5555</property>
		. . . .
	</section>	

The xxx is usualy the user name of the account, you don't need to change it. You can replace the port (5555) by whatever other port you like (but you must then set the same port in client configuration).


[back to top]

Configuring XMMS2 client

To configure the client, login as your www user (often www-data) and start xmms2. The first time you run it, it should generate client configuration at ~/.config/xmms2/clients/cli.conf.

The only interesting element in that file is ipcpath that we need to change:

	ipcpath=tcp://localhost:5555
	statusformat=${artist} - ${title}
	listformat=${artist} - ${title} (${minutes}:${seconds})
	autostart=true

Now you should be able to contact xmms2d run by an other user from your www user.


[back to top]

Configuring XMMS2SWI

This is an example configuration for xmms2swi/config.ini:

	[modules]
	XMMS2SWIAccessCheckModule=modules/AccessCheck.php

	[access/core]
	;; for XMMS2SWIAccessCheckModule
	enabled=true
	mode=ip

	[access/ip]
	policy=deny
	;;filter=127.0.0.1,192.168.1.*
	filter=192.168.1.4,192.168.1.2

	[browser/mount]
	disk_d=disk,Mp3 on disk d:,/mnt/m2/mp3
	local=disk,Mp3 on localhost ,/home/mp3/mp3
	mldonkey_incoming=disk,Mp3 from mldonkey,/home/mldonkey/.mldonkey/incoming/files/
	
	[browser/core]
	enabled=true

[access/ip] defines IP rules to allow or denie access to the service. To policy defines what to do with IPs not matched by the filter, deny will reject connections not matching the filter, allow will reject connection matching the filter.

[browser/mount] defines mount points or directories where mp3 may be found. The syntax of a mount point definition is: [mount point id] = [type] , [label] , [path]

After you have setup this, you should check if XMMS2SWI works.


[back to top]

Copyright

* Copyright (c) 2008, Przemysław Grzywacz
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*     * Redistributions of source code must retain the above copyright
*       notice, this list of conditions and the following disclaimer.
*     * Redistributions in binary form must reproduce the above copyright
*       notice, this list of conditions and the following disclaimer in the
*       documentation and/or other materials provided with the distribution.
*     * Neither the name of the XMMS2SWI nor the
*       names of its contributors may be used to endorse or promote products
*       derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY Przemysław Grzywacz ''AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL Przemysław Grzywacz BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[back to top]

SourceForge.net Logo