EFXmms - an Effects Stack Plugin
Version: 0.0.3
--------------------------------


Description:
------------
EFXmms is a standard xmms effect plugin adaption based on EFX - 
(a stand alone effect plugin loader/stack by Charles <int@linuxcore.com>
for esound, the Enlightened Sounddaemon , Read README.EFX for more details)

EFXmms provides the possibility to send the audio through a queue of
multiple effect plugins instead of one effect that XMMS originally
handles.

This plugin is currently far away from being stable, and my coding is,
to be honest, aweful. So consider it as experimental software, meaning:
no warranties and use at own risk.

Both EFX and my changes for EFXmms are distributed under the GNU General
Public License. For details about GPL read ./COPYING coming with this
distribution.


Requirements:
-------------
GNU libtool		ftp://ftp.gnu.org/pub/gnu/libtool/libtool-1.3.4.tar.gz

XMMS-1.0.x 		http://wwww.xmms.org

GLIB-1.2.x + GTK-1.2.x	http://www.gtk.org


Installation:
_____________
default:

configure
make
(as root)
make install


if you need to change the prefix where your xmms is installed:

configure --with-prefix=$(MYPREFIX)
make
make install


Usage:
------
EFXmms registers itself in XMMS as an effect plugin. To activate EFXmms just
enable it in the Effect Plugins list.

The configuration follows the original drag'n drop idea of EFX. 
You can drag your effect plugins from the available plugins list on the right
to the active plugins queue on the left, and the audio is processed in order
(top -> bottom) through each effect filter.

You can also change the order by dragging the effects to a new position
in the list.

By selecting a plugin on the list of available plugins on the right and
pushing the "about plugin" you can access its about dialog.

You can "configure" a plugin in the active list on the left either by
selecting it and pushing the configure button or double click on the
plugin's name.

Ok - saves your current effect queue and exits the configuration
Apply - saves your current effect queue
Cancel - exits the configuration


EFXmms was tested with following effect plugins:
-------------------------------------------------
Echo Plugin 1.2.4
Extra Stereo Plugin 1.2.4
FX Toolbox
Van Halen 1.1
Voice removal plugin 1.2.4
Speakersimulator
Crystality
DeFX
SndStretch

LiveIce 1.0.0	 (plugin produces gtk criticals -> crashes)
SOX Effects	 (plugin produces gtk criticals sometimes-> crashes)
Freeverb	 (sounds awesome, but no loading/saving of config :(
		  plugin produces gtk criticals -> crashes on reopen configure.)
Normalize Volume (unfortunately it locks up every other song here)



Some combinations you might experiment with:
--------------------------------------------
a reverb and surround sound output:
-> FXToolbox + Freeverb

an echo and surround:
-> Echo + FXToolbox

reverb and surround and chorus
-> Freeverb + FXToolbox + SOX [Chorus]

a reverbed, surrounded and a flanged output
-> Freeverb + FXToolbox + SOX [Flanger]

ICEcast-streaming a reverbed and surround stream
-> Freeverb + FXToolbox + LiveICE

ICEcast-streaming a reverb+surround stream with speed adjustment on the fly
-> Freeverb + FXToolbox + VanHalen + LiveICE

interesting combo for left/right balanced mods
-> FXToolbox -> DEFX (Chorus+Reverb on) ->Extra Stereo Plugin

torturing the neighbours with a feedback loop;)
-> Freeverb + Freeverb + Freeverb


Known Problems:
----------------
- EFX does not like buggy effect plugins. It crashes very easily if
  a plugin is making trouble. E.G.:

    "Configuring" Freeverb two times is impossible on my linux box, 
    due to some bug in Freeverbs GTK code. :(((

    Sox also sometimes produces GTK-Criticals and crashes randomly :(((         

    volnormalizer 0.8.1 locks up very frequently here.

- If a effect plugin converts the sample rate or the channels from e.g. stereo
  -> mono or vice versa (like the echo effect). the following plugins are
  called with the old values efxmms was called. 
  The problem could be avoided by using those plugins as the last one
  in the list (after all we are a stupid effect plugin ;)

- Thanks to Olle from the XMMS team EFXmms is now using mutex locking/
  unlocking while editing the active plugin lists. It seems to work
  alright, and I got no bugreports so far concerning it.

  So from now on, configuring the queue is ok when xmms is playing ;)

hope you like it. Have fun

Michael Doering


Credits:
--------
- thanks to all the people who gave feedback and contribution, so far.

- Charles <int@linuxcore.com> for writing the original EFX on
  which EFXmms is mostly based.

- Heikki Orsila and David Le-Corfec for testing EFXmms

- The XMMS authors for their X MultiMedia System.
    Olle Hllns for a lot of help, fixes, enhancements and contributions


Contact:
--------
EFXmms project page:
http://sourceforge.net/projects/efxmms/

For help, suggestions and contributions write to:
Michael Doering <mld@users.sourceforge.net>


Other projects I am involved in:
--------------------------------
UADE - Unix Amiga Delitracker Emulator, written by Heikki Orsila
(http://shd.ton.tut.fi/uade.html)

Prowiz for PC - A music file ripper / converter, 
written by Sylvain Chipaux