-----------------------------------------------------------------------
** Ecasound - User-visible changes (NEWS)      (last edited: 091001) **
-----------------------------------------------------------------------

About the version numbers... "vX.Y[.Z][devT]" :

  X = major version  - the overall development status
  Y = minor version  - represents a set of planned features (see TODO);
		       an even number means stable while odd marks 
		       development releases
  Z = revision       - small changes to major.minor version (optional)
		
  devT = dev-release - development releases leading to the next stable
		       version

-----------------------------------------------------------------------

Last officially released version is -*> v2.0.3 *-

09102001 (v2.1dev1)
	- added: chainsetup prints a warning if an unknown
	         buffering mode is given to -B:mode 
	- changed: 'rt' buffering mode is preferred over 
		   'rtlowlatency' if no chain operators are 
		   present, and multitrack mode is not active
        - changed: more improvements to double-buffering
	- fixed: critical bug when running in -B:rwlowlatency 
		 mode (caused system-lockups with ALSA 0.9.x
		 oss-emulation)
	- fixed: explicitly specifying -z:nointbuf had no 
		 effect
	- fixed: setting double-buffer length didn't have 
		 any effect (given either in bmode defaults 
		 or as -z:db,dbsize)
06102001 (v2.1dev0)
	- edi-entries: edi-2, edi-6, edi-10, edi-15
	- added: more recent config.guess and config.sub to 
	         the dist package  [juekawa]
	- added: new feedback-% param to -etd effect, doesn't
		 affect old presets using -etd [smassy]
	- added: ALSA device name 'default' is used if no 
                 other name is given ('-o:alsa' is equivalent
	         to '-o:alsa,default')
	- added: special case for mapping "ecasound file.ecs"
		 to "ecasound -s:file.ecs"
	- added: implementation of edi-6; the -z:db
		 is now completely transparent to other 
		 parts of ecasound
	- added: eiam - new commands: cs-set-position-samples,
		 cs-get-position-samples, ai-set-position-samples,
		 ai-get-position-samples, ao-set-position-samples,
		 ao-get-position-samples
	- added: edi-15 - '-B' option for selecting default 
		 buffering mode (see ecasound man page)
	- added: edi-15 - ecasoundrc bmode-defaults options; 
		 obsoletes old default-buffersize, etc options
	- added: various improvements to multitrack sync-mechanism 
		 to make it work reliably in all buffering modes
	- added: ladspa.h added back to distribution; it is however
		 not installed to incdir/ecasound/ladspa; also 
		 already installed ladspa.h is preferred over
		 the local header file version
	- added: S.Massy's ecalength added to ecatools - 
		 see ecalength(1) manual page (edi-10)
	- added: new 'typeselect' audio object type that can 
		 be used to override the object type; see 
		 man ecasound(1) for details
	- changed: library version changed to 8.0.0
	- changed: use of kvutils/definition_by_contract 
		   dropped; more lightweight kvutils/dbc.h
		   will be used from now on
	- changed: more strict option parsing; now a warning
	  	   is printed if an unknown option is seen;
		   parser also won't accept known options
		   with invalid or incorrect parameters
	- changed: use of libstdc++ namespace now explicitly
		   marked using the 'std::' prefix [rpolton]
	- changed: new layout for saved ecs-files
	- changed: docs - converted ecasound user's and 
		   programmer's guide from yodl to latex 
	- changed: shocking changes to startup printouts :)
	- fixed: gcc3.x fixes to ALSA 0.5.x plugin [juekawa]
	- fixed: problems with ALSA 0.9beta7 (dlopen() issue)
	- fixed: minor samplerated bug with LADSPA plugins
	- fixed: gcc3.x failed on certain glibc2.1 headers 
		 if optimization was enabled (-O2)
	- fixed: pyecasound linking failed in certain 
		 circumstances
	- fixed: ecasound.spec - dropped the hardcoded python 
	         module path that was passed to configure
	- fixed: seg.fault if opening wav/raw files for 
		 output failed for some reason (access
		 denied, etc)
	- fixed: non-zero defaults for -r:x and -z:db,y [smassy]
????2001 (v2.0.4)  -** stable release **-
	- note! see ecasound-2.0 branch; this NEWS section 
		will updated later
28092001 (v2.0.3)  -** stable release **-
	- added: more recent config.guess and config.sub to 
	         the dist package  [juekawa]
	- changed: -z:intbuf made the default once again
	- changed: ecasoundrc - default-to-internal-buffering
		   renamed to default-to-max-internal-buffering
		   to avoid conflicts with the old defaults
	- fixed: gcc3.x fixes to ALSA 0.5.x plugin [juekawa]
	- fixed: problems with ALSA 0.9beta7 (dlopen() issue)
	- fixed: minor samplerated bug with LADSPA plugins
	- fixed: gcc3.x failed on certain glibc2.1 headers 
		 if optimization was enabled (-O2)
	- fixed: pyecasound linking failed in certain 
		 circumstances
17082001 (v2.0.2)  -** stable release **-
 	- added: current position tracking to loop devices
	- added: more verbose xrun info from ALSA 0.9.x devices
	- added: info about the new perl bindings to ECI API docs
	- added: Eric Tiedemann's alternative Python ECI 
		 interface, eci.py, added to pyecasound [est]
	- added: support for gcc 3.0 [juekawa]
	- changed: improved configure checks for python include 
		   and library directories
	- changed: -tl now works without -t
	- changed: new algorithm for selecting initial param 
		   values for LADSPA plugins
	- changed: update ogg input and output support to
		   work with ogg vorbis 1.0rc2
	- changed: changed some of the returned error codes
	- fixed: selecting a non-existant chainsetup could crash 
		 ecasound
	- fixed: --enable-audiofile actually disabled the use of 
		 libaudiofile (!)
	- fixed: ecaplay - if ecaplay is unable to play a file, 
		 instead of exiting it now skips to the next file
	- fixed: giving a non-integer number of delays to -etd 
		 caused  a seg.fault
	- fixed: eiam - issuing copp-select + copp-get caused
		 a crash if no cop was selected
	- fixed: bugs in handling infinite length ewf sources
	- fixed: --disable-oss still required to sys/soundcard.h 
	         to be present [rob]
	- fixed: bug in sending MIDI-MMC messages [robstr]
	- fixed: bug in ecasoundc cleanup routines [rjpoelstra]
05062001 (v2.0.1)  -** stable release **-
	- added: ecasoundrc - default-to-internal-buffering; select
		 the default between -z:intbuf and -z:nointbuf
	- added: alternative C ECI implementation providing reentrant
		 access to the library; the new routines have a '_r' 
		 postfix and are located in libecasoundc [ajeanneau]
	- changed: completely rewritten mp3 header parsing; should 
		   fix most of the compatibility problems
	- fixed: disk buffers weren't properly flushed in -z:db mode 
		 when changing or setting processing position
	- fixed: bugs in assigning LADSPA plugin audio ports to 
	  	 ecasound chain channels
	- fixed: configure script failed if arts was installed 
	  	 without the devel files (arts-devel) 
	- fixed: bug in the MIDI-server code caused core dumps in
		 certain situations
	- fixed: bug in querying -klg parameter status
	- fixed: eiam - giving certain invalid arguments to 'cop-add'
		 and 'ctrl-add' crashed ecasound
	- fixed: bug in closing .raw files [smassy]
	- fixed: eiam - cop-inxed-select renamed to cop-index-select
	- fixed: bugs in loop device channel handling
	- fixed: changing internal sample rate caused problems to 
		 the noise gate effect (-enm)
