help:
   documentation
   f.a.q
   installation help

bugs:
   known bugs
   bug report

download:
   download
   mirrors
   cvs information

misc:
   suggestions
   screenshots
   upcoming version

   icons
   skins
   guestbook

TABLE OF CONTENTS

  1. Disclaimer
  2. Installation
    2.1 Basic Installation
    2.2 Borderless Installation
    2.3 Skin Installation
  3. Documentation
    3.1 Console Overview
    3.2 Playlist Editor
    3.3 Equalizer
    3.4 Menu
    3.5 Preferences
  4. Command Line Options
  5. Features
    5.1 Supported Features
    5.2 Supported Fileformats
    5.3 Yet To Do
  6. Obtaining Xmms
  7. Misc
    7.1 Shoutcast support
    7.2 Tips and Tricks
  8. Bugs
  9. Contact Emails



1. Disclaimer

We are not liable for any damage caused by the use of this program.

xmms is NOT a port of windows95's winamp. We just borrowed the GUI! :)

2. Installation

These libraries are needed to compile XMMS.

gtk/glib 1.2.2 or better.
get it here: ftp://ftp.gtk.org/pub/gtk/v1.2/

For you libc5 users you'll need these extra things.

gnu gettext 0.10 (use configure --with-gnu-gettext)
get it here: ftp://prep.ai.mit.edu/pub/gnu/gettext/gettext-0.10.tar.gz

linuxthreads 0.71
get it here: http://www.xmms.org/files/linuxthreads.tar.gz

Thread safe Xlibs (atleast aware) get thread aware libs here: Thread Aware Xlibs

If you want xmms to play mod/s3m/med and formats supported by mikmod visit http://www.multimania.com/miodrag/mikmod/index.html and get the latest version
of libmikmod and install it before running ./configure on xmms

2.1 Basic Installation

cd xmmssource
./configure
make
make install
This will put the binary in /usr/local/bin/
and plugins in /usr/local/lib/xmms/

2.2 Borderless Installation

As far as I know most WM's accepts GTK decoration hints so it will not have borders. But some WM's can't handle this so you have to set in manually. do this for xmms just add this:

Afterstep 1.0 ~/.steprc
Style "xmms" NoTitle, NoHandles

Afterstep 1.4 ~/GNUstep/Library/AfterStep/database Style "xmms" NoTitle, NoHandles

Fvwm's ~/.fvwm95rc
Style "xmms" NoTitle

The poblem here is that all GTK windows will also be borderless :(

2.3 Skin Installation

xmms will create a drawer called ~/.xmms/Skins/ in which you just unarchive the skins the same way as you do for winamp.

Or don't unarchive them, xmms supports zipped skins.. just copy the skin.zip to a Skin path and boom of you go!
note: you will need unzip to get this to work!
If you don't keep unzip in your path then you can set a variable called UNZIPCMD to the right path.

Use ALT+S when using xmms to bring up the skin selector. Xmms will remeber which skin you had loaded when you start Xmms the next time. (saved in ~/.xmms/config)

You can also have global skins in /usr/local/share/xmms/Skins or /usr/share/xmms/Skins if you are not happy with this just set the SKINSDIR variable to another location of your choice eg.

for bash:

export SKINSDIR=/path/to/Skins:/more/paths/to/other/locations/of/Skins

for csh:

setenv SKINSDIR=/path/to/Skins:/more/paths/to/other/locations/of/Skins

good idea here is SKINSDIR=/dos/programs/winamp/skins if you have windows and winamp with skins installed :)


3. Documentation

This file or http://www.xmms.org/documentation.html

3.1 Console Overview

