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

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.4.6r5 <*-

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