----------------------------------------------------------------------- ** Ecasound - User-visible changes (NEWS) (last edited: 180303) ** ----------------------------------------------------------------------- About the version numbers... "vX.Y[.Z][-extraT]" : X = major version - the overall development status Y = minor version - represents a set of planned features (see TODO) Z = revision - small changes to major.minor version (optional) extraT - beta, pre and rc releases that are in preparation of major releases (optional) ----------------------------------------------------------------------- 18032003 (v2.2.2) -** stable release **- - edi-entries: edi-35 and edi-36 added - added: ecacontrol.py - a native python implementation of the ECI API [jhalttun] - added: stream ogg/mp3/mid directly from network if the filename has a url-prefix - added: author name to the description of LADSPA plugins - added: latest config.guess and config.sub added to the dist package - added: ecamonitor - a warning is printed if you try to run with python-1.x; python-2.x is required - added: new tutorials pages added to documentations; see Documentation/index.html - changed: ecasound.el updated to 0.8.2, lots of small changes, see ecasound.el for details [mlang] - changed: alsa-0.9 - better support for pcm devices such as dmix which have strict period size constraints - fixed: libecasound sample conversion unit test failed when compiled with gcc-2.91.66 on certain platforms - fixed: compile failed on systems that don't have nanosleep() - fixed: subtle bug in -kl and -kl2 (and possibly others) with fade lengths under 1s - fixed: alsa-0.9 - prevent ecasound from prefilling too much data to output devices - fixed: a ':' in LADSPA plugins parameter name confused ecasound (swh's sc4 is one example) - fixed: theoretical problem with ecalength argument parsing - fixed: use LOGNAME instead of USER for creating temporary files for ecanormalize and ecafixdc - fixed: -tl has been broken since 2.2.0-pre5 - fixed: copp-list dumped core if no was cop selected 15022003 (v2.2.1) -** stable release **- - added: sane default param hints for chainops: -ec, -etd, -ete, -etf, -etl, -etm, -etp, -etr and -epp - added: if configured with JACK-support, ecasound will fetch the correct bufsize and srate parameters from the JACK server when connecting a chainsetup with JACK inputs or outputs - added: support for Erik de Castro Lopo's libsamplerate resampling library; used both by the resample audio i/o object and the pitch shifter chainop (-ei); enable with --with-libsamplerate - added: --disable-libsamplerate; don't enable libsamplerate support even if the library is found during configure - added: resample-hq audio object type; like resample, but use the highest available resampling quality; currently only has an effect if libsamplerate support is enabled - added: alternative UNIX signal handling for platforms that don't provide sigwait() (cygwin is one) - changed: ecasoundrc - ladspa-plugin-directory can contain multiple directories, separated by colons; this change was done to avoid any confusion with the LADSPA_PATH syntax and ecasoundrc - changed: rewritten much of the JACK slave-mode code; enables much faster and reliable transport-sync - fixed: compiling pyecasound failed on alpha w/ gcc-3.2 - fixed: -t:xxx option did not work if chainsetup samplerate differed from the default; for instance rate change from 44100 to 22050 doubled the run length - fixed: make uninstall in kvutils failed if non-identified files from old releases were detected - fixed: excessive dbc warnings when using the jack plugin - fixed: core dump if -eac:x,y was given an invalid channel index - fixed: compile failed if JACK support was enabled, but no explicit --with-jack option was given - fixed: rounding errors fixed in the resample object - fixed: terminal was not properly resetted after a ctrl-c in interactive mode - fixed: handle /dev/dsp drivers that don't support DSP_GETCAPS (cygwin is one) - fixed: don't link with rpath if target prefix is /usr [juekawa] - fixed: -kl2 didn't work at all in some circumstances 09012003 (v2.2.0) -** stable release **- - edi-entries: edi-1 closed - changed: ecasound.el updated to version 0.8.1 [mlang] - changed: more user-friednly errormsg when trying to open a nonexistent ogg/mid/mod file - changed: eiam - all instances of 'c-mute' in code and docs changed to 'c-muting', although now officially deprecated, 'c-mute' will continue to work as an alias to 'c-muting' - fixed: edi-1 - crackle at start of processing with -ete removed [hgfischer] - fixed: various small fixes to remove uncalled for dbc warnings - fixed: -b:0 caused a segfault - fixed: compile error with gcc-2.95.4 concerning eca-curses.cpp and the 'erase' symbol - fixed: compile error with freebsd-4.7 concerning eca-chainsetup.cpp/eca-fileio-stream.cpp and the header file 'sys/mman.h' - fixed: resample audio object set the child srate incorrectly for mp3 and headerless audio files 28112002 (v2.2.0-rc1) - edi-entries: edi-35 added - fixed: more curses fixes - fixed: ecaplay - -k and ctrl-c cleanup bugs - fixed: ecaplay - accept filenames containing whitespace - fixed: ecafixdc - don't process files that have zero dc-offset - fixed: compilation fixes for solaris+gcc combo - fixed: -y option was not working; broken since 2.2.0-pre1 - fixed: seg.faults when finishing processing a setup with -t:x defined, -z:db, no rt-inputs and one or more rt-outputs - fixed: restarting processing from a new position after processing had reached the finished state - fixed: banner was printed to stdout even in quiet mode - fixed: -etc (chorus), -etp (phaser) and -etl (flanger) broken by edi-21 work 07112002 (v2.2.0-pre5) - edi-entries: edi-29 closed - added: ecasound emacs interface, ecasound.el, is now distributed with ecasound (ecatools/ecasound.el); ecasound.el is installed to ecasound's data directory (default /usr/local/share/ecasound) - added: libkvutils_tester, unit tester for libkvutils - added: ecamonitor - 'q' to quit - added: --nodaemon and --daemon-port=XXX ecasound options - added: documentation about the daemon functionality to ecasound(1) - added: ecamonitor.1 man page - added: NetECI documentation to programmer's guide - changed: rpm spec file unified with the spec file used to build PlanetCCRMA's ecasound packages - changed: pyecasound license from GPL to LGPL - changed: the C++ ECI implementation, the ECA_CONTROL_INTERFACE class, moved from libecasound to libecasoundc; now also under LGPL - changed: asm/atomic.h kernel header no longer used - changed: ecaplay - improved ctrl-c handling - fixed: cleanup of curses/ncurses detection in configure.in; this also fixes ecasound compilation on mandrake9.x systems - fixed: controller source positions were not always updated when global chainsetup position was changed - fixed: controllers weren't properly initialized before use; this bug caused real harm only to -klg objects; only the first defined -klg worked as expected - fixed: increased the max message size in ECI-standalone; ecasetupedit-0.2.3 caused the parsing buffers to overflow 31102002 (v2.2.0-pre4) - edi-entries: edi-27, edi-28, edi-29, edi-30 - added: eiam - commands 'map-cop-list', 'map-ctrl-list', 'map-ladspa-list' and 'map-preset-list'; see ecasound-iam(1) man page for details - added: eiam - 'ao-add-default' command - added: ecicpp_tester, a unit test program for C++ ECI - changed: libecasoundc now LGPL licensed - changed: edi-30 done; ecaplay, ecaconvert, ecafixdc and ecanormalize rewritten using the new standalone ECI api - changed: reimplemented the C++ ECI interface on top of the new standalone C ECI interface - changed: implementation level improvements to db, ewf, resample, reverse and typeselect audio object types - changed: edi-28 done; ECI standalone now the only ECI implementation - changed: ecasound now uses the new JACK (0.40.0 and newer) ALSA PCM port names (alsa_pcm:capture_X and alsa_pcm:playback_X) - changed: number of channels must be given as the first parameter to -ezx; this was needed to implement true multichannel support - changed: syntax used for JACK inputs/outputs, see ecasound(1) and ecasound user's guide for details - changed: ecasound JACK transport master mode now follows the new pending-timebase model - changed: edi-27 done; the NetECI protocol replaced with the ECI standalone protocol defined in ecasound programmer's guide - changed: edi-29; major updates to ecamonitor; moved back to ecasound/ecamonitor - fixed: libecasoundc return value sync problem; return value for command wasn't returned until command n+1 was issued - fixed: -etc, -etl and -etp crashes if delay parameter was set to zero - fixed: -ezf didn't report the correct dcfic for the first channel - fixed: LADSPA param descriptions were incorrectly parsed - fixed: ecasound ended up in a cpu-intensive loop if the standard input suddenly disappeared in the -D output mode; this happened every now and then with ECI apps - fixed: eiam - missing newlines in output of 'cop-status' and 'ctrl-status' 19102002 (v2.2.0-pre3) - fixed: reverted to using old ALSA 0.9 hw-params API, ecasound agains works with old 0.9beta and 0.9rc ALSA versions 18102002 (v2.2.0-pre2) - fixed: ALSA objects weren't properly registered as audio object types - fixed: debug level was resetted to 0 after issuing 'int-output-mode-wellformed' - fixed: automake complained about multiple definition of ecasoundc_sa 17102002 (v2.2.0-pre1) - edi-entries: edi-24, edi-28, edi-29, edi-30 - note: libecasound and libkvutils interface version numbers will from now on track API changes instead of ABI changes - added: edi-24; resample audio object added - added: edi-29; initial version of ecamonitor - added: edi-28; eiam-command 'int-output-mode-wellformed' - removed: edi-30; ecasound internal plugins no longer installed separately - changed: ALSA support requires alsa-lib version 0.9rc4 or newer - changed: libecasoundc versioning back to normal libtool style; interface version reverted back to 1:0:0 - changed: edi-28; C implementation of ECI, libecasoundc, is rewritten to not depend on libecasound - changed: edi-28; pyecasound is rewritten to use the new C ECI implementation instead of direct use of libecasound - changed: edi-30; removed all shared libs and subpackages containing them from ecasound.spec.in - changed: added ecamonitor to ecasound.spec.in - changed: edi-30; libecasound and libkvutils versioning back to normal libtool style - fixed: unnecessary warnings when closing OSS audio objects - fixed: unnecessary warnings when adding audio objects to a chainsetup with no chains currently selected - fixed: resample, reverse and typeselect audio objects types were broken in 2.1dev11 - fixed: removing audio inputs and outputs didn't work as specified - fixed: bugs in multitrack-mode operation; processing would stop once all input objects were finished - fixed: pyeca.py - correct handling of 'e' and '-' return types [jhalttun] - fixed: eiam - removed the extra newline char from output of 'cop-status' and 'ctrl-status' - fixed: loglevel settings were lost when output mode was changed - fixed: ecamonitor was missing from the dist package 22082002 (v2.1dev11) - added: configure-check for socket libraries - added: -evp - volume peak watcher operator - added: initial support for LADSPA v1.1 API for plugin parameter defaults (as used in swh-0.2.8 plugin set); updated ladspa.h included in the source tree - changed: rewrite of all user-interface code that's in the ecasound-x.y.z/ecasound directory - changed: added chainop and controller parameter descriptions back to ecasound's command-line help (--help/-h) - changed: ecasignalview rewritten; segfault bugs fixed, consumes less cpu-resources, better interface - changed: ecasoundrc - default command for ogg playback to catch up with the ogg 1.0 release - changed: new sample format conversion routines along with unit tests - fixed: a long-standing bug in ecaplay that caused it to segfault with big playlists - fixed: LADSPA_PATH env.variable not parsed correctly - fixed: floating-point exceptions when run on alpha-linux - fixed: libecasound_tester failed on machines without the LADSPA SDK plugins installed - fixed: ia-mode - ctrl-d didn't exit as it should; this broke shell scripts that used pipes to communicate with ecasound 24062002 (v2.1dev10) - added: -G:mgrtype,optstring switch for setting audio object manager level options - added: -G:jack,client_name,operation_mode option; see ecasound(1) for details - added: --enable-all-static configure option - added: --disable-jack configure option; disable JACK support even if all required libs and headers are found - changed: major data structure cleanup in the JACK plugin - changed: JACK support is now enabled if 'jack/jack.h' is found; also --with-jack=PATH still works - fixed: 'unknown device state' errors with multichannel soundcards like midiman deltaXX and rme when starting processing and if -z:intbuf mode was selected - fixed: due to changes in autoconf variables, non-atomic locking was always used instead of atomic locking in 2.1dev8 and 2.1dev9 - fixed: configure failed if an old (<0.9) ALSA version was installed even if --disable-alsa was specified - fixed: loading chainsetup from interactive mode failed both with cs-load and after cs-edit - fixed: compiling against readline 4.2 with --enable-sys-readline failed - fixed: bugs in the -z:db subsystem caused segfaults - fixed: problems with -z:db and small files - fixed: eiam - 'cs-get-length' always returned 0 17052002 (v2.1dev9) - edi-entries: edi-22 - changed: optimized disk i/o subsystem (-z:db) performance - changed: edi-22 fully implemented (JACK-support) - fixed: disk i/o subsystem didn't discard all old data after a seek to a new location - fixed: installing pyeca.py failed if ecasound was built outside srcdir - fixed: timeouts when starting chainsetups with JACK input/outputs - fixed: bug in stopping JACK input/outputs; affects seeking in interactive mode 13052002 (v2.1dev8) - edi-entries: edi-13, edi-18, edi-21, edi-22 - added: reverse audio object type; see the ecasound(1) man page for better documentation - added: pyecasound - if python version is 2.2 or higher, pyeca.py sets custom dlopen flags before importing the actual pyecasound python module; this makes it possible to access ecasound's plugins (ALSA, JACK, libaudiofile) from python ECI apps - added: ecasoundrc - 'default-audio-format'; same syntax as with the -f option; defaults to s16_le,2,44100,i - added: edi-18 implemented; engine samplerate is now set automatically - if object sample rates don't match, an error is printed - added: edi-21 implemented; a much improved framework for handling audio position information is now in place; -kl, -kl2 and -klg are now position aware - changing chainsetup position also affects controller sources - added: initial implementation of edi-22 - added: support for devfs /dev/sound/dsp devices [karmak] - added: new debugging system in libecasound; semantics of -d:xxx debug levels have changed - added: 'make check' target builds and runs libecasound/libecasound_tester, which performs a set of functionality tests - removed: support for old ALSA driver versions 0.3.x, 0.4.x and 0.5.x - removed: ecasoundrc - 'default-samplerate' - removed: -sr option; not needed anymore - removed: ia-mode - 'c-rewind', 'c-forward' and 'c-setpos' - removed: ecasoundrc - default-to-interactive-mode - removed: mixmode switch (-m) - removed: ecasound/contrib directory - changed: JACK support updated to match JACK's 13/May/02 CVS-tree - changed: pyecasound - module libpyecasound.so renamed to pyecasound.so - changed: programmer's guide updated; added a new chapter about library organization - changed: minor user's guide update - changed: looping with -tl always loops from the start; -y can't be used for setting the loop start offset -> ewf-files should be used instead - changed: s24_le and s24_be sample formats are interpreted as three-byte values, not as four-byte 24-in-32bits values as before; to access unpacked 24bit data, use s32_le and s32_be formats instead - changed: configure.in cleanup - changed: the libkvutils binary API has changes so its version number was changed from 3:0:1 to 3:0:0 (libkvutils.so.3); this interface will be frozen together with libecasound.so.8 - changed: rewritten rtnull implementation; now imitates soundcard behaviour much more accurately - changed: numerous portability improvements to the autoconf scripts - changed: new rpm-spec file; libraries are now located in separate rpm-packages - changed: ecasound-config renamed to libecasoundX-config - changed: ecasoundc-config renamed to libecasoundcX-config - changed: libecasound headers are now installed to incdir/libecasound, similarly libecasoundc headers to incdir/libecasoundc - changed: plugin directory name from prefix/lib/ecasound-plugins to prefix/lib/libecasoundX-plugins, where X is the library interface number - fixed: -[io]:alsaplugin,x,y didn't work with latest ALSA 0.9betaX releases - fixed: serious bug in setting up ALSA 0.9.x buffering params - fixed: rare bug with sampling rate changes - fixed: autoconf 2.5x fixes [iondiode] - fixed: typeselect - opening and closing a typeselect device multiple times caused a seg.fault - fixed: some ECI apps dumped core when executing their first command - fixed: after mp3/ogg/mikmod/timidity objects had reached finished state, playback couldn't be started without doing a disconnect-connect - fixed: better handling of situations where JACK server is abruptly shutdown and then restarted - fixed: sometimes an incorrect length-field was written to newly created wav-files - fixed: problems with using ewf-files with doublebuffering - fixed: loop devices didn't work; resulted in 'explicit exception' errors - fixed: configure failed if neither ncurses nor termcap was installed - fixed: compile failed if ALSA was not installed (even with --disable-alsa) - fixed: if compiled with --with-largefile, when closing output wav files, riff header block was written over start of audio data - fixed: -eemb wasn't working properly, this broke the 'metronome' preset - fixed: recording offset not set when not in multitrack mode - fixed: incorrect parsing of wav headers on big-endian machines - fixed: various small fixes to make ecasound compile with Sun's Workshop6 C5.2 C++ compiler under 64bit Solaris 2.8 (sparc ultra-250) - fixed: ecasoundrc - ext-cmd-text-editor and ext-cmd-wave-editor were incorrectly parsed - fixed: cs-edit didn't preserve chainsetup position - fixed: cs-edit discarded all changes if the original chainsetup was connected but the resulting setup was not valid for reconnection - fixed: -klg didn't work as documented 16012002 (v2.1dev7) - edi-entries: edi-12 - added: a watchdog thread that handles thread cleanup; this is needed especially for audio and chainop objects which create their own threads (like jack) - changed: unification of interactive and passive modes; running ecasound without -c is now pretty close to "echo run | ecasound -c cmds" - changed: if an invalid chainsetup is given on the command line, and -c is given, ecasound will print an error but will not exit as it did before; you can continue editing in the ia-mode to check what was wrong in the setup - changed: compilation of eca-iamode-parser.cpp is now significantly faster and takes less resources; this should fix problems with compiling ecasound on machines with <256MB of memory - fixed: audio-manager.h was missing from the dist-package - fixed: critical bug that prevented writing to double-buffered non-realtime output objects - fixed: chainsetups with multiple controller objects of the same type didn't work in 2.1dev6 [jesse] - fixed: edi-12 - multichannel, noninterleaved ALSA 0.9 input and output not working properly 22122001 (v2.1dev6) - edi-entries: edi-8, edi-11, edi-17 - note: review of all samplebuffer-related code; lots of code-cleanups and minor improvements - added: edi-11; hierarchy-based config file system; default values now stored to '{prefix}/share/ecasound/ecasoundrc' while individual values can be overridden in '~/.ecasound/ecasoundrc' - added: bitrate (kbps) params to mp3 and ogg outputs - added: initial JACK support; enable by giving --with-jack=install_prefix configure option - added: edi-8; ia-mode - support for parsing args containing white-space; either by quoting with ("a token") or backslash espacing (a\ token) [junichi] - removed: ecasoundrc - 'user-resource-directory' tag removed; user-specific preset/oscillator definition directory now '~/.ecasound' - changed: ecasoundrc - to avoid versioning conflicts, all 'ext-*' tags are renamed; see ecasoundrc(5) - changed: 'make install' will now overwrite old data files ({prefix}/share/ecasound/*) - fixed: problems with automake1.5 - fixed: eiam - 'ao-get-position' returned an integer value instead of a float as it should - fixed: bugs with combining -ei and LADSPA plugins - fixed: 2.1dev5 wrote broken wav-headers - fixed: minor changes to posix signal handling - fixed: seg.faults with -ei:x where x < 50 05122001 (v2.1dev5) - added: docs - Documentation/manpages.html - added: ecalength - -su option added [smassy] - added: experimental support for largefiles (>2GB); enabled with --with-largefile configure option - changed: most preset names changed in 'effect_presets' - changed: ecasoundrc - new defaults for mp3 and ogg output - changed: unified kvutils build process; added separate libkvutils_debug target; CXXFLAGS shared with ecasound build configuration - fixed: processing didn't stop with setups that had loop- devices connected to multiple input objects - fixed: using loop devices in setups with non-default internal sample rate could cause unwanted resampling - fixed: -kog and -f were broken (since dev4) - fixed: bugs in passing audio format params to mp3 and ogg encoders; note! update your ~/.ecasoundrc to match the new defaults, see ecasoundrc(5) man page - fixed: ecasound wrote to ewf-files opened in read-only mode - fixed: work-around for environments without the C99 stdint.h header file [anarcat] - fixed: eiam - problems with 'cs-set-position-samples', 'cs-rewind' and 'cs-forward' with unconnected chainsetups 31102001 (v2.1dev4) - added: eiam - 'cs-option' commmand; although explicit use of cmd-line options as iactive-mod commands (like "-i:file.wav") is still supported, "cs-option -i:file.wav" is now the preferred syntax - removed: ecasound FAQ file - it only contains about a pageful of useful text - I moved that precious piece of content to the user's guide :) - changed: uses of '-i' an '-o' replaced with 'ai-add' and 'ao-add' in ECI documentation and code examples in 'ecasound/examples' - changed: user's and programmer's guides updated - changed: bug-alert; major rewrite of ecasound's internal object factory code - changed: eiam - output of aio-register, cop-register, ladspa-register and preset-register commands - fixed: multitrack mode was not properly detected if buffering mode was selected explicitly (-B) - fixed: eiam - minor 'cs-edit' bugs fixed - fixed: 'make install' failed if srcdir != objdir - fixed: didn't work with ALSA +0.9b8 CVS-tree - fixed: additional noises when mixing mono and stereo streams in ecasound chains - fixed: better handling of situations where ecasound can't execute ogg123 for ogg input 21102001 (v2.1dev3) - note: major changes to effect preset system which break some old preset definitions - edi-entries: edi-3 - added: ecasound-config - --ldflags and --prefix - added: engine profiling info (printed to stderr) - added: -z:multitrack, -z:nomultitrack for forced enabling and disabling of multitrack-mode - added: variable-like preset parameters; it's now possible to bind one preset parameter to multiple chainops' parameters (control multiple settings with one parameter) - added: support for describing preset parameters (edi-3) - changed: pyecasound - makefile-hack that allows pyecasound to work even though compiled against libecasound and libkvutils that are not installed to a directory listed in /etc/ld.so.conf - changed: db-subsystem - is put to sleep more aggressively, which should further decrease its cpu-load - changed: db-subsystem - runs once again under sched_fifo scheduling if -r is enabled - changed: ALSA xrun reports are now printed to stderr instead of ecasound debug-subsystem - changed: -B:rt selected as the default bmode for multitrack-setups (instead of -B:lowlatency) - changed: preset definitions in 'effect_presets' changed to take advantage of the preset system improvements - fixed: major bugs in interpreting LADSPA plugin parameter hint flags - fixed: a nasty bug in bufmode activation code prevented -kos, -kl, and others from working properly - fixed: loop devices didn't work well with -z:db; fixes ecasound testsuite case con_test1-8 - fixed: memory leak in LADSPA handling code; was triggered by recent versions of ecamegapedal - fixed: pyecasound - make target 'install-exec-hook' failed if --disable-pyecasound was given to configure 14102001 (v2.1dev2) - added: ecaplay - -k, -d and -h options, see 'man ecaplay' - added: eiam - ai-get-length-samples, ao-get-length-samples, cs-get-length-samples, cs-set-length-samples [smassy] - added: support for variable length buffer's for ALSA 0.9 output (required by -ei:xx type effects) - changed: tuned prefill-parameters for double-buffering - changed: when saving chainsetups, if no parameters are overridden, buffermode definition (-B) is saved instead of individual parameters - changed: yet more changes to the multitrack-mode - changed: eiam - output of *-status commands - fixed: -r option wasn't saved to chainsetups (used to be a session-level option) - fixed: typeselect problems when used for outputs - fixed: system lockups with -B:rtlowlatency and rt-object-only chainsetups - fixed: misplaced tab prevented eci.py from working with python 2.1 (nested scopes) - fixed: if a monitor track input ended before recording stopped in multitrack mode and -z:db was enabled, it continued producing unwanted noise to the monitor output - fixed: eiam - ladspa-register output had plugin names and descriptions mixed 09102001 (v2.1dev1) - added: chainsetup parser 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:rtlowlatency 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] 16012002 (v2.0.4) -** stable release **- - edi-entries: edi-12 - added: docs - Documentation/manpages.html - 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: misplaced tab prevented eci.py from working with python 2.1 - fixed: major bugs in interpreting LADSPA plugin parameter hint flags - fixed: memory leak in LADSPA handling code; was triggered by recent versions of ecamegapedal - fixed: edi-12 - multichannel, noninterleaved ALSA 0.9 input and output not working properly 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) -----------------------------------------------------------------------