When you start up Xmms, you will get a console very similar to that of WinAMP.

  • On the top is the window title bar. To the right you will see 3 buttons, Left button will minimize Xmms. Middle button will make Xmms only display the title bar. Right button will end the Xmms session.
  • There is a window in the upper left that shows the following:
    • Play state: Paused, Stopped, or Playing
    • Time elapsed in the current song or if you click on it, the reversed.
    • Spectrum analyzer of the sound being played. Right mouse click will bring up the Visualization menu. Left mousebutton will change the analyzer to an oscilliscop and/or none.
  • To the Right of the Spectrum analyzer is the title of the mp3 being played. This also contains the length of the song being played, as well as it's position in the [unsorted] playlist. Right clicking in this window will bring up a new meny with some more options that are self explaining.
  • In the left part of the Spectrum analyzer you'll have letters (atleast if you use the default skin) O A I D V left mouse clicking on these will open up menus or preform actions. I will describe them here:

    • O : Options menu
    • A : Always on top
    • I : File info box
    • D : Doublesize mode
    • V : Visualization menu
  • Underneath the track title are the following static informational data:
    • MP3 bitrate in KBps (usually 128 or 112)
    • Sample Rate in KHz (usually 44)
    • Stereo or Mono channel mixing
  • Underneath the informational data are a few controls you can play with:
    • The first slider controls the volume
    • The second slider controls the balance between speakers
    • The button marked "EQ" loads up the graphic Equalizer described later in more detail
    • The button marked "PL" loads up the playlist editor described later in more detail
    • The LARGE slidebar moves from left to right as the song plays. You can drag this to jump to another location in the current mp3 file.
  • On the bottom of the console are the standard buttons you'd see on a CD player: Back 1 track, Play, Pause, Stop, Forward 1 track, and eject.
    • The eject button doesn't REALLY eject, of course. :) It opens up the file requester. The File Requester builds a playlist for the current Xmms session. You can use it to load files, add files to the list, or load all mp3s in a directory.
    • The shuffle button does just that; it randomizes the sequence of the playlist.
  • By hitting the key combination alt+s you'll bring the skin selector up and can choose a skin to use, choosing the (none) skin will make xmms use the built in skin.
  • You also have key control.. these are:
    z = last song
    x = play
    c = pause
    v = stop
    b = next song
    l = play file (brings up the filerequester)
    j = jump to file (in the existing playlist)
    r = repeat
    s = shuffle
    Control+l = play location
    Control+p = preferences dialog
    Control+r = Time remaining
    Control+a = Always on top (works with gnome and windows maker)
    Control+w = Winshade mode
    Control+d = Doublesize mode
    Control+e = Easy move
    Control+j = Jump to time
    Control+z = Start of list
    Shift+Control+w = Playlist winshade mode
    Alt+w = Hide/show mainwindow
    Alt+e = Hide/show playlistwindow
    Alt+g = Hide/show Equalizer
    Alt+s = Skinselecting window

3.2 Playlist editor

To access the Playlist editor, select the button labeled "PL" on the right side of the Xmms console.

This will bring up the actual playlist window, here you'll find 5 buttons.
All of these buttons can be held down to bring up an extra menu.
From left to right:



 + url     : will let you add an url for streaming
 + dir     : will let you pick a directory (recursive)
 + file    : will add a file to current playlist, held down mode you'll have 2 extra options

- misc : *** NOT FUNCTIONAL *** - all : delete all files in the list - crop : delete all files exept the highlighted in the list - file : will delete the highlighted file, held down mode you'll have 3 more options

inv sel : invert your selection sel zero : select none sel all : select all files in current playlist, held down mode you'll have 2 extra options

sort : release button on this will bring up another menu with sort options file inf : as it say, fileinfo :P misc opts : held down you'll have 2 extra options

new list : will empty the playlist and let you create a new playlist save list : will let you save your playlist load list : will let you pick a playlist to load, held down you'll have 2 extra options

Just like in windows, if you want to select/deselect files in the filrequester/playlisteditor use CTRL for files and SHIFT key for blocks of files. You can also browse the PL using the cursorkeys using up/down and enter to select song. Hitting the delete button will delete the song from the playlist, you can also use the mousewheel to scroll up/down :)

You can also specify files in the command line e.g ./xmms file1.mp3 file2.mp3 file3.mp3 or wildcard ./xmms *.mp3 or ./xmms playlist.m3u Just add the prefix .m3u to your existing playlists and xmms will load them from command line as a parameter!

If you do this while Xmms is running, it will remove the current selection of mp3 files and play the one(s) from the command line. This is useful if you are using Midnight Commander like I do :) altho if you use xmms with -e option it will not clear the playlist just add that song to the existing playlist!

3.3. Equalizer

To access the Equalizer, select the button labeled "EQ" on the right side of the Xmms console.