02052001 (v2.0.0)  -** stable release **-
	- added: -klg - a generic linear envelope; a controller source
		 that can be used to map custom envelopes to chain 
		 operator parameters [artham]
	- fixed: segfaults when trying to access non-existing preset
		 parameters
	- fixed: segfault if tried to copp-get without first
		 selecting a parameter with copp-select
	- fixed: few bugs in ewf looping routines
	- fixed: 'make uninstall' forgot some files and dirs
	- fixed: bug in ALSA 0.9.x xrun handling
24042001 (v1.9dev6)
	- added: eiam - cs-setpos, cs-set-position; aliases for setpos
	- added: eiam - cs-getpos, cs-get-position; aliases for getpos
	- added: eiam - cs-rewind and cs-forward; aliases for rewind 
		 and forward
	- added: eiam - cs-get-length; alias for get-length
	- added: ecatools - repeated ctrl-c causes ecaplay to exit
		 immediately (like mpg123)
	- added: MIDI options now properly saved to ecs files
	- added: eiam - c-index-select, c-iselect, cs-iselect,
		 cs-list, ai-list, ao-list, ai-iselect, ao-iselect
	- added: eiam - cop-index-select, cop-iselect as aliases for
		 cop-select
	- added: eiam - copp-index-select, copp-iselect as aliases for
		 copp-select
	- added: eiam - ctrl-index-select, ctrl-iselect as aliases for
		 ctrl-select
	- added: eiam - ai-get-format and ao-get-format
	- added: eiam - cop-selected, copp-selected and ctrl-selected
	- added: eiam - cop-list, copp-list, ctrl-list
	- removed: because of the continuing licensing problems,
		   ladspa.h was removed; to compile ecasound with 
		   LADSPA support, the LADSPA SDK has to be installed
	- changed: eiam - separate commands sets for operating on audio 
		   inputs (ai-) and outputs (ao-); affects all aio-* 
		   commands except aio-register and aio-status
	- changed: eiam - dump-aio-* separated into dump-ai-* and
		   dump-ao-*
	- changed: eiam - cs-length renamed to cs-set-length
	- changed: updated ecafixdc and ecanormalize to use the new
		   temp file creation routines
	- changed: -z:nointbuf is now the default; use -z:intbuf to
		   enable the old default behaviour
	- changed: eiam - ai-index-select and ao-index-select now 
		   take an integer parameter
	- changed: eiam - c-name renamed to c-rename
	- changed: eiam - cs-set renamed cs-set-param
	- changed: eiam - cs-format renamed cs-set-audio-format
	- changed: eiam - cs-loop renamed to cs-toggle-loop
	- fixed: small bug fix to ALSA 0.9.x support
	- fixed: eiam - ctrl-remove bug fix, take two :)
22032001 (v1.9dev5)
	- added: eiam - new aliases 'getpos', 'c-set-position',
		 'aio-set-position', 'aio-getpos'
	- added: eiam - 'int-cmd-list', 'int-version-string'.
		 'int-version-lib-current', 'int-version-lib-revision',
		 'int-version-lib-age'
	- added: eiam - added a section about 'realtime commands' 
		 to ecasound-iam(1) man page
	- changed: new system for creating temporary files; 
		   all temps are put into a separate directory;
		   $TMPDIR and $TMP are used if available, otherwise 
		   defaults to /tmp
	- fixed: mp3 output broken
	- fixed: more zombie-problems with mpg123, lame, ogg123 
	         and others
	- fixed: eiam - 'fw' and 'rw' commands didn't work properly
		 if -z:db was enabled and audio object sample rate
		 was different than internal sample rate
	- fixed: eiam - 'ctrl-remove' removed the selected chainop,
		 not the controller as it should have
	- fixed: eiam - seg.fault when using 'cs-edit' to configure
	         a connected chainsetup
06032001 (v1.9dev4)
	- added: -C - disable interactive mode; reverse op. for -c
	- added: -X - open outputs for updating; rev.op. for -x
	- added: -r:-1 to disable raised-priority mode		
	- added: -z:nopsr, -z:noxruns and -z:intbuf ; rev.ops for
		 existing -z options
	- added: 'user-resource-directory' define to ~/.ecasoundrc;
		 see ecasoundrc(5) for details
	- changed: ecasoundrc - the default midi-device has to be 
		   given using the new 'type,device' syntax; defaults
		   to 'rawmidi,/dev/midi'
	- changed: man pages are now distributed in nroff 'man' format
	- changed: audio object regexps are now case insensitive - 
		   for instance both file.mp3 and file.MP3 are now
		   recognized as mp3 files
	- fixed: mpg123 instances weren't always properly cleaned
	- fixed: loop-device code wasn't working
	- fixed: more ewf-fixes
	- fixed: removal of static object maps might cure some
		 C++ compatibility problems (no user-visible changes) 
	- fixed: if connected, trying to remove the last chainsetup
		 failed (possible core dump if debug disabled)
	- fixed: when used as inputs, 'null' and 'rtnull' now produce
	  	 silence instead of random data (=noise)
02032001 (v1.9dev3)
	- added: ecaplay - ctrl-c skips to the next file
	- changed: -Md syntax to '-Md:rawmidi,device_name', where
		   'rawmidi' specifies the type while 'device_name' 
	  	   refers to a file/device name
	- fixed: MIDI-thread hang when exiting ecasound 
	- fixed: various ewf-related fixes
	- fixed: eiam - rounding errors with 'rw' and 'fw' commands
	- fixed: ecaplay - seg.faults when playing multiple files
	- fixed: object cleanup was not properly done if ecasound 
		 received signals while multiple threads were 
		 running ("pure virtual method called" warnings)
14022001 (v1.9dev2)
	- added: -z:nointbuf - minimize the use of internal buffering
	         done by rt-devices
	- added: -z:xruns - stop processing if an xrun occurs
	- added: '--disable-ncurses' configure switch; ncurses/termcap
		 is still required during compiling, but with this,
		 ncurses/termcap is ignored during linking
	- added: -Md:device option for specifying MIDI-devices
	- added: -Mms:device_id; send MMC start/stop to MIDI devices
	- added: -Mss; send MIDI-start/stop (note! MIDI-clock is 
		 not sent)
	- added: support for ALSA 0.6.x named pcm-devices; the new
		 syntax is '-[io]:alsa,pcm_name'; alternatively, 
	         '-[io]:alsahw,card,dev,subdev' and '-[io]:alsaplugin,
		 c,d,sd' can also be used; doesn't affect 0.5.x and 
	         older ALSA plugins
	- added: eiam-cmds; cs-is-valid
	- changed: support for -z:nointbuf to OSS-devices (/dev/dsp)
		   and ALSA 0.5.x plugin
	- fixed: severe bugs with -km (midi-routines)
07022001 (v1.9dev1)
	- notice: new version numbering scheme
	- added: eiam-cmds; set-position, get-position, get-length, 
		 cs-connected, cs-selected, engine-status,  
		 aio-get-position, aio-get-length, aio-selected,
		 ctrl-select, ctrl-remove, cop-select, copp-select, 
		 copp-set, copp-get, c-list, cs-list
	- added: eiam command return type documentation to
	 	 ecasound-iam man page
	- added: ecasound detects all eiam return types and
		 automatically prints their values after commands
		 are issued
	- added: example code (under ./examples) - ecidoc_example.c, 
		 ecidoc_example.cpp, ecidoc_example.py, normalize.py
	- added: -kog - a new generic oscillator
	- added: lots of new documentation - check the examples page,
		 user's guide and the ecasound faq 
	- added: better handling of output error conditions (out of
		 disk space, etc)
	- added: -eS - audio stamper
	- added: -ksv - control source that analyzes audio stamp
  		 volume statistics and creates control data from 
		 the results
	- added: -z:nodb - disable double-buffering
	- removed: eiam-cmds; u, a, cstatus, l, fstatus, estatus
	- changed: -kf - 'mode' parameter added
	- changed: format of the file 'generic_oscillators'
	- changed: ECI - last_list_of_strings() to last_string_list()
	- changed: the way gate operators work; instead of muting 
		   the chain, they now truncate the passing buffers -
		   in future, amplify+controller (-ea + -k)
		   combinations can be used in the same manner as the
		   old gate operators
	- changed: 'ecasound-config --flags' now prints includedir
		   instead of includedir/ecasound
	- changed: updated ALSA 0.6.x support to match CVS-20010122
	- changed: a better implementation of MIDI i/o routines
	- fixed: "-x -i file.ext" style cmd-line arg sequences weren't
		parsed correctly [jhall]
	- fixed: ECI - command_float_arg() was broken (all languages)
	- fixed: when exiting console-mode ecasound with "quit", 
	         ecasound object weren't properly destructed causing
		 all kinds of weird behavious (especially with wav-
		 files) - [smassy]
	- fixed: more FreeBSD 4.x related fixes [beaupran]
	- fixed: ogg vorbis output fixes [nolan_d]
	- fixed: gcc 2.96 (RH7.0) related fixes [swharris]
	- fixed: ewf-file parsing not working [smorris]
