Search:  
Gentoo Wiki

XMMS2

This article is still a Stub. You can help Gentoo-Wiki by expanding it.

Contents

Introduction

XMMS2 is the next generation of media player for Linux, it has a client/server architecture similar to MPD allowing different frontends to control playback. Currently XMMS2 is under active development and not ready for general release, however it is mostly functional.

Latest released Developer version: DrKosmos

This howto will explain the installation and use of DrJekyll

Installation from ebuilds

XMMS2 isn't currently available as an official Gentoo ebuild but you can avail yourself of unofficial ebuilds, either from the x4x-overlay (latest ebuilds for xmms2, x4x, esperanza, gxmms2, gx2osd, xmms2tray, abraca) - http://x4x.sourceforge.net/wiki/index.php/Ebuilds -(this project is dead) or from Ycarus (maybe a bit outdated but more ebuilds as in the x4x-overlay) - http://www.zugaina.org/gentoo/media-sound.html.en. Or from the pro-audio overlay.


Note: Be aware that the ebuild from Ycarus creates an init-script, config-values, creates the user xmms2 and sets the environment variable XMMS_PATH to tcp://127.0.0.1:7777. Therefor also use the init-script to start xmms2, your clients should respect XMMS_PATH and everything will be fine. Only use xmms2d or xmms2-launcher directly if you know what you are doing if you use the ebuild. dangertools

Dependencies

All dependencies are automatically fetched by the ebuilds, you may have to unmask/~arch some things.

Steps

Simply

emerge xmms2

will install xmms2 on your system. Be sure that you set some useful use-flags like mp3 or ogg or some languagebindings like python, ruby or cpp, otherwise you won't have much fun with xmms2 ;).

Note: Not all the use flags from the overlay are explained. Although many of them are intuitive and refer to the decoding plugin being enabled/disabled or refer to the language binding options being compiled or not here are explained the use-flags not documented in pro-audio:


Afterwards you just have to choose a client that fits you best.

Installation from source

Dependencies

XMMS2 uses waf, a python-based build system which xmms2 ships itself, and the sqlite database engine.

emerge -n sqlite

Fetch

Next you will need to obtain the xmms2 source

You can either get the most recent DR, or Developer Release from http://prdownloads.sourceforge.net/xmms2/?sort_by=date , select the latest xmms2 source snapshot from http://git.xmms.se/ or get it directly from git. A small howto is located here

Extract the archive to /usr/src:

cd /usr/src; tar xzvf /location/of/file/xmms2-bk-snapshot-YYMMDD.tar.gz

Install

Change to the source directory and run waf

cd xmms2-YYMMDD
./waf --prefix=/path/to/install configure
./waf build
./waf install

To exclude plugins on configure:

./waf --prefix=/path/to/install --without-plugins="plugin1,plugin2" configure


Enjoy

then test the xmms2 daemon as your normal non-root user:

xmms2d

This doesn't daemonize the server, run the following to start xmms2d in background:

xmms2-launcher

If everything works well you should be able to play songs:

xmms2 play

The track you will hear is dismantled-the_swarm_clip.ogg (if you had the ogg use-flag set) which is distributed freely with XMMS2.

Final Modifications

If you experience library problems with your manually installed xmms2 you may need to add the xmms2 libraries to your LDPATH variable. The easiest way to do this is to add a new file to your /etc/env.d directory:

echo "LDPATH=/path/to/xmms2libs" > /etc/env.d/99xmms2 && env-update && source /etc/profile

If you experience library problems with your ebuild-installed xmms2 usually doing

ldconfig

will help.

If everyhing has gone well you will want to autostart the xmms2 deamon, add the following to /etc/conf.d/local.start changing username with your nonroot username:

su - username -c "/usr/bin/xmms2d -d"

You can also use xmms2 as a system-wide daemon, although the xmms2-guys say that it is a usedaemon.

echo "XMMS_PATH=tcp://127.0.0.1:9667" >> /etc/env.d/99xmms2 && env-update && source /etc/profile
echo "xmms2-launcher -i tcp://127.0.0.1:9667" >> /etc/conf.d/local.start

This will autostart xmms2d on system-startup, set its ipcpath to tcp://127.0.0.1:9667 (listening on interface lo and port 9667 (xmms typed on a mobilephone keyboard)) and set XMMS_PATH also to this value.

Clients

A bunch of clients is available for xmms2 but not all will work out of the box with the latest release, I will therefor only mention those which work fine with DrJekyll.

Clients in the x4x-portage overlay

The recommended way to install these clients is via the ebuilds, manual installation can be reread on the appropriate homepages.

Graphical clients:

X4X - a Java client for xmms2 and mpd (gtk+, Swing and Qt at the same time)
Esperanza - a QT4/C++ client (needs the cpp useflag!)
gxmms2 - a gtk+/c client
Abraca - A gtk+/c client and one of the few clients with collections support

Notification clients:

gx2osd - a client displaying a small gtkmm-rendered window for notification (cpp useflag!)
xmms2tray - a systray client written in python (python useflag)

Clients not available via the x4x-portage overlay

Console-graphical clients:

gntxmms2 - a libgnt console-graphical client with a collections manager.


A complete list of clients can be found at http://wiki.xmms2.xmms.se/index.php/Clients .

See Also

Retrieved from "http://www.gentoo-wiki.info/XMMS2"

Last modified: Wed, 10 Sep 2008 06:14:00 +0000 Hits: 29,175