That will bring up the Equalizer window. it looks like an equlizer on a stereo and behaves like one as well. Press the button labeld ON to enable the use of the equalizer, once you turned it on you use it as a normal equalizer. EQ presets will be saved in ~/.xmms/config when you close xmms. You can also have your own presets for diffrent song using the "Preset" button, xmms can also import/export from winamp's preset files!

3.4. Menu

There are several menu hotspots on the xmms window. One place is at the left hand side of the visual window described in section 3.1. If you click the right mouse button in the main window, the menus will also pop up (same as clicking the button on the top left corner).

3.5. Preferences

Use the menu to open Options/Preferences or use the shortkey ctrl+p to bring the preference dialog up. In here you'll find 3 tabs Audio I/O, Plugins and Options.

Audio I/O:

You'll find 2 diffrent types of plugins here.. Input plugins and Output plugins. To make changes to any of the Input plugins highlight the one you want to change by clicking on it's name and hit Input plugin's configure button, you also have an about button that will tell you a little about the selected plugin and you made it if this information is available. xmms comes with 4 Input plugins as default (if your system makes all 4 of them) these are

CD audio Player 0.9
MikMod Player
MPEG Layer 1/2/3 Player
Wave Player 0.9

Configure options for these plugin are diffrent so let's see if we can enlight you a bit here :)

CD audio Player 0.9:

In here you have 2 tabs Devices and Volume.. Device you'll enter the device the CDROM drive is connected to Directory is where you want to browse to see the audio tracks. Let's say you have a CDROM drive connected to /dev/hdb just type that in Device option and where you usually mounts the drive in Directory. insert an audio CD and select open file and browse to the dir you normally mount data CD's you'll find the audio tracks you want to listen to. The Volume tab just let you choose what volume control you would like to use for the CDROM drive.

MikMod Player:

This plugin will only be built if you have libmikmod (http://www.multimania.com/miodrag/mikmod/index.html) 3.1.6 or better installed before you run "configure" in the xmms source tree. If you like to change anything that has todo with mikmod formats playing hit configure and you'll have 2 tabs with Quality and Options for mikmod driver. Most people want to leave these untouched :)

MPEG Layer 1/2/3 Player:

Here you can set options that has todo with the mpg123 driver. Decoder options is mostly used if you have a crappy soundcard :).. Streaming tab deals with shoutcast/icecast streamings. You can change buffer sice and prebuffering stuff as well as setting up proxy connection and save the streams you listen to on to the harddrive. If you save streams to HD it will be named "radio station name".mp3 In the title tab you have options to set id3 tag strings that xmms displays in the main window.

Wave Player 0.9:

This can not be altered yet.most people do not want to change these settings but just leave them at default. Buffering is the size of buffert xmms will have loaded into the memory.

Output Plugins are:

OSS Driver 0.9:

This is the general plugin for output stream to the soundcard. Configuring this plugin has some intresting options. First you will see Devices, in here you can change the soundcard you are using if you have 2 soundcards most people do not want to change these settings but just leave them at default. Buffering is the size of buffert xmms will have loaded into the memory.

eSound Output Plugin 0.9:

This plugin will only be built if you have eSound 0.2.8 (http://www.tux.org/~ricdude/EsounD.html) or better installed before you run the "configure" in the xmms source tree. The tabs in here are Server that let you choose a remote server using eSound to play the music on. Also you'll find Buffering tab that is the same as for the OSS Driver 0.9.

Disk Writer Plugin 0.9:

This plugin let's you save music that the input plugins can handle as wav. The only option here is Path: just type the path where you want to save the wav files and that's it.

Plugins:

You'll have 2 more plugin types here, Effect plugins that are used to alter the sound and General plugins that can be used to control xmms.

Options:

Here you have some general options for xmms and these are:

Read info on "Demand" and on "load"

Reverse file order in fileselector, like it sounds :)

Allow multiple instances, if you select this you need to restart xmms for changes to take effect it will let you load more then 1 copy of xmms.

Convert %20 to space, good when you download mp3's in netscape.. some has %20 instead of space.

Convert underscore to space, same as the %20 but for "_" instead.

Dim titlebar when inactive, makes the titlebar look as it was active all the time.

Sort "jump to file" aplhabetical, as is sounds :)

