XMMS - X Multimedia System (c)1997-2001 A Cross platform Multimedia Player Peter Alm, Thomas Nilsson, Olle Hallnas, Håvard Kvålen TABLE OF CONTENTS ***************** 1. Disclaimer 2. Installation 2.1 Basic Installation 2.2 Border less Installation 2.3 Skin Installation 3. Documentation 3.1 Controlling XMMS 3.1.1 Key bindings 3.2 Playlist Editor 3.3 Equalizer 3.4 Menu 3.5 Preferences 3.5.1 Audio I/O Plugins 3.5.2 Effect/General Plugins 3.5.3 Visualization Plugins 3.5.4 Options 3.5.5 Fonts 3.5.6 Title 3.6 Plugins 3.6.1 Input plugins 3.6.1.1 Cd Audio Player 3.6.1.2 Id Software .cin player 3.6.1.3 Mikmod player 3.6.1.4 MPEG Layer 1/2/3 player 3.6.1.5 Tone Generator 3.6.1.6 Ogg Vorbis player 3.6.1.7 Wave player 3.6.2 Output plugins 3.6.2.1 OSS Driver 3.6.2.2 Disk Writer 3.6.2.3 eSound Output 3.6.3 Effect plugins 3.6.3.1 Echo 3.6.3.2 Extra Stereo 3.6.3.3 Voice removal 3.6.4 General plugins 3.6.4.1 IRman Control 3.6.4.2 Joystick Control 3.6.4.3 Song Change 3.6.5 Visualization plugins 3.6.5.1 Blur scope 3.6.5.2 OpenGL Spectrum analyzer 3.6.5.3 Simple Spectrum analyzer 4. Command Line Options 5. Features 5.1 Supported File formats 5.2 Supported Features 6. Obtaining XMMS 7. Misc 7.1 Shoutcast support 7.2 Tips and tricks 8. Bugs 9. Contact Email 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. ftp://ftp.gtk.org/pub/gtk/v1.2/ For libc5 users, you also need to obtain, gnu gettext 0.10 (use configure --with-gnu-gettext) ftp://prep.ai.mit.edu/pub/gnu/gettext/gettext-0.10.tar.gz linuxthreads 0.71 http://www.xmms.org/files/libc5/linuxthreads.tar.gz Thread safe Xlibs (at least aware) http://www.xmms.org/files/libc5/XFree86-3.3-libs.tar.gz (thread aware) If you want XMMS to play mod/s3m/med and formats supported by mikmod you need to install libmikmod before running ./configure on XMMS. http://www.mikmod.org/download.html For the OpenGL plugin you'll need Mesa 3.0 or better. http://www.mesa3d.org/ To compile the Ogg Vorbis plugin you'll need libvorbis from: http://www.vorbis.com/download_unix.psp 2.1 Basic Installation ---------------------- cd xmms-1.2.5 ./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. AfterStep 1.0 ~/.steprc Style "XMMS_Player" NoTitle, NoHandles Style "XMMS_Playlist" NoTitle, NoHandles Style "XMMS_Equalizer" NoTitle, NoHandles AfterStep 1.4 ~/GNUstep/Library/AfterStep/database Style "XMMS_Player" NoTitle, NoHandles Style "XMMS_Playlist" NoTitle, NoHandles Style "XMMS_Equalizer" NoTitle, NoHandles Fvwm's ~/.fvwm95rc Style "XMMS_Player" NoTitle Style "XMMS_Playlist" NoTitle Style "XMMS_Equalizer" NoTitle CTWM's ~/.ctwmrc NoTitle and NoBorder sections: NoTitle { "xmms" } NoBorder { "xmms" } 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. However, you don't need to unarchive them since XMMS supports archived skins. XMMS currently reads the following formats: zip, wsz, tar, tar.gz and tar.bz2 Just copy the archive to one of the skin path's and XMMS will take care of the rest. In order to support zipped skins you will need to download unzip. ftp://sunsite.unc.edu/pub/Linux/utils/compress/unzip-5.31.tar.gz If you do not wish to have unzip in your path, then set the variable UNZIPCMD to the directory in which you keep the unzip command. Use ALT+S when using XMMS to bring up the skin selector. XMMS will remember which skin you had loaded when you start XMMS the next time. (saved in ~/.xmms/config) in the skin selector you have an option to use random skin on play, this will pick a random skin on song change. XMMS looks for skins in these directories: /share/xmms/Skins ~/.xmms/Skins or you can set the variable SKINSDIR to another location of your choice. 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 3. Documentation ---------------- This file or http://www.xmms.org/documentation.html 3.1 Controlling XMMS -------------------- 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. - The area in the upper left part displays 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 mouse button will change the analyzer to an oscilloscope and/or none. - To the right of the Spectrum analyzer is the title of the file being played. This also contains the length of the song being played, as well as its position in the [unsorted] playlist. Right clicking in this window will bring up a new menu with some more options that are self explaining. - In the left part of the Spectrum analyzer you'll have letters (at least if you use the default skin) O A I D V left mouse clicking on these will open up menus or perform actions. O : Options menu A : Always on top I : File info box D : Double size mode V : Visualization menu - Underneath the track title are the following static informational data: - bit rate 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 - The button marked "PL" loads up the playlist editor - The LARGE slide bar moves from left to right as the song plays. You can drag this to jump to another location in the current file. - On the bottom of the console are the standard buttons you would see on a CD player: Previous track, Play, Pause, Stop, Next track, eject, shuffle and repeat. - 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 randomizes the sequence of the playlist. - The repeat button when enabled makes the playlist loop when it reaches the end of the playlist. 3.1.1 Key bindings ------------------ Global: (Main, Equalizer and Playlist window) z = Previous song x = Play c = Pause v = Stop b = Next song l = Play file (brings up the Load file(s) dialog) j = Jump to file (in the existing playlist) r = Toggle Repeat s = Toggle Shuffle Shift + l = Play directory (brings up the Add Directory dialog) Control + l = Play location (url) Control + p = Preferences dialog Control + v = Visualization plugin dialog Control + r = Time remaining Control + a = Always on top Control + w = Winshade mode Control + d = Doublesize mode Control + e = Easy move Control + j = Jump to time Control + z = Start of list Control + n = No Playlist Advance Control + 3 = File info dialog Control + Alt + w = Toggle Equalizer winshade mode Shift + Control + w = Toggle Playlist winshade mode Alt + w = Toggle mainwindow Alt + e = Toggle playlist window Alt + g = Toggle equalizer window Alt + s = Skin selector Main window: Arrow key up = Volume up 2% Arrow key down = Volume down 2% Arrow key right = Skip 5 seconds forward in song Arrow key left = Skip 5 seconds back in song Playlist window: Arrow key up = up one step in playlist Arrow key down = Down one step in playlist Delete = Remove selected songs from playlist Page Up = Move one page up Page Down = Move one page down Home = Go to the first song End = Go to the last song Enter = Play selected song Insert = Add file dialog Shift + Insert = Add directory dialog Alt + Insert = Add url dialog Equalizer shade mode: Arrow key up = Volume up 2% Arrow key down = Volume down 2% Arrow key right = Balance 4% to right Arrow key left = Balance 4% to left 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: file + : will add a file to current playlist, held down mode you'll have 2 extra options dir : will let you pick a directory (recursive) url : will let you add an url for streaming file - : will delete the highlighted file, held down mode you'll have 3 more options crop : delete all files except the highlighted in the list all : delete all files in the list misc : *** NOT FUNCTIONAL *** sel all : select all files in current playlist, held down mode you'll have 2 extra options sel zero : select none inv sel : invert you selection misc opts : held down you'll have 2 extra options fileinfo : opens the file info dialog. sort : release button on this will bring up another menu with sort options load list : will let you pick a playlist to load, held down you'll have 2 extra options save : will let you save your playlist new : will empty the playlist and let you create a new playlist If you want to select/deselect files in the filrequester/playlist editor use CTRL for files and SHIFT key for blocks of files. You can also browse the PL using the cursor keys and enter to select song. Pressing the delete button will remove the song from the playlist. If your mouse is equipped with a mouse wheel, you can use this to scroll up and down. 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 equalizer on a stereo and behaves like one as well. Press the button labeled 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 different song using the "Preset" button, XMMS can also import/export from WinAmp's preset files. If 'Auto' is enabled, XMMS will try to load equalizer presets like this: 1: Look for a preset file in the directory of the file we are about to play. 2: Look for a directory preset file in the same directory. 3: Look for a preset saved with the "auto-load" feature. 4: Finally, try to load the "default" preset. The 'preset' button will open up a menu with the following options: Load Preset : Will open a window with all available presets. Auto-load preset : Will open a window with all available auto-load presets. Default : Will load the default preset. Zero : Will reset the equalizer to zero. From file : Will load from a .preset file From WinAMP EQF file : Will load from a WinAMP equalizer file. If you choose a library file only the first entry will be loaded. Import WinAMP presets : Imports the presets contained in an WinAMP equalizer library file (often named WINAMP.q1) and add all the entries to the Preset window. Save Preset : Let you name the current preset and save it. Auto-load preset : Saves the current settings as a preset for the song currently playing. Default : Saves the default value for the equalizer. From file : Saves the current settings in a preset file. From WinAMP EQF file : Exports the current settings to a file readable by WinAMP. Delete Preset : Let you delete a preset from the list. Auto-load preset : Let you delete a auto-load preset from the list. Configure Equalizer : Change the default names of directory based preset files. 3.4. Menu --------- There are several menu hot spots on the XMMS window. One place is at the left hand side of the visual window described in sections 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 press CTRL-P to bring the preferences dialog up. The first three tabs are for different types of plugins, the plugins specific configuration and usage will be explained in the plugins section of this manual. 3.5.1. Audio I/O Plugins ------------------------ In the 'Audio I/O' tab you control the heart of XMMS, which would be the Input and Output plugins. In the 'Input plugins' part you can disable/enable and configure the available plugins. The list box displays the name of the plugin, it's file name and '(disabled)' if you have disabled the plugin. The 'Output Plugin' is where you tell XMMS how it should play the audio back. Today you can only have one 'Output Plugin' active at a time. So you can't both listen to the music through the 'OSS Driver' and save the music to disk with 'Disk Writer'. 3.5.2. Effect/General Plugins ----------------------------- The 'Effect/General' tab controls the 'Effect' and 'General' plugins. Effect plugins can alter the sound in different ways. You can only use one Effect plugin at a time just like the 'Output' plugins. General plugins are mostly used to control XMMS. 3.5.3. Visualization Plugins ---------------------------- The 'Visualization' tab controls which visual effects you want to see when XMMS is playing your music. See section 3.6.5 for the plugins shipped with XMMS. 3.5.4. Options -------------- Here you change most of XMMS's behavior and settings. 'Read info on' tells XMMS when to load the information from the files in your playlist. 'Demand' will load the information when the files are visible in the playlist. 'Load' will load the information when you add the file to the playlist. Having 'Load' turned on when loading a 6000 song playlist might not be a good idea. If both options are turned off XMMS will only load the information when the song is currently playing. 'Reverse file order in file selector' Will cause the files selected in the fileselector to be added in reverse order in the playlist. 'Convert %20 to space' This will convert "%20" to " " when the filename is displayed in the playlist. (%20 is what browsers use instead of space) 'Convert underscore to space' This will display " " instead of "_" in the playlist. 'Dim titlebar when inactive' Will tell XMMS to use the dimmed titlebar from the current skin when the window is inactive. 'Sort "jump to file" alphabetical' Will sort the 'Jump to file' dialog (available by pressing "j") in alphabetical order instead of the order it's in the playlist. 'Use realtime priority when available' This works only if XMMS is run as root or is setuid as root. It will allow XMMS to get all the CPU power it needs, and can greatly improve the playback on slower systems. NOTE: The 'Disk Writer' plugin will NOT work with this option enabled, also you need to restart XMMS in order for this to make a change. 'Pause between song for [ ] seconds' Will make a defined pause between each song. 'Do not hide windowmanager decorations' Enables the windowmanager borders around XMMS. 'Mouse Wheel adjust Volume by (%)' If you have a mouse with a wheel, you can change how much of the volume to be changed when you move it up or down. 'Allow multiple instances' This will allow you to start more than one XMMS. You have to quit XMMS before this change takes effect. 'Always show clutterbar' Will make the OAIDV part of the main window to be displayed all the time. 'Save window positions' Will save the main window's position on the screen instead of letting the windowmanager choose location. 'Show numbers in playlist' Enables the display of the internal track number in the playlist. 'Save playlist position' This saves the Playlist windows position and tells XMMS where to place it, instead of letting your windowmanager choose position. This has no effect if the playlist is docked to the Main window of XMMS. 'Equalizer doublesize linked' Will display the Equalizer in doublesize if you make XMMS doublesize. 'Smooth title scroll' Makes the title scroll go smoother. 'Snap window at [ ] pixels' Tells XMMS how close you can position the three windows until they dock / snap together with each other. 'Use "\" as a directory delimiter' This will come in handy if you are using playlist files from a windows player, so XMMS will treat \ as /. 'Save extended playlist info' When enabled, all M3U format playlists will be saved in "Extended Format", which includes the entry title and length in addition to the filename or URL of the track. 3.5.5. Fonts ------------ Here you can change the fonts XMMS use. 'Use fontsets' Will enable the usage of multi-byte charsets. 'Playlist' Let's you choose what font XMMS should use for the playlist. 'Use X font' Makes XMMS use a font for the scrolling title in the main window. 3.5.6. Title ------------ The 'Title format:' box allows you to alter in which order the information about the current song is displayed. Example: %p - %t (%a) [%y] will display something like "Laibach - Alle Gegen Alle (Nato) [1994]" available fields are: %p - Artist (ex: Laibach) %a - Album (ex: Nato) %g - Genre (ex: Electronic) %f - File name (ex: laibach-allegegenalle) %F - File path (ex: /home/thomas/mp3) %e - File extension (ex: mp3) %t - Track name (ex: Alle Gegen Alle) %n - Track number (ex: 6) %d - Date (ex: ???) %y - Year (ex: 1994) %c - Comment (ex: Cover of D.A.F) These fields makes use of normal printf(3) formatting codes. Examples: %0.3n Will pad the track number with 0's until it's 3 chars long. 3.6 Plugins ----------- Plugins is what makes XMMS work, by moving most of the code out of XMMS and into a plugin architecture it's possible to change almost everything in XMMS. There are today 5 different types of plugins. Only a few plugins are distributed with XMMS, you can find a lot more on http://www.xmms.org/ 3.6.1 Input plugins ------------------- The input plugins is what you use to play mp3, mod, wav and even movies with. 3.6.1.1 Cd Audio Player ----------------------- Plays audio cd's on Linux, FreeBSD and Solaris. This plugin does not pass the sound through XMMS, so no visualization can be made nor will the equalizer settings have any effect. Before I explain the usage we better have a look on the configuration first. In the device tab you should set Device to your cdrom unit. /dev/cdrom is generally a good choice on Linux systems. Set 'Directory' to where a directory which will be used by XMMS to present the available cd tracks in. Using the normal mount point for the cdrom is recommended unless the cdrom is automounted if it contains a data track. Example: -------- Device: /dev/cdrom (which on my system is symlinked to /dev/hdc) Directory: /mnt/cdrom The next setting is used to decide what volume is to be changed, it's either the OSS Mixer for CD Audio or the actual volume on the CDROM. In the CD Info tab you can choose if the plugin should try and get the track names from a Internet database server. You can either use the CDDB protocol or CD Index. CDDB defaults to a free version of CDDB, but it will work with the infamous cddb servers as well. Show network window will display some useful information if something goes wrong, but you'll have to close and re-open it to update the content of it. If a CDDB server is too slow for your taste, you can press 'Get server list' to receive a list of alternate servers. CD Index is another type of database, but works in a similar manner. If you don't have libxml installed when you compiled the plugin, this will be grayed out. In the "Track names" box you can decide on how the plugin presents the tracks to you. This is normally handled by the 'Title' (section 3.5.6) setting in the main preferences, but you can choose to override them here. Available variables are: %p = Performer/Artist %t = Track name %a = Album %n = Track number So "%n. %t / %p (%a)" would display something like: 1. New Life / Depeche Mode (Speak & Spell) Now to add your CDROM tracks to the playlist. Insert an audio cd into the CDROM drive and press the Eject button. Go to the directory which you defined earlier ( /mnt/cdrom ) and you should see a list of tracks. They will be named Track XX.cda, select the tracks you want to play and press OK. If you had choosed an Internet database and the CD exists in it, XMMS will now display the tracks you have chosen with their names according to the 'Name format' configuration. Now, that wasn't hard now was it? If you want XMMS to identify as something else when speaking with servers, you can set the environmental variable "XMMS_CDDB_CLIENT_NAME", and XMMS will use that instead. 3.6.1.2 Id Software .cin player ------------------------------- This plugin plays the movies from Id Software's Quake II which normally are named .cin. 3.6.1.3 Mikmod player --------------------- This plugin will play a numerous older "module" formats supported by the MikMod library (libmikmod). MikMod can be found at http://mikmod.online.fr/download.html and you'll need 3.1.6 or better to be able to build this plugin. In the first configuration tab you can choose in which quality mikmod should play the modules. If you have an older soundcard you might want to change the defaults to match your card. If the modules are played in what seems to be half speed change 'Resolution' to 8 bit. In the 'Options' tab you have five options. 'Look for hidden patterns in modules' can be used to play "patterns" which exist in the modules, but wouldn't be called when played. (Since most module formats decide on a pattern basis which the next pattern should be, you can "hide" smaller tunes within a larger module.) 'Use surround mixing' will as hinted turn on some mixing that gives you an surround effect. This is however only usable if you're playing the module in stereo. 'Force volume fade...' will fade out the music when the modules reaches it's end. 'Use interpolation' can enhance the sound of the samples contained in the modules, unless you're really out for that old crispy retro feeling. :) 'Default panning separation' "The original Amiga formats had an implicit channel allocation (because the Amiga's hardware had same), 100% left or 100% right depending on the track number (left right right left, or right left left right, I forget). That sounded OK when they were written because most monitors had only a single speaker, and the flash monitors didn't separate the speakers more than about a foot, but when you try something like that with your speakers in opposite corners of the room it drives you to distraction. That control lessens the annoyance for file formats that don't specify the balance." - Simon Hosie 3.6.1.4 MPEG Layer 1/2/3 player ------------------------------- The main reason why this player exists today is mp3 files, so what could be better than a plugin that plays them?. It's based off the mpg123 engine and handles MPEG Layer 1/2/3 files and VBR (variable bit rate) MP3 files. The first configuration tab is just like the MikMod one, and again, if you have an older soundcard and the music is going half speed, change the 'Resolution' setting. If you have mp3 files named something else than .mp3, you might want to enable 'Detect files by content' so XMMS will know that they are supported. Although I'd recommend that you rename the files (or just beat the person who burned his high-school bands music with in proper file extensions into giving you a new cd) since this is rather slow. In the streaming tab you can choose a 'Buffer size' in kilobytes which XMMS will keep while streaming. This ranges from 4 -> 4096kb (which should be sufficient for most people. The 'Pre-buffer' value is how much of the buffer XMMS should fill before starting to play the stream. (0%-90%) I'll let Chad Armstrong describe the two following options. "As streaming becomes more popular, there is rising demand for better information about the current track being played. This 'Now Playing' information (also known as 'Title Streaming') allows for more information to be passed back to the listener. In the past, there was a method started by the Shoutcast group, which embedded this information in the stream itself. The mp3 standard was never designed to allow for text information to be interleaved with audio data, and it is this design which can cause errors in playback. The Icecast Team has taken this data completely out of the mp3 data, and has provided it in a side channel (via UDP)." - Chad Armstrong (icemonk) You're better off having both these options enabled. :) In the 'Title' tab you can change the way XMMS presents the mp3 files to the playlist. ID3 is data stored in the mp3 file and can include Artist, Album etc. If you uncheck 'Use ID3 tags' XMMS will display the filename instead of the ID3 information. ID3V2 allows for a lot of extra data to be stored in the mp3 file, and don't suffer from the limitations of ID3V1, XMMS supports the same data that are available in ID3V1 but not the extra data. If a mp3 file contains both ID3V1 and ID3V2 tags, you might see something different that the 'file info' editor displays. If this happens, you might want to turn on 'Disable ID3V2 tags'. 'Override generic titles' is used if you do not want to use the generic titles defined in the preferences. See section 3.5.6. The 'ID3 format:' box allows you to alter in which order the information about the current song is displayed. Example: %p - %t (%a) [%y] will display something like "Laibach - Alle Gegen Alle (Nato) [1994]" available fields are: %p - Artist (ex: Laibach) %a - Album (ex: Nato) %f - File name (ex: laibach-allegegenalle) %F - File path (ex: /home/thomas/mp3) %e - File extension (ex: mp3) %t - Track name (ex: Alle Gegen Alle) %n - Track number (ex: 6) %y - Year (ex: 1994) %g - Genre (ex: Electronic) %c - Comment (ex: Cover of D.A.F) 3.6.1.5 Tone Generator ---------------------- Will generate a sinus tone or a mix of several sinus tones. To use it add a URL: tone://frequency1;frequency2;frequency3;... Example: tone://2000 will play a 2000Hz tone. Example: tone://2000;2005 will play a 2000Hz tone and a 2005Hz tone at the same time. Notice the 5Hz beats between the two tones. The use of this baffles me, but at least I can use it to annoy my neighbors dog. 3.6.1.6 Ogg Vorbis Player ------------------------- Plays OGG Vorbis encoded files, see http://www.xiph.org/ogg/vorbis/index.html for more information. 3.6.1.7 Wave player ------------------- This plugin plays as suggested, wave files. It supports 16bit and 8bit PCM wave files. 3.6.2 Output plugins -------------------- This type of plugins is what is used to send the audio data to your soundcard or alternative devices. 3.6.2.1 OSS Driver ------------------ This plugin is probably what most of you will use if your system is equipped with the OpenSoundSystem (www.opensound.com) drivers or compatible. Compatible drivers are ALSA with their OSS emulation, and Linux kernel sound drivers. In the 'Devices' tab you can change the soundcard which XMMS is going to use. If your driver have more than one dsp, you can change the one XMMS uses by enabling 'Use alternate device' and changing the '/dev/dsp' to suit your needs. If you have changed your Audio Device to another soundcard (if you for some reason have two cards) don't forget to change the 'Mixer device' setting to the soundcard you want to use. In the 'Buffering' tab you can change how much data the OSS plugin will buffer. The 'Buffer size' ranges from 200 - 10000ms. If you want the plugin to wait for the buffer to be filled before it starts playing the music change the 'Pre- buffer' value, this ranges from 0% - 90% of the 'Buffer size' value. In the 'Mixer' tab you can change which volume setting XMMS should change when you alter the volume from XMMS. Enable 'Volume controls Master not PCM' if you want XMMS to change the volume of all sounds instead of only PCM/wave sound. 3.6.2.2 Disk Writer ------------------- The 'Disk Writer' plugin will only output the music into a .wav file in the 'Path' you set in it's configuration window. 3.6.2.3 eSound Output --------------------- The 'ESD' plugin will use the 'Enlightened Sound Daemon' to playback the audio. It's useful if you want to be able to have sound effects in your programs and still be able to listen to music with XMMS. In the 'Server' tab of the configuration, you can tell the plugin where to send the audio data. Enable 'Use remote host' and enter the name/ip of the server and port to send to. This is probably only useful in a LAN environment, since the audio data is sent uncompressed to the remote ESD. The 'Buffering' tab works just like the 'OSS Driver' one. 3.6.3 Effect plugins -------------------- Effect plugins can alter the sound of the music you are listening to. 3.6.3.1 Echo ------------ Adds an echo effect to the audio. In the configuration you can change 'Delay' 'Feedback' 'Volume' and enable 'Surround Echo' 3.6.3.2 Extra Stereo -------------------- Enhances the stereo effect on the audio. In the configuration screen you can choose intensity. 3.6.3.3 Voice removal --------------------- A simple voice removal plugin, no configuration. 3.6.4 General plugins --------------------- Mostly used for controlling XMMS and passing data to other programs. 3.6.4.1 IRman Control --------------------- With this plugin you can use a remote control compatible with IRman to control XMMS. To set the functions on the remote control, open the configuration screen and choose on which device the IRman is on. Press the function you want to assign and then press the button on the remote which you want it to use for the current function. 3.6.4.2 Joystick Control ------------------------ This plugin allows you to control XMMS from a joystick. The configuration is rather straight forward and since I don't have a joystick, I'll leave it up you to figure it out. 3.6.4.3 Song Change ------------------- This plugin will run a defined program each time you change song in XMMS. In the configuration you can define what will happen when the song changes or when the Playlist reaches the end. Available information you might want to pass to the program are: %F - frequency (in hertz) %c - number of channels %f - filename (full path) %l - length (in milliseconds) %n - name %r - rate %s - name %t - playlist position example: echo "%n" >>~/xmms_log will fill your ~/xmms_log file with all the songs you have listened to. 3.6.5 Visualization plugins --------------------------- Eye candy plugins. 3.6.5.1 Blur scope ------------------- A simple blurring oscilloscope, in the configuration you can change the color with the standard GTK color dialog. 3.6.5.2 OpenGL Spectrum analyzer -------------------------------- Displays a rotating spectrum analyzer disc. In the configuration you can enable 3DFX fullscreen mode. If you have a DRI enabled version of XFree it will display it windowed but captures the mouse. (at least on my system). To leave fullscreen mode press the Escape key on your keyboard. The "z x c v b" keys are bound to the same as it is in the main window of XMMS. Use the arrow keys to change the X and Z axis, and Q + W to change the Y axis. Pressing Enter will change back to the default settings. 3.6.5.3 Simple Spectrum analyzer -------------------------------- Displays the oh-so-standard green-yellow-red spectrum bars. No configuration. 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 -t, --play-pause Pause if playing, play otherwise -f, --fwd Skip forward in playlist -e, --enqueue Don't clear the playlist -m, --show-main-window Show the main window -v, --version Print version number and exit. You can specify files on the command line, e.g: xmms file1.mp3 file2.mp3 file3.mp3 xmms *.mp3 xmms playlist.m3u (note: playlists must be named .m3u) If you do this while XMMS is running the current playlist will be cleared and the files/playlist specified on the command line will be used instead. To keep the current playlist intact use the -e option. 5. Features ----------- 5.1 Supported File formats ------------------------- OGG Vorbis 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: cin movies, cd audio shout/icecast 5.2 Supported Features ---------------------- Seeking in files Volume/Balance Shuffle play Repeat play Playlist editor Spectrum Analyzer One Line mode al'a WinShade in WinAmp Oscilloscope Timer Elapsed/Timer Remaining Plug-in system Output/Input/Effect/General/Visualization Equalizer Double Size option WinAmp 2.0 skin support (can use wsz files) GTK Requesters (with theme support) Streaming/Shoutcast(1.0/1.1)/Icecast support Auto remove borders if the WM has support for it Gnome/AfterStep/WindowMaker dock app Fast jump in playlist Scroll wheel support Save to wav option Saves http streams to HD HTTP authentication Plays MPEG layer 1/2/3 also wav and formats supported by mikmod Compiles and works on other UNIX's Proxy authentication support 6. Obtaining XMMS ------------------- How do I get it? XMMS is mainly distributed on http://www.xmms.org/download.html FTP Mirrors: ftp.xmms.org/xmms ftp.sunet.se/pub/multimedia/xmms ftp.stealth.net/xmms Want some skins made by linux users? http://www.xmms.org/skins.html http://themes.org/skins/xmms 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 view/preferences/Navigator/applications add a new handler set mimetype: audio/x-scpls set application: xmms %s hit the OK button and off you go! And for http://www.mp3.com Set mimetype: audio/x-mpegurl Set suffix: m3u Set application: xmms %s 7.2. Tips and Tricks ------------------- If you have a windows partition with WinAmp installed, a good idea would be to set the SKINSDIR variable to that dir. XMMS features some command line options like next/previous songs, those things can be binded to a key. I use AfterStep and the useless window keys for this. Here is an example 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, don't blame us if locate don't find the file you downloaded 3 minutes ago) 8. Bugs ------- There are no known bugs as of this moment, but if you do find one, please visit http://bugs.xmms.org and let us know. 9. Contact Email's ------------------ Peter Alm (developer) peter at xmms.org Håvard Kvålen (developer) havardk at xmms.org Thomas Nilsson (docs, support) thomas at xmms.org Olle Hällnäs (docs, support) olle at xmms.org For more information please visit http://www.xmms.org/contact.html