=======================================================================
*** Ecasound - README                                               ***
=======================================================================
-----------------------------------------------------------------------
 What is it?
-----------------------------------------------------------------------

Ecasound is a software package designed for multitrack audio
processing. It can be used for simple tasks like audio playback, 
recording and format conversions, as well as for multitrack effect 
processing, mixing, recording and signal recycling. Ecasound supports 
a wide range of audio inputs, outputs and effect algorithms. 
Effects and audio objects can be combined in various ways, and their
parameters can be controlled by operator objects like oscillators 
and MIDI-CCs. As most functionality is located in shared libraries,
creating alternative user-interfaces is easy. A versatile console mode
interface is included in the package.

-----------------------------------------------------------------------
 Why?
-----------------------------------------------------------------------

I've programmed ecasound for my own recording purposes. The first 
versions ran under IBM Os/2. I used them for finalizing my analog 
4-track recordings. My 4-track was a nice tool, but it had its limits.
So eventually I started to use Windows-based multitrack software. I
still used ecasound for fx processing and finalizing. When I 
ported ecasound to Linux, a lot of the code was rewritten from 
scratch. During this I also added multitrack capabilities
to ecasound. It took a lot of work, but in the end I was able to 
get rid of all my Windows recording software. Nowadays I use 
ecasound for all my music projects. Because of this, I also 
continue to improve and develop ecasound.

-----------------------------------------------------------------------
 Requirements
-----------------------------------------------------------------------

To run ecasound, you need...:

- POSIX compliant UNIX system; tested with various Linux 2.2/2.4 
  and glibc 2.x combinations, FreeBSD 4.x, Solaris 2.8
- POSIX threads; tested with linuxthreads 0.7 and 0.8 (libpthread, 
  comes with glibc)

Optional when running ecasound:

- for soundcard input/output: OSS, OSS/Lite or ALSA drivers
- for JACK-support, the JACK runtime environment
- for mp3 support, mpg123 (input) and lame (output) packages
- for tracker module support, MikMod package
- for .aiff/.au/.snd support, libaudiofile (SGI audio file) library
- for Ogg Vorbis support, the vorbis-tools package (ogg123 and vorbize)
- for .mid input support, Timidity++
- for aRts support, the aRts server package

To compile ecasound, you also need...:

- standard C++ build environment; tested with egcs 1.1.2, 
  gcc 2.91.66, gcc 2.95.3, gcc 3.0.x, gcc 3.1.x and
  Sun Workshop 6 C5.2 C++ (STL and exceptions need to 
  be supported)
- GNU make, automake and autoconf packages

Optional when compiling ecasound:

- for pyecasound, the Python devel package
- for curses support, the ncurses devel package
- for LADSPA support, the LADSPA SDK package
- for ALSA support, the ALSA devel package
- for JACK support, the JACK devel package
- for .aiff/.au/.snd support libaudiofile devel package
- for aRts support, the aRts C-API devel package

-----------------------------------------------------------------------
 Installing
-----------------------------------------------------------------------

First of all, you should first try to use the binary-rpm release.
It's probably the easiest and the most straigthforward way to 
install this software. 

If you need to compile ecasound, the file 'INSTALL' contains detailed 
instructions. To compile from rpm source packages, "rpm --rebuild 
ecasound-x.y.xRt.src.rpm".

-----------------------------------------------------------------------
 Documentation
-----------------------------------------------------------------------

Ecasound documentation is updated whenever new features are added 
or old features have been modified. Some things are not documented
in great detail, but on the other hand, all documentation is kept
up-to-date.

- user's guide
- programmer's guide
- man pages
	- ecasound(1)
	- ecatools(1)
	- ecasound-iam(1)
	- ecasoundrc(5)
- misc HTML-formatted docs
- command line help
	- ecasound --help

Probably the best place to start is the examples section of 
ecasound HTML-documentation (Documentation/examples.html).

-----------------------------------------------------------------------
 Mailing lists
-----------------------------------------------------------------------

ecasound-announce@wakkanet.fi:
	A read-only list for announcements concerning
	ecasound and ecawave.

ecasound-list@wakkanet.fi:
	A general discussion forum for ecasound/ecawave
	developers and users. Announcements of new versions, bug warnings, etc 
	will be posted to this list. If you have problems compiling,
	installing or using ecasound/ecawave, this is a good place to ask for
	help. Reports of working software/hardware combinations are also welcome.
	You can browse the message archives at
	http://www.wakkanet.fi/~kaiv/ecasound/ecasound-list/current/ 

ecasound-cvs@wakkanet.fi:
	A read-only list for reports about ecasound CVS activity.

You can join the lists by sending subscribe message to
majordomo@wakkanet.fi. You can also join using the following 
web front-end: http://eca.cx/mlists.html

-----------------------------------------------------------------------
 Web sites
-----------------------------------------------------------------------

Ecasound home site
- http://www.eca.cx/ecasound

Distribution packages
- http://ecasound.seul.org/download/

Eca projects page (links, apps based on ecasound, etc)
- http://www.eca.cx