Use Realtime priority when available, This works only if xmms is runned by root or is setuid as root. This will get xmms the cpu it needs all the time and it won't be easy to get it to skip.. You won't be able to use the diskwriter plugin with this påtion enabled.

Always show clutterbar, will show/not show the OAIDV displayed on the left side of visual window.

Save window positions, saves main windows position on the screen instead of letting the WM choose location.

Show numbers in playlist, will display the internal tracknumber in the playlist.

Save playlist position, save the playlist position like the main one.

Equalizer doublesize linked, if you uncheck this box the EQ will always be in normal size.

Snap window ar "x" pixels, how many pixels from the windows before they "snap" together.

Smooth title scroll, makes the title scroll go smoother.

And finally you can choose a font for the playlist window.

4. Command Line Options

xmms --help will produce:

Usage: xmms [options] [files] ...

Options:

-h, --help              Display this text and exit.
-n, --session           Select XMMS session (Default: 0)
-r, --rew               Skip backwards in playlist
-p, --play              Start playing current playlist
-u, --pause             Pause current song
-s, --stop              Stop current song
-f, --fwd               Skip forward in playlist
-e, --enqueue           Add file to current playlist
-m, --show-main-window  Show the main window
-v, --version           Print version number and exit.

5. Features

5.1 Supported Fileformats

MP2 and MP3 streams
WAV/AU samples

module formats:
mod, xm, s3m, med, it
669, amf, dsm, far
gdm, imf, m15, mtm
stm, stx, ult, uni

others:
sid, cd audio
shout/icecast

5.2 Supported Features

Seeking in files
Volume/Balance
Shuffle play
Repeat play
Timer Elapsed/Timer Remaining
Double Size option
GTK Requesters (with themesupport)
Autoremove borders if the WM has support for it Wildcard select from commandline
Playlist editor
Equalizer
Spectrum Analyzer
Oscilliscope
Skins (The same skins as winamp)
Streaming (shoutcast(1.0/1.1)/icecast)
Gnome/Afterstep/WindowMaker dock app
Fast jump in playlist
Scroll wheel support
Save to wav option
Saves http streams to HD
Plug-in system (Effects, General, Input, Output)
Plays mpeg layer 1/2/3 also wav and formats supported by mikmod

5.3 Yet To Do

Convert it to other unix's
Icecast streamer plugin
Recording
Visualation plugin support
YOU tell us

6. Obtaining Xmms

How do I get it?

Get the latest version from the web http://www.xmms.org or FTP ftp://ftp.xmms.org/xmms/

Want some skins made by linux users? goto http://www.xmms.org/skins.html

7. Misc

7.1. Shoutcast support

To make netscape use xmms on http://www.shoutcast.com you just have to load up netscape and choose edit/preferences/Navigator/applications add a new handler set mimetype: audio/x-scpls
set application: xmms %s
hit the OK button and off you go!

7.2. Tips and Tricks

Xmms features some command line options like next/prevoius songs, those things can be binded to a key. I use Afterstep and the useless window keys for this. Here is an exampel from my .steprc:

Key     Meta_R  A       N       Exec "xmms" xmms -r
Key     Menu    A       N       Exec "xmms" xmms -f

If you want all your mp3's in one playlist an easy way is: locate .mp3 > /path/to/playlistname

( considering you have a fairly recent updatedb, dont blame us if locate dont finds the file you downloaded 3 minutes ago :P )

I like to have my playlists in a special path (in my case /usr/local/share/xmms/playlists/) and I really hate browsing to that dir with the playlistbrowser so I start xmms like this. make a bash script file looking like this:


#!/bin/sh
pldir=/usr/local/share/xmms/playlists
binary=/usr/local/bin/xmms
IFS=" "
if [ -x $binary ]
then
        cd $pldir
        $binary "$@"
else
        echo "Couldn't execute $binary!"
fi

now you can keep all you playlists in /usr/local/share/xmms/playlists/ if you like :P

8. Bugs

Bugs are usual.. otherwise something is wrong and you better report it as a bug!

9. Contact Emails

Programming      Peter Alm       (peter@xmms.org)
Graphics         Thomas Nilsson  (thomas@xmms.org)
Everything else  Olle Hallnas    (olle@xmms.org)