-----------------------------------------------------------------------
*** ecasound - user visible changes (NEWS)    (last edited: 230799) ***
-----------------------------------------------------------------------

About the version numbers... "vx.y.zrt" :

  x = major version - changes in design and public interfaces 
  y = minor version - new features and functionality to current 
                      major version
  z = bugfix version - bugfixes and additions to current minor
	               version; improved features
  t = public release - changes only when a stable version is 
		       officially released

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

Last officially released version is -*> v1.3.1r4 <*-

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)
	
-----------------------------------------------------------------------
