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:
- asx - for parsing .asx streaming playlist format
- avcodec - for decoding several file formats, used for Windows Media Audio, Apple Lossless and Monkey's Audio
- cdda - for reading data from audio CD discs using libcdio
- clientonly - doesn't build the xmms2 daemon
- coreaudio - for outputting to Mac OS X's Core Audio sound API
- cpp - c++ language bindings
- daap - for reading files from daapd audio server, supports browsing
- diskwrite - for writing the output into .wav files on the disk
- ecore - x11-libs/ecore bindings
- eq - sound equalizer
- lastfm - for listening to the last.fm radio stream in xmms2
- mac - for decoding MAC data and parsing APE metadata using libmac, can be replaced by apefile+avcodec
- mms - for reading audio streams sent over the MMS protocol
- mp4 - for demuxing and reading metadata from .mp4 files, faad (AAC) or avcodec (ALAC) needed for decoding
- nophonehome - doesn't send annonymous statistics to xmms2 developers
- ofa - a plugin collecting ofa audio fingerprint data using libofa and storing it into the medialib
- shout - for reading shoutcast audio streams
- sid - for decoding .sid files containing music used in Commodore 64 games and programs
- wma - for decoding .wma files
- xspf - for parsing .xspf playlist format
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
- http://wiki.xmms2.xmms.se/index.php/Main_Page - official Wiki for instructions on how to use/abuse XMMS2.
- http://forums.gentoo.org/viewtopic-t-333423-highlight-xmms2.html - gentoo forums, HOWTO XMMS2
- http://code-monkey.de/projects/ruby-efl.html - the ruby enlightenment stuff
Browse categories > Applications > Multimedia > Audio
Browse categories > Gentoo Linux Wiki > Wiki maintenance > Stub
Created by NickStallman.net, His Dark Materials - The Golden Compass, Luxury Homes Australia
Real estate agents should be using interactive floor plans.