07122000 (v1.8.5d15)
	- added: tremolo effect (-eemt) [rcs]
	- added: -z:db; i/o double buffering layer is back! - 
		 after complete rewrite, db-mode now supports all
		 non-realtime audio objects, and works both for 
		 input and output
	- added: default-double-buffer-size added to ~/.ecasoundrc
	- added: double buffer size can be given as the 2nd 
		 argument of -z:db,dbsize
	- added: optional argument for -r:sched_priority; specify 
		 the static rt-priority; see ecasound(1)
	- added: default-schedpriority added to ~/.ecasoundrc
	- added: 32bit support for OSS/Linux
	- added: comments lines (#-prefixed lines) allowed when
		 loading chainsetups from file
	- added: ecatools - ecasignalview added to the package; 
		 see ecatools(1) man page for details
	- added: new modules - libecasoundc and pyecasound
	- added: --disable-pyecasound configure switch
	- added: './contrib' and './examples' directories added
		 to the distribution package
	- added: ecasound control interface documentation added - 
		 see 'Documentation/programmers_guide/eci_doc.html'
	- added: eiam - new commands; c-selected
	- added: extended support for parameter descriptions; 
		 all LADSPA parameter hints now supported
	- added: support for result paramerers, ie. values resulted
		 from processing/analyzing
	- added: ECI - error() added
	- removed: the "LADSPA/" prefix removed from plugin labels
	- removed: support for underscores in EIAM-commands
	- changed: more intelligent handling of resource files
	           (for instance ~/.ecasoundrc and preset files)
	- changed: output produced by -ev
	- changed: updated ALSA 0.6.x support to match pcmfinal-state
	- changed: minor changes to multitrack sync code; should 
		   now be even more accurate
	- changed: triggering of realtime outputs; now all rt-outputs
		   are prefilled with two buffers before triggering
	- changed: Mandrake and PLD Linux RPM-spec files moved into
		   the new './contrib' directory
	- changed: -ev and -ezf now report their results as
		   output parameters (normal chainop params)
	- fixed: nasty bug in effect preset mapping
	- fixed: -ei:0 caused problems
	- fixed: cdr-file endianess (should be _always_ big endian)
	- fixed: yet more fixes to mono mp3 input handling
	- fixed: input problems (easily triggered by using -sr)
		 with .mp3, .mid and mikmod modules
	- fixed: c-setpos didn't work if chainsetup wasn't connected
	- fixed: commas in descriptions of LADSPA plugin parameters
		 confused ecasound, and usually ended up crashing
		 (triggered at least by the hermes filter)
07112000 (v1.8.4d15)
	- added: pulse gate (-eemp); can be used to generate a
	         metronome signal [rcs]
	- added: support for preset parameters - see file 
                 'effect_presets' for examples [artham]
	- added: support for MIDI files using Timidity++
	- added: input and output of Ogg Vorbis files (.ogg) using 
		 ogg123 and vorbize
	- added: version control to internal plugins; when compiling,
		 libecasound libtool interface number is stored to 
		 the plugin object files
	- added: updates and additions to ecasound programmer's guide
	- added: support for noninterleaved streams to ALSA 0.6.x plugin
	- added: 4th parameter to -f, 'i' (default) indicates interleaved 
		 stream format while 'n' refers to noninterleaved
	- added: -D option; prints debug messages to stderr
	- removed: -m:mthreaded and -z:db (obsolete)
	- changed: tries to load all internal plugins even if some 
		   plugins were disabled during compile-time; this 
		   makes it possible to have multiple versions of same
                   plugin tupe (for instance, plugins for different 
		   ALSA versions, etc)
	- changed: ecasoundrc - mikmod-path and -args combined into
		   more general mikmod-cmd
	- fixed: compile time problems under Solaris 2.6 and FreeBSD
	         4.1  [beaupran, rcampbel]
	- fixed: ncurses fixes (the ever-bold bug) [artham]
	- fixed: cs-loop seg.faulted
	- fixed: stripped libtool version info from plugins [wrobell]
	- fixed: configure-time relocations didn't affect the default
		 paths of effects presets and LADSPA plugins [juekawa]
	- fixed: invalid/non-existant files caused problems for all
		 utils in ecatools package
	- fixed: sync-related ALSA 0.6.x fixes
	- fixed: better handling of mp3, ogg, timidity and mikmod
		 related errors
	- fixed: -sr:srate didn't work (broken in 1.8.3d15)
	- fixed: problems with ALSA 0.6.x pcm plugins
26092000 (v1.8.3d15)
	- changed: code for parsing command-line arguments rewritten; 
		   now reports about invalid arguments
	- changed: default precision when printing time in seconds 
		   changed to 3 (msec precision)
	- fixed: ALSA 0.6.x updates
	- fixed: few bugs in aRts plugin
16092000 (v1.8.2r14)  -** public release **-
	- added: --enable-alsa-rawmidi configure option - this is a 
		 temporary solution for supporting ALSA rawmidi until
		 we have a proper plugin-based MIDI-subsystem
	- fixed: some broken mp3 headers caused ecasound to misinterpret
		 mp3 sampling rate
	- fixed: problems when handling mp3 files with white-space in 
		 the filename [rsassman]
	- fixed: incorrect riff-wave header bug fixed [artham]
	- fixed: in some cases, controllers weren't parsed correctly
	- fixed: annoying clicks with phaser, flanger and chorus
01092000 (v1.8.1d14)
	- notice: all qt-related stuff put to separate packages
	- added: support for internal plugins; modules using external 
		 libraries (ALSA, aRts, libaudiofile, etc) are now 
  	         dynamically loaded on runtime (no unnecessary 
                 dependencies); installed by default to 
  		 (prefixdir)/lib/ecasound-plugins; see also
	         ecasoundrc(5) man page for related entries
	- added: new ecasound-plugins rpm package
	- added: mp3 channel-count and sampling rate from mp3 header
	- added: notifies user if internal-plugin directory isn't found
	- removed: support for native ALSA rawmidi temporarily removed
	          (while waiting, use ALSA's OSS-emulation)
	- changed: aRts support enabled by default
	- changed: behaviour of -ete effect's wet-% parameter
	- fixed: system readline related fixes (wrobell)
	- fixed: ewf - crashed if looping was enabled and 
	         'start-position' > 'length'
	- fixed: few ewf output fixes
	- fixed: compile problems with ALSA 0.5.x
	- fixed: ecatools hang if interactive-mode enabled by default
	- fixed: ALSA 0.6.x support working again
25062000 (v1.8.0d14)
	- added: ecaconvert - a new ecatools app; converts a set of 
		 files to target file format
	- added: support for ALSA 0.6.x (plugin and direct) [jhall]
	- added: ia-mode - 'cs-list', 'c-list', 'aio-list',
		 'cop-list'; nothing new, but some might find these 
		 a bit more intuitive to use than various status cmds
	- added: more info about audio object status
	- added: --enable-sys-readline (compile against already 
		 installed libreadline) [wrobell]
	- added: rpm-spec file for PLD-Linux - ecasound.pld.spec [wrobell]
	- added: support for destdir env.variable [wrobell]
	- added: support for float samples (-f:f32_le and -f:f32_be)
	- added: support for IEEE754 wav files (float)
	- added: --enable-arts - use aRts daemon for audio input and
	  	 output, see ecasound(1) man page for more info
	- added: limiter effect (-eal:limit-%)
	- changed: major changes in source tree organization
	- changed: mp3 input and output now possible with all decoders
		   and encoders which support standards i/o streams;
		   still defaults to mpg123 and lame - see 
  	    	   ecasoundrc(5) for details
	- changed: qtecasound - all shortcut keys are now ctrl-some_key
23062000 (v1.7.9r13)  -** public release **-
	- fixed: stdin, stdout and '-' were all more or less broken
	- fixed: loop devices weren't saved correctly
05062000 (v1.7.8r12)  -** public release **-
	- added: files 'TODO' and 'ecasound.mdk.spec'
	- added: support for LADSPA_PATH env.variable
	- added: support for multichannel LADSPA plugins
	- added: -eli options, select a LADSPA plugin using its 
		 unique id-number
	- added: -ete - a new, more advanced reverb (thanks to
		 Stefan M. Fendt for the algorithm!)
	- changed: qtecasound - major layout changes
	- changed: ecatools renamed to ecaplay, ecanormalize and
 		   ecafixdc
	- changed: updated the 'INSTALL' file
	- fixed: qtecasound - bugs in debug output
	- fixed: some minor bugs in LADSPA support
	- fixed: compile problems with 2.95.x
	- fixed: errors loading some LADSPA plugins
	- fixed: the ".mp3.wav" bug
	- fixed: config.h fixes
03052000 (v1.7.7r11)  -** public release **-
	- added: --version and --help command-line options (for GNU 
		 compliance)
	- changed: documentation updates
	- fixed: some compile-time problems
	- fixed: chain-muting wasn't working properly
26042000 (v1.7.6d11)
	- added: new input/output device 'alsaplugin' - similar to 
		 normal ALSA pcm-devices, but uses the pcm-plugin 
		 layer (automatic sample rate and format conversions)
	- added: safety-checks against invalid command-line parameters
                 and ia-mode commands (adding inputs, outputs,
                 parameter control)
	- changed: much faster communication between engine and ui
	- changed: qtecasound - replaced some old widgets with 
		   new libqtecasound widgets
	- changed: ia-mode - c-clear now works on-the-fly
	- fixed: qtecasound - core dumps when removing audio objects
	- fixed: qtecasound - many minor bugs
	- fixed: core dumps when adding parameter controllers for 
		 non-existent chainops
	- fixed: include-file problems when compiling in a separate dir
	- fixed: problems in mixing multiple mono-inputs
12042000 (v1.7.5d11)
	- added: ALSA support for s32_le and s32_be sample formats
	- added: numerous fixes and small improvements to ALSA 0.5.x 
		 support
	- removed: dynamic loading of ALSA support - as ALSA is
		   getting bigger and bigger, maintaining dynamic 
		   support has become more and more difficult - 
		   this means that ALSA support isn't anymore included 
		   in binary distribution packages - to get native 
		   ALSA support, you have to compile ecasound from 
		   sources - of course you can always use ALSA's 
		   OSS-emulation layer 
	- changed: pitch-shifter (-ei) improvements [artham]
	- changed: above improvements also affect normal resampling
	- changed: ia-mode commands cop-add, cop-remove and ctrl-add
		   can now be used with connected chainsetups (add 
		   effects on-the-fly, etc)
	- changed: updated LADSPA support to v1
24032000 (v1.7.4d11)
	- added: summary info to configure-script 
	- changed: upgraded LADSPA support to API v1-rel1
	- changed: default directory for LADSPA plugins is now
		   /usr/local/lib/ladspa (see ecasoundrc(5))
	- fixed: latency-problems with ALSA pcm-loopback
	- fixed: thread scheduling problems with '-r'
	- fixed: compile problems under Solaris
	- fixed: many .ewf bugs
	- fixed: compile problems with ALSA 0.4.x
	- fixed: few minor bugs in -ev and -ezf
21032000 (v1.7.3d11)
	- added: initial LADSPA support (-el), see ecasound(1) man page
	- added: 'ladspa-plugin-directory' entry to ~/.ecasoundrc
	- added: ia-mode commands 'aio-register', 'cop-register',
	         'ctrl-register', 'preset-register', 'ladspa-register'-
		 these commands list all registered object types
	- changed: a more compact command-line help
	- fixed: nasty bug when adding effects on-the-fly (caused
	         infinite recursion inside the object maps)
19032000 (v1.7.2d11)
	- added: support for ALSA 0.5.x pcm-loopback
	- added: more effect presets
	- added: ia-mode - 'aio-select-input' and 'aio-select-output'
	- added: ia-mode - dump-* commands, see ecasound-iam(5) for
	         the details
	- removed: /dev/snd/pcmCxDy notation for specifying ALSA 
 		   devices
	- changed: ia-mode - if aio-add-output is executed without 
		   arguments, the default output is used
	- fixed: libqtecasound was compiled even if --disable-qt
	         was specified
	- fixed: qtecasound - libqtecasound header include path 
		 was wrong
	- fixed: ia-mode - problems with '_' -> '-' conversions
	- fixed: -erc, -erm and -epp didn't work as expected if 
		 both mono and stereo files were present in the
		 active setup
	- fixed: minor bugs in ALSA pcm2 support
	- fixed: bugs in OSS capability checking (triggering and
	         realtime caps), thanks to Rui Sousa for the fix
	- fixed: bugs in internal looping
26022000 (v1.7.1d11)
	- added: a new effect preset system, see user's guide and 
		 ecasound man page for more info
	- added: lots of default presets, see file 'effect_presets'
	- added: an allpass filter (-efa)
	- added: a comb filter (-efc)
	- added: a simple pitch shifter (-ei)
	- added: flanger (-etl), chorus (-etc) and phaser (-etp)
	- added: a new, faster multi-tap delay (-etm)
	- removed: old effect preset files and command line options
	- changed: rewrote the normal compressor (-ec), now takes 
		   the threshold argument as percents
	- changed: updated Stefan Fendt's rc-lowpass, now a 3rd
		   stage, 36dB lowpass filter
	- changed: parsing of command line parameters - most changes
		   don't affect the user-interface side
	- fixed: ecatools crashed with multiple inputs
17022000 (v1.7.0d11)
	- added: qtecasound - chainsetup status
	- added: automatic grouping of realtime and non-realtime
		 audio objects for better performance
	- added: two-stage linear envelope (-kl2)
	- added: 'run' command to ia-mode - like 'start' but blocks
		 until processing is finished
	- added: '-kx' option - this can be used for controlling 
		 controller parameters with other controllers
	- added: ia-mode command "ctrl-status" (controller status)
	- added: qtecasound - controller status pushbutton
	- added: qtecasound - a nicer looking debug-window
	- added: libqtecasound - a new subpackage containing 
		 generic GUI objects
	- added: support for chain-to-chain looping, see ecasound(1)
		 manual page for more info
	- removed: qtecasound - waveform view
	- changed: ecawave is now the default ext. wave-editor
	- changed: all shortcuts are now alt+key combinations
	- changed: renamed ia-mode commands "cop-add-controller" 
		   to "ctrl-add" and "cop-remove-controller" to
		   "ctrl-remove"
	- changed: qtecasound - some renamed pushbuttons and 
		   reassigned shortcut keys
	- changed: changes in debugging subsystem, affects '-d'
	           behaviour, see ecasound man page
	- changed: rewritten .ewf support with lots of new 
		   features - see ecasound user's guide for more
	           detailed info
	- fixed: qtecasound - position slider wasn't working
	- fixed: instead of just outputting raw ANSI-codes, 
		 standard ncurses routines are now used
	- fixed: recording from realtime inputs didn't work 
		 when processing length was not set
	- fixed: setting processing length didn't work in normal 
		 passive mixing mode (multiple chains)
	- fixed: overrun/underrun problems with ALSA 0.5.x
30012000 (v1.6.13d11)
	- changed: rtnull reports about over/underruns now
		   level-4 debug messages
	- fixed: some problems in mixmode selection
29012000 (v1.6.12r10)  -** public release **-
	- added: support for s24_le, s24_be, s32_le and s32_be 
		 sample formats
	- added: support for ALSA-subdevices (-o:alsa,card,dev,subdev)
	- added: to ia-mode - 'c-deselect', 'c-select-add'
	- added: improved multitrack-sync
        - added: 'default-double-buffer-size' added to .ecasoundrc
	- changed: ALSA pcm2-devices now opened in nonblock-mode
	- changed: ecasound can now be compiled in a separate obj dir
	- fixed: bugs in channel routing and output mixing
	- fixed: delay effects dumped core with mono inputs
14012000 (v1.6.11d10)
	- added: -ef4 - 2th-order, 24dB filter which simulates
	         an analog active RC-lowpass filter - submitted by 
		 Stefan Fendt
	- added: support for ALSA 0.5.x (pcm2, no loopback)
	- removed: support for ALSA 0.3.1 and older
	- changed: 'cs-edit' now possible while processing
	- changed: raised-priority mode moved from chainsetups 
		   to session-level (isn't saved to ecs-files, etc)
	- fixed: removed the huge delay in (dis)connecting chainsetups
	- fixed: 'fw', 'rw', 'setpos' crashed if executed without
		 parameters 
	- fixed: under/overrun problems with ALSA drivers
	- fixed: stdin/stdout not working
	- fixed: c-add and c-select didn't accept multiple parameters
	- fixed: problems with -etf memory handling
03012000 (v1.6.10d10)
	- added: a realtime null audio device 'rtnull' - simulates
		 soundcard behaviour (warns about over/underruns)
	- changed: 'make install' isn't forced anymore
	- changed: mono noisegate (-enm) replaced with a new
	           multichannel noisegate
	- changed: behaviour of -r; now changes scheduling policy 
		   to SCHED_FIFO (realtime) - beware! this gives 
                   better performance, but might cause total 
		   lock-ups if something goes wrong
	- fixed: improvements to autoconf scripts; --enable-qt and 
		 --disable-qt now work as expected - thanks to 
		 Vadim Tkachenko for the patch
	- fixed: seg.faults with some files when using -z:db
	- fixed: many bug fixes to delay effects (-etf, -etr and -etd)
	- fixed: nasty bug in ewf-routines
	- fixed: double-buffered mode (-z:db) sometimes discarded the
		 last few bytes before end-of-file
151299 (v1.6.9r9)  -** public release **-
	- notice: changes in version numbering
	- added: linear envelope (-kl), useful for fade-ins/outs
	- changed: signal limiting code moved from chains to output 
		   mixing stage - when processing multichain setups, 
		   this is faster and gives more dynamic headroom
       	- changed: mikmod default args now "-p 0 --noloops"
	- changed: many improvements to input double-buffering (-z:db)
		   and multithreaded mixmode (-m:mthreaded)
	- fixed: bug in testing chainsetup validity
	- fixed: piping bugs that caused mpg123, lame and mikmod
		 to hang in some situations
	- fixed: mono noise-gate (-enm) wasn't working
	- fixed: changes to -s broke -sr in 1.6.8r8
041299 (v1.6.8r8)  -** public release **-
	- added: cs-index-select (see ecasound-iam(1))
	- added: more info fiels to cs-status
	- added: configure check for Qt version (must be >= 2.x)
	- fixed: cs-status didn't show all chainsetups
	- fixed: problems with cs-load
	- fixed: processing ended prematurely when mixing 
	         multiple chains to one output
	- fixed: some uses of C++ namespaces caused compile errors 
		 with older gcc versions
	- fixed: in addition to '-s:cs_file.ecs', '-s cs_file.ecs'
		 is now also accepted
251199 (v1.6.7r7)  -** public release **-
	- changed: some not-so-important runtime info (opening and 
		   closing devices, etc) is now considered to be 
		   debug info and is not printed by default
	- changed: position is printed as a floating-point value
	- fixed: qtecasound - lots of bugs
221199 (v1.6.6d6)
	- fixed: cs-save and cs-save-as didn't work as expected
	- fixed: cs-load didn't work properly
221199 (v1.6.5d6)
	- added: safety-checks to prevent users from connecting
	         invalid chainsetups
	- added: underlines are accepted in ia-mode commands
	- fixed: problems with -ev
	- fixed: minor bugs in audvvio object positioning
191199 (v1.6.4d6)
	- added: -erc - channel copy (one-to-one) and
		 -erm - mix all channels (all-to-one) ; these are 
		 meant for handling multichannel files
	- added: -y option - set starting position for last specified
		 input/output
	- added: -t option - set processing time in seconds (makes 
		 multitrack cut&paste possible when used with -y)
	- added: -tl option - enable looping (see -y and -t)
	- added: ia-mode: cs-length (like -t), cs-loop (like -tl)
	- added: you can now pass additional options to external 
	         programs (mpg123, lame, mikmod), specified 
	 	 in ~/.ecasoundrc 
	- changed: mute + unmute -> mute (on/off toggle)
	- changed: bypass-enable + bypass-disable -> bypass
	- changed: minor changes in ~/.ecasoundrc format (see 
		   ecasoundrc(5))
	- fixed: tried to reconnect invalid chainsetups
	- fixed: global forward and rewind weren't working
	- fixed: dumped core if number of delays (-etd) was changed
		 during processing
	- fixed: gates are working once again
	- fixed: minor bugs in output mixing
	- fixed: -s option wasn't working properly
	- fixed: 8<->16bit conversion
  	- fixed: bugs in AIFF output
161199 (v1.6.3d6)
	- added: new ia-mode commands: aio-forward, aio-rewind, 
		 aio-setpos, aio-index-select and aio-wave-edit 
		 (load currently selected audio object into an
		 external wave editor)
	- added: support for using tracker modules as input 
	         sources - uses mikmod (mikmod 3.1.6 + libmikmod 
		 3.1.7 or newer required)
	- changed: cleaned up the audio object interface
	- changed: -f parameter format has changed - instead of 
		   bits, sample type is now specified as a formatted
		   string ("u8", "s16_le", "s24_le" and so on)
	- changed: in precise-sample-rate mode, removed all implicit 
		   sample rate conversions - instead a warning is issued
121199 (v1.6.2d6)
	- added: all ia-mode commands now implemented&documented
	- added: a little bit of artificial intelligence to command
                 interpreting :) - as an example, if you want to start
		 processing but no chainsetup is connected, ecasound 
		 tries to connect the currently selected setup, etc
	- fixed: given a certain combination of forward and rewind 
	         commands, processing wouldn't start anymore
 	- fixed: delay surround mode now works normally
	- fixed: ecatools - files not in the default sample format
	         were not handled properly
	- fixed: some bugs in double-buffering
	- removed: adding chain operators to multiple chains is no
	           longer possile - this makes the library interface
		   more powerful as client programs can have direct
	           access to chainops they've added (see 
		   eca-controller.h for details)
101199 (v1.6.1d6) 
	- added: most interactive-mode commands are now implemented
	- added: new ia-mode commands: c-mute, c-unmute, c-process,
		 c-select-all, cs-save-as, 
	- added: documentation for nearly all implemented ia-mode
		 commands, see ecasound-aim(1)
	- changes: major changes in RPM-packaging
	- fixed: a very nasty bug in dynamic ALSA-support
	- fixed: some effects caused core dumps (bug in the sbuf
		 iterator routines)
	- fixed: many minor bug fixes
	- removed: ia-mode commands: exec, end
081199 (v1.6.0d6) 
	- added: iactive mode now uses GNU readline for user input 
		 - command-line editing, command history and command 
		 completion (use .inputrc for configuring)
	- added: 30-40 new interactive-mode commands
	- added: ecasound-iam(1) manual page - interactive mode 
		 documentation
	- added: ecasound user's guide and programmer's guide
	- added: 'default-to-precise-sample-rates' to ecasoundrc -
		 whether to ignore sample rate differences (and 
	         possibly avoid resampling), affects OSS-devices,
	         defaults to 'false'
	- added: -z:psr option (see above)
	- changed: reimplemented signal handling using POSIX 
	           signal handlers (ANSI interface was used before)
	- changed: divided all the bigger modules into smaller 
		   classes and files (these big modules were
		   causing lots of compiler and resource problems)
	- changed: major internal changes (multichannel chain operators,
		   improved mixing algorithms, etc)
	- changed: rewritten mp3-support (still using mpg123 and lame)
	- changed: lots of changes in handling external resources
	           (wave and text editors, mpg123 and lame parameters,
 		   etc.) - see 'man ecasoundrc'
	- removed: looping (interactive-mode loop commands)
	- removed: 'sfx' command (iactive-mode)
011099 (v1.5.16d6)
	- added: changes and additions to libecasound interface are 
		 from now on logged to libecasound/ChangeLog
	- fixed: errors in -kf documentation
270999 (v1.5.15d6)
	- changed: optimized various engine and effect routines
		   to improve ecasound's performance with
		   complex setups
	- fixed: "-ev" max-amplitude wasn't reseted
	- fixed: some finetuning of ALSA buffer handling
210999 (v1.5.14d6)
	- notice: from now on development versions will be marked 
		  with a 'd' in the version number
	- added: configure check for libdl library
	- added: "-eac:amp-%,channel" channel amplify
	- changed: "-ea" to "-eaw", amplify with clipping control
	- changed: "-eas" to "-ea", normal amplify
180999 (v1.5.13r6)
	- added: -sr:srate option - set chainsetup sample rate
	- added: 'default-samplerate' to ~/.ecasoundrc
	- fixed: problems with OSS es1370 drivers (thanks to Billy
	         Biggs for the patch)
	- fixed: resonant bandpass wasn't working (-ef1)
140999 (v1.5.12r6)  -** public release **-
	- fixed: problems with libaudiofile (.aiff and .au/.snd
	         support)
	- fixed: extra noise when upsampling
	- fixed: qtecasound - chainsetup's name was changed to
		 tempfile name if edited with an external editor
	- fixed: qtecasound - conflict with Qt-libs when 
		 stopping processing (resulted in abort) 
120999 (v1.5.11r5)
	- added: ldconfig is now always run after (un)install of 
	         binary RPM packages
	- added: if underruns/overruns occur when using ALSA devices,
	         a warning message is given on exit (stderr)
	- changed: gcc's -fomit-frame-pointer isn't used anymore
	           (caused lots of problems with exceptions)
	- fixed: ecasound tried to use ALSA headers even though 
	         --disable-alsa was given (eca-alsa-dyn.h and
	         eca-midi.h)
	- fixed: audiofx_compressor.h tried to include obsolete
	         error.h header file
	- fixed: pan effect (-epp) decreased overall volume level
	- fixed: fake-stereo effect (-etf) wasn't working properly
	- fixed: "make install" created (prefix)/share/ecasound
		 with permission mode 644 (only root could access
		 the directory)
	- fixed: some problems with effect option parsing
	- removed: simple lowpass filter (-ef2)
070999 (v1.5.10r5)
	- added: qtecasound - file dialogs now remember the current
		 directory
	- added: a much more elegant system for dynamically loading 
		 ALSA support
	- added: support for ALSA MIDI devices (/dev/snd/midiCxDy)
	- changed: rewrote the MIDI-input sybsystem (works better
		   with multiple controllers)
	- fixed: kvutils -package also needed configure script fixes 
		 to recognise FreeBSD's pthread implementation
	- fixed: although "make install" worked in all cases,
		 plain "make" didn't work if installing ecasound 
		 1.5.x for the first time
	- fixed: crashed if you had two chainsetups with ALSA devices
	         and you tried to delete the other one
	- fixed: crashed in some conditions when closing .wav and 
		 .raw files
040999 (v1.5.9r5)
	- changed: qtecasound - in all windows with list widgets,
	           if no item is selected, current item (if any) 
		   is used for all operations
	- changed: in most cases, '-r' option (raise priority) isn't 
		   needed anymore (see ecasound and ecasoundrc man
		   pages for more info)
	- changed ecasoundrc - 'x-text-editor-use-getenv' is now
		  'true' by default
	- fixed: resonant lowpass filter was once again broken
	- fixed: configure should now recognise FreeBSD's pthread
		 implementation (not tested yet)
	- fixed: in some rare cases, engine was started in interactive 
		 mixmode while the interface was in passive mode 
	         (-> program started but didn't do anything)
030999 (v1.5.8r5)
	- added: '!' shortcut to all windows (keyboard focus to 
		 control panel)
	- changed: some Makefile changes for excluding static
		   ecasound libraries from the binary dist packages
		   (managed to shrink binary-rpms by nearly a 1MB!)
	- fixed: qtecasound - shortcut-key fixes in chainsetup window
	- fixed: qtecasound - waveform view positioning is now much 
		 more precise than before
	- fixed: qtecasound - core dumps when exiting
020999 (v1.5.7r5)
	- added: qtecasound - chainsetup window now has a wave-edit
		 button which loads the active file into a external
		 wave editor; defaults to "snd", can be changed by 
		 changing the value of "x-wave-editor" in 
		 ~/.ecasoundrc 
	- added: qtecasound - support for external text editors 
	         (can be launched from session window) - saves the 
	         active chainsetup to a text file, loads it to an 
                 editor and afterwards updates file's content back 
		 to ecasound - if "x-text-editor-use-getenv true"
	         is specified in ~/.ecasoundrc, ecasound uses 
		 EDITOR environment variable if it's available, 
	         otherwise value of "x-default-text-editor" is 
	         used ... an of course, default value for this is
		 the ultimate musicians tool: emacs! ;) 
	- changed: qtecasound - some minor changes to session and 
	 	   chainsetup widgets
	- changed: .ews format (wave view cache files) has changed,
		   ecasound can still read the old format
	- changed: qtecasound - "activate" button changed to a
		   "change status" button which rotates through 
 		   inactive->active->connected->inactive ...
	- fixed: qtecasound - enabling/disabling chains sometimes
                 resulted in program crashes
	- fixed: all structs found in ecasound source code now 
		 use the standard type definations from sys/type.h 
		 (format "[u_]int'bits'_t") - this should solve some 
		 compatibility problems with non-x86 platforms - 
		 thanks for Guenter Geiger for notifying about these
	- fixed: a few fixes to the new double-buffering system -
		 lots of buffer parameter fine-tuning 
290899 (v1.5.6r5) 
	- added: "-z:feature" command line option for enabling 
		 misc features
	- added: mmap-based double-buffering now disabled by 
		 default, enable it with "-z:db" or by putting 
		 "default-to-double-buffering true" to your 
		 ~/.ecasoundrc
	- added: when upgrading ecasound, new resource values 
		 will be automatically added to your ~/.ecasoundrc
        - fixed: crashes when getting error messages from alsa-lib
		 (for instance when using invalid card and device
		 numbers)
	- fixed: a few Makefile problems in 1.5.x versions 
	     	 (thanks for Vadim Tkachenko for reporting these)
280899 (v1.5.5r5) 
	- added: improvements to resource file (~/.ecasoundrc) 
	         handling - resource files can now have comment
	         lines (lines beginning with a '#'); resource
                 files are rewritten only if resource values are 
		 changed directly from ecasound; '=' sign can be 
		 used as a name-value separator
	- fixed: since version 1.5.2r5, .cdr input/output hasn't
		 worked (reversed byteorder when reading .crd 
	         files, .cdr output files weren't padded correctly)
270899 (v1.5.4r5) 
	- added: experimental support for double-buffered 
		 mmap() file i/o (currently implemented 
		 for .wav/.raw input only)
	- fixed: thread-priority was always risen (once again) 
210899 (v1.5.3r5) 
	- added: a lowpass filter effect (-ef2); not as good 
	  	 as the other lowpass filters (-efl and -ef3), but
		 should be a bit faster
	- fixed: 1.5.2r5 was really _slow_ (a file seek bug)
200899 (v1.5.2r5) 
	- added: "-x" command line option - truncate outputs
	- added: sample rate conversion (resampling) - if audio 
		 object's sample rate differs from ecasound's
		 internal rate the signal gets resampled 
		 (internal rate is currently 44100; can be 
		 changed from samplebuffer.h)
	- changed: gcc 2.95.1 is now used when developing 
		   ecasound; precompiled packages require libstdc++ 
		   2.10.0 (comes with gcc 2.95.1) or newer
	- fixed: few minor fixes to the noisegate effect
	- fixed: upon creation, more precision is used to print
		 effect parameters
190899 (v1.5.1r5) 
	- fixed: problems with filters
180899 (v1.5.0r5) 
	- added: ecatools package which now consists of programs
		 ecatools_normalize, ecatools_fixdc and 
		 ecatools_play - see ecatools(1) man page
 	- changed: ecasound and qtecasound now have their own 
	           source trees; rest of ecasound is compiled
	    	   into the libecasound.so shared library
	- changed: to make ecasound relocatable, preset files are now
		   installed to standard data dir (defaults to 
		   /usr/local/share/ecasound)
	- changed: lot of source file name changes
	- changed: ALSA support (libasound.so library) is now loaded
	 	   dynamically at runtime
	- fixed: you had to have yodl installed to to install ecasound 
		 man pages
150899 (v1.4.6r5)  -** public release **-
	- added: qtecasound - along with some other improvements, 
	         waveform widget now uses cache files to store 
	         wave statistics; for file "somefile.wav", cache
	         file "somefile.wav.ews" is used
	- fixed: reading and writing aiff files works again;
		 some aiff files created with sox still seem to 
		 cause trouble (might be a problem with 
		 libaudiofile)
	- fixed: qtecasound - a nasty mutex bug which caused ecasound
		 to crash if you tried to use a chainsetup which has
	         more inputs than chains
120899 (v1.4.5r4):
	- added: qtecasound - dialogs for adding, removing and 
		 attaching inputs and outputs 
	- added: support for null inputs/outputs
	- added: effect status is now printed when exiting ecasound
	         (doesn't affect interactive mode)
	- added: if OSS drivers for your soundcard don't support 
		 trigger functions, you can disable these with 
		 configure option "--disable-osstrigger"
	- added: -ev effect (analyze sample data) now also tells
		 how much the analyzed signal can be amplified 
	         without clipping
	- added: debug level can now be set in iactive mode with 
		 "debug level" command
	- changed: qtecasound - shortcuts a, A and ctrl-a now do 
		   the same thing; applies to all shortcuts
	- fixed: adding a chain without a valid output resulted in 
		 hangs when using multithreaded mixmode
	- fixed: didn't compile with alsa-lib versions older than 0.3.1
	- fixed: "ecasound -h" dumped core
010899 (v1.4.4r4)
	- added: qtecasound - now asks for a name when adding chainsetups
	- added: qtecasound - adding and deleting chains
	- changed: some layout changes
290799 (v1.4.3r4)
	- changed: if format supports it, outputs are now opened in 
		   read-write mode; currently supported by .wav, 
		   .cdr and .raw; when you use these as outputs, files 
		   aren't truncated if they exist
	- fixed: qtecasound - active chainsetup was always saved even 
		 if some other chainsetup was selected
	- fixed: qtecasound - crashed if you changed the active 
		 chainsetup and you had a waveform window open
	- fixed: qtecasound - crashed if tried to activate 
	         a invalid chainsetup
	- fixed: if you wrote to a output file, its length was 
		 not changed (from ecasound's viewpoint)
270799 (v1.4.2r4)
	- fixed: samplebuffer.h still tried to include <soundcard.h>,
		 which is both not necessary and a wrong place to 
  	 	 look for it; thanks to Torbjorn Tornkvist and 
		 Xavier Hosxe for notifying me
	- fixed: qtecasound - using multithreaded mixmode, changing 
		 chainsetups on the fly caused a lot of problems
	- fixed: qtecasound - shortcut keys didn't work with CLI
270799 (v1.4.1r4)
	- added: qtecasound - chain widget now monitors effect
		 parameters
	- added: qtecasound - support for double clicks and return
		 presses for various widgets
	- added: qtecasound - some new features to the waveform widget
	- changed: from now on, interactive mode isn't automatically 
		   enabled, if a realtime input is specified
	- changed: names of some functions (I'm trying to be careful
	           how I use 'new' and 'add', 'load' and 'open', etc
	- fixed: qtecasound - waveform widget crashed qtecasound if
		 the analyzed file had less than 76800 samples 
	- fixed: if processing was completed and was restarted without 
	         a rewind/setpos, ecasound crashed/hang
	- fixed: raised-priority mode was sometimes enabled even
		 without the -r option 
	- fixed: qtecasound - when using multithreaded mixmode, 
		 exiting sometimes resulted in core dump or segfault
250799 (v1.4.0r4)
	- added: qtecasound - waveform widget; graphical representation
	         for input/output objects
	- added: qtecasound - chain widget; view chain status 
	- added: qtecasound - chainsetup widget; status of input,
		 output and chain objects, enable/disable chains
	- added: qtecasound - session-setup widget; load and save
	         chainsetups, create new ones, etc
	- changed: can now be started without a valid chainsetup if 
		   interactive mode is enabled
	- fixed: *serious bug* if end of input was reached,
		 that input remained silent until ecasound was 
		 restarted (has been broken since 1.3.0r3)
240799 (v1.3.3r4)
	- added: -n option, sets chainsetup's name
230799 (v1.3.2r4)
	- added: a new compressor - thanks for Viktor Endersz for
		 sending it to me and John S. Dyson for coding it; 
	         it really works like a dream! (option -eca) 
	- fixed: some fixes to my old compressor (now that we 
		 have a better one, this should be used only if 
		 you really want brutal results :))
	- fixed: due to some changes in ALSA libs, ecasound 
		 wouldn't compile with ALSA versions >0.3.2;
		 haven't tested it, but should now work with both 
		 new and old ALSA libs
200799 (v1.3.1r4)  -** public release **-
	- fixed: delay effect was broken; while fixing this I also 
		 added a new surround mode, 2 = stereo-spread
	- fixed: more bugs with ALSA and OSS input routines; 
	         did some multitrack recording with both of them 
		 and got suprisingly good results (it seems that
	         finding the optimal buffer size is the key to success)
190799 (v1.3.0r3)
	- added: support for sessions and chainsetups; now you can 
	         store the whole runtime setup to an ascii file and
	         load it back; the syntax used is exactly the 
		 same as the command line syntax so editing these 
		 saved chainsetup files is easy
	- added: "-s[:]filename" command line option for loading 
	         chainsetup files 
	- added: "load filename" and "save filename" commands to 
	         the interactive-mode (for chainsetups)
	- added: support for libaudiofile (SGI audiofile) library;
		 new file formats: .aiff, .au and .snd; (linking to 
  		 audiofile can be prevented with --disable-audiofile
	         option to the configure script)
	- added: -q option (quiet mode), disables all output
	- added: support for raw/headerless (.raw) input/output files
	- added: support for using standard system input and output
		 streams (-i:stdin, -o:stdout)
	- added: finished the man pages, all important options and
		 features should now be covered
	- fixed: file name ending with a upper-case extension 
		 wasn't recognised
	- fixed: when using multithreaded mixmode with complex setups,
		 threads sometimes went out of sync causing strange
	         behaviour
	- changed: size of sample buffer objects can now be changed
	           on-the-fly (output files are not aligned to 
 		   buffersize anymore) -> this makes ecasound more 
		   usable as a format conversion tool
	- changed: compressor wasn't working, decided to code
	           a new one (still experimental but works better
		   than the last one)
140799 (v1.2.3r3)
	- added: support for .mp2 files
	- fixed: still some bugs in selecting mixmode
	- fixed: automatic stereo-mono conversion wasn't working 
		 at all (as all chains are internally stereo, this 
		 occured everytime you specified a mono output, even
		 if the input was mono, too)
130799 (v1.2.2r3)
	- added: ALSA devices can now also be opened by specifying 
		 the actual device name (/dev/snd/pcm...)
	- changed: default output is now always attached to chain 'all'
	- fixed: start/stop/forward/rewind with ALSA-output sometimes 
		 resulted in loud crackle
	- fixed: some bugs in the position slider of qtecasound
	- fixed: 'noise-gate-mono' effect was rewritten as it didn't 
		 seem to work very well
120799 (v1.2.1r3)  -** public release **-
	- added: 'make install' now creates /etc/ecasound directory 
		 and copies all the configuration/preset files 
		 to this directory (existing files/dirs are skipped)
	- added: lots of crash-guards to command line parsing 
	- added: frequently-asked-questions file (both txt and html)
	- added: new options to the configure script: --disable-alsa,
		 --disable-oss and --disable-qt
	- fixed: bugs in mixmode multithreaded-iactive (crashed
		 pretty much everytime)
	- fixed: estatus output was sometimes pretty messy
110799 (v1.2.0r2)
	- added: support for ALSA input/output 
	- added: a lot of new documentation to the man pages
	- added: new configurable options to ~/.ecasoundrc 
		 (default-buffersize, default-to-interactive-mode,
		 default-to-raisepriority)
	- added: finally implemented the 'help' command in
  	         the interactive-mode; also added a prompt, which 
                 should help a bit :)
	- added: autoconf and automake additions; now qtecasound is 
		 compiled only if qt library is found, OSS and 
                 ALSA modules are compiled if the necessary 
                 headers and libraries are available
	- added: support for single-chain effect presets (-ps command 
		 line option)
	- fixed: bugs with OSS-input (device was sometimes closed 
                 multiple times resulting in core dumps)
	- fixed: auto-runmode used 'simple-iactive' mixmode
                 although iactive-mode wasn't set
	- fixed: looping wasn't working properly
	- fixed: -m option wasn't working
	- removed: simple filter effect (not really useful)
	- removed: 'Waiting for the processing thread'
		   messagebox (qtecasound)
100799 (v1.1.8r2)
	- fixed: more synchronisation bugs
050799 (v1.1.6r2)
	- added: rewrote the man-pages using Yodl; now they're 
 		 also available in HTML-format 
	- fixed: OSS-output module used a non-standard location
		 for soundcard.h (noticed by D.Phillips)
010799 (v1.1.5r2)  -** public release **-
	- tested: did some real recording and mixing work with this 
	          version and after a few fixes, everything seems
	          to work ok
	- added: now checks whether a chainop supports parameter
		 controlling or not 
	- added: a lot of new documentation (especially to 
		 'Documentation/examples.html')
	- fixed: chain 'all' wasn't working properly
	- fixed: multitrack chain synchronization was broken; should 
		 now work even with complex setups
	- fixed: a serious bug in OSS-input: ecasound always threw 
 		 an "read-error" exception when trying to read from
		 OSS input
	- fixed: analyze effect (-ev) output didn't work
300699 (v1.1.4r1)  -** public release **-
	- notice! first release; should be considered beta
	- fixed: if mp3 files had white-spaces in their filenames, 
	         filenames weren't interpreted correctly
250699 (v1.1.3r0)
	- more bug fixes
	- tested rpm-packaging and seemed to work ok
230699 (v1.1.2r0)
	- bug fixes 
190699 (v1.1.1r0)
       	- fixed: some bugs in exception handling 
       	- qtecasound: added a not-implemented message screen! ;)
180699 (v1.1.0r0)
       	- all major features of ecasound v0.9.x and earlier are 
          now implemented to the new program design 
       	- support for gates (time crop gate and threshold gate
          implemented)
       	- support for ~/.ecasoundrc configuration file
       	- support for GNU autoconf and automake
       	- added some new command line shortcuts
       	- qtecasound: added a position slider widget (displays and
		      enables to change current position)
       	- qtecasound: removed waveform and volume meter widgets;
		      they will reappear in the "Chain Setup" 
		      window (still under work)
160699 (v1.0.8r0)
       	- mp3 output support (using lame) 
150699 (v1.0.7r0)
       	- fixed: waveform -output now works with all inputs 
                (for instance showing mp3 waveforms is now possible)
       	- routines for interfacing with mpg123 recoded; 
          a lot more stable than before
       	- qtecasound now uses the new qt library (v2.0beta2)
       	- support for various controllers (sine oscillator, MIDI 
          cc-controllers, generic oscillator etc)
       	- fixed: when ecasound was stopped with ctrl-c or kill, 
                 proper cleanup wasn't done
100699 (v1.0.6r0)
       	- a new wave-form view 
080699 (v1.0.5r0)
       	- multitrack-mode sync-routines rewritten and tested
       	- various mixmode bugs fixed
040699 (v1.0.4r0)
       	- simple graphical vu-meters added to test the new io-system
030699 (v1.0.3r0):
       	- multithread-io mode: one chain can be processed and mixed 
         while waiting for getting data from other chains	
020699 (v1.0.2r0):
       	- a better way to deal with system endianess
       	- new chain-operator routines; unless there are no no chainops, 
          signal is always put through a clip control routine which 
          ensures that all sample values fit the value range
010699 (v1.0.1r0)
        - fixed a _lot_ of bugs
310599 (v1.0.0r0)
        - changed version numbering
        - major changes in nearly all program modules aiming at 
          a more modular and abstract design
       - fix: resonant_bandpass_filter wasn't working anymore
190599 (v0.9.10)
        - mp3 support using mpg123 (readonly)
        - X-Window GUI added (using Qt-libraries)
260499 (v0.9.x)
        - support for multitrack recording
        - independent effect chains
        - interactive command-line-interface (CLI)
        - looping (loop, loop_start, loop_end)
        - new debug -system
        - man -pages
311098 (v0.80)
        - support for MIDI-controllers
        - now uses glibc v2.0 and linuxthread libraries
041098 (v0.70)
        - began to upkeep this history file
        - fixing the gate-functions
---
1998:    - changed development platform from Os/2 to Linux
1997-98: - complete rewrite in C++; name changed from "wavstat" to "ecasound"
1995-97: - started working with this project; original program
           was called "wavstat" and it basicly was just
           a very simple command line DSP util (running under Os/2)
	
-----------------------------------------------------------------------