Kelaus Tree, music recorded and mixed with ecasound
- http://www.wakkanet.fi/kelaus_tree/

-----------------------------------------------------------------------
 About free software development
-----------------------------------------------------------------------

You should always keep in mind, that development of free software
doesn't work in the same way as commercial development. Every
succesful free software project has an active userbase behind it. This
means that your comments, ideas and bug reports are extremely
important. If something doesn't work, or some feature is missing,
please mail me about it. Thank you in advance! You can send ecasound
related mails to me at mailto:k@eca.cx. If you want to see/hear 
ecasound in action, you can listen to some of my material at 
	http://www.wakkanet.fi/kelaus_tree  
All the newer ones are recorded and mixed with ecasound!

-----------------------------------------------------------------------
 Stable and development versions
-----------------------------------------------------------------------

Although publically released versions are called stable, this is not 
a guarantee of any kind. I use a small test-bench to check that all 
essential features are working and I use these versions myself, but 
that's it. And note that this isn't a temporary solution. As ecasound 
is open-source software, it will become more stable as more people 
start using it and bugs are found. So join the fun! :) 
	 
-----------------------------------------------------------------------
 Author / project leader
-----------------------------------------------------------------------

Kai Vehmanen <kai.vehmanen@wakkanet.fi> - [kaiv]

-----------------------------------------------------------------------
 Contributors / credits / thanks to 
-----------------------------------------------------------------------

Anarcat - Work on ecasound's FreeBSD port [anarcat]
Davis, Paul - Has probably written more Linux audio related code (and mails) than anyone else! :)
Beaupre, Antoine - Patches for FreeBSD compatibility. [beaupran]
Bowman, Brad - Perl ECI binding, bug hunting. [bowman]
Campbell, Ross - Tips concerning Solaris. [rcampbel]
Carmack, Michael - Support for devfs /dev/sound/dsp devices [karmak]
Chappell, Jesse - Bug fixes. [jesse]
Coker, Rob - Pulse gate (-eemp) code. [rcs]
Darilek, Nolan - Ogg vorbis fixes. [nolan_d]
Dye, Rob - OSS compilation fixes. [rob]
Dyson, John S. - Wrote the original advanced compressor (-eca) code.
Endersz, Viktor - For sending me the adv.compressor source code!
Eure, Ian and Junichi Uekawa  - For creating ecasound debian packages [ieure,juekawa]
Fendt, Stefan - Original code for reverb (-ete) and RC-lowpass filter (-ef4).
Hall, Jeremy - Extensive testing, ALSA 0.6.x support, many design ideas [jhall]
Halttunen, Janne - Helped in developing the EIAM, and specifically the 
		   new ECI concept. [jhalttun]
Hamara, Arto - Ecasound logo(s), preset params, general linear
	       envelope support, various bug fixes! [artham]
Harris, Steve - Gcc 2.96 (RH7.0) testing and fixes. [swharris]
Jeanneau, Aymeric - Reentrant libecasoundc implementation. [ajeanneau]
Lavalle, Marc - Rpm-spec for Mandrake.
Laydier, Antoine - layer.cpp (interprets mp3 headers) [SMF]
Massy, S. - Extensive testing and debugging. [smassy]
Morris, Steve - Ewf-handling fixes. [smorris]
Petit, Bertrand - Helped with POSIX-compatibility issues.
Philips, Dave - Linux Sound+MIDI keeps Linux audio going strong!
Poelstra, Remco - ECI C API bug hunting. [rjpoelstra]
Polton, Richard - A 250k gcc3.x related patch. :) [rpolton]
Poulton, Ron - Helped to track down the mysterious chain-bug. [thok]
Wrblewski, Artur - PLD-Linux RPM-specfile, readline and destdir patches. [wrobell]
Sassmannshausen, Ruediger - Mp3 filename parsing fixes. [rsassman]
Smith, Richard A. - Helped in solving the "gcc 2.95" bug.
Sousa, Rui - OSS bug fixes.
Stradling, Rob - MIDI-MMC bug fixes. [robstr]
Tiedemann, Eric S. - Wrote the eci.py interface. [est]
Tkachenko, Vadim - Autoconf magic. :)
Yee-king, Matt - Helped debugging ppc big-endian troubles. [yeeking]
Westbrook, Tim - Autoconf 2.5x fixes. [iondiode]

all LAD members - Always a great source of inspiration!
www.niccx.com - For eca.cx, ecasound.cx and ecawave.cx domains.
SEUL - For hosting ecasound ftp, http and CVS sites.
Wakkanet Oy - For hosting ecasound web site.

Note! The developer tags are (for instance I have [kaiv]) used
      throughout ecasound docs (NEWS, TODO-list, edi-list.txt, etc).

-----------------------------------------------------------------------
 Licensing/distribution policy
-----------------------------------------------------------------------

Copyright (C) 1997-2002 Kai Vehmanen

Ecasound is freely distributable according to the terms of the 
GNU General Public License (see the file 'COPYING').

This program is distributed without any warranty. See the file 
'COPYING' for details. 

=======================================================================