rexmms - Revival XMMS

Introduction

The page you are currently viewing is the project page for 'rexmms'.

xmms (read in Wikipedia) was an open source media player project for a UNIX-like operation systems, that served as an early Winamp clone for these platforms. However, the project, despite its popularity on Linux platform, was abandonded in favor of other players. The motivation for the revival of xmms was inspired due to a feeling that other media players are still either unstable, unusable, or too bloated to be used easily by Linux veterans.

The rexmms code is based on a previous effort to bring xmms on Debian platform by Knut Auvor Grythe. In those effort the original xmms package (version 1.2.11) and its dependencies are patched and working, however some workarounds need to be applied in order to have them running correctly, and building the plugins for these packages require some 'manual labor'.

Goal

The goal of rexmms is to provide a patched, fixed and functional version of xmms, built in with some modern necessity plugins (such as a FLAC input plugin, already incorporated from FLAC project). It is also planned to enhence xmms a bit - only adding without rewriting the UI.

F.A.Q

Testing the code

For a recent ChangeLog, see latest changes here for rexmms, here for gtk+1.2, and here for glib1.2.

The following will get you started with the code. There are three git repos: One for rexmms, and two for the libraries it depends on.

Prerequisites for building

On Ubuntu/Debian, the following command should bring you all the dependencies required for building:
sudo apt-get install git-core build-essential debhelper autotools-dev \
libx11-dev libxext-dev libxi-dev libxmu-dev x-dev automake1.9 libtool \
libasound2-dev libaudiofile-dev libgl1-mesa-dev libesd0-dev libmikmod2-dev \
libogg-dev libvorbis-dev libxxf86vm-dev libssl-dev libflac-dev

Retrieving latest source code

I assume you know how to use 'git' source control, and that you have an account in github. The following command will clone the required source trees.

git clone git@github.com:da-x/rexmms.git rexmms.git
git clone git@github.com:da-x/glib1.2.git glib1.2.git
git clone git@github.com:da-x/gtk-1.2.git gtk-1.2.git

Building and running regardless of distro package systems

If you just want to build and run the code, the following commands should illustrate how to do so:
cd glib1.2.git
./configure --prefix=`pwd`/OUTPUT
make && make install
cd ..

cd gtk-1.2.git
./configure --with-glib-prefix=`pwd`/../glib1.2.git/OUTPUT --prefix=`pwd`/OUTPUT
make && make install
cd ..

cd rexmms.git
./autogen.sh
./configure --with-glib-prefix=`pwd`/../glib1.2.git/OUTPUT --with-gtk-prefix=`pwd`/../gtk-1.2.git/OUTPUT --prefix=`pwd`/OUTPUT
make && make install

./OUTPUT/bin/xmms

Building Ubuntu packages

This illustrates how to build the Ubuntu packages from source, assuming that you fetched the dependencies described above. Note that the filenames might change due to version numbering.
cd glib1.2.git
dpkg-buildpackage
cd ..

sudo dpkg -i libglib1.2ldbl_1.2.10-19_i386.deb
sudo dpkg -i libglib1.2-dev_1.2.10-19_i386.deb

cd gtk-1.2.git
dpkg-buildpackage
cd ..

sudo dpkg -i libgtk1.2_1.2.10-18.1_i386.deb
sudo dpkg -i libgtk1.2-dev_1.2.10-18.1_i386.deb

cd rexmms.git
./autogen.sh
dpkg-buildpackage
cd ..
Then, installing and running would simply be:
sudo dpkg -i xmms_1.2.11-1_i386.deb
xmms

Developer collaboration

Mail: Google group for rexmms.

Github: http://github.com/da-x/rexmms

Contacts

E-Mail: dan at aloni.org.