libretime/ecasound-2.7.2/NEWS

2862 lines
134 KiB
Plaintext
Raw Blame History

-----------------------------------------------------------------------
** Ecasound - User-visible changes (NEWS) **
-----------------------------------------------------------------------
About the version numbers... "vX.Y[.Z[.R]][+extraT]" :
------------------------------------------------------
X = major version - incremented after major redesigns
Y = minor version - incremented when new features are added
Z = micro version - incremented if major.minor version is not
modified (optional)
R = revision - urgent fixes to planned releases (optional)
extraT - 'beta', 'pre' and 'rc' releases (optional)
Quick overview of various sources of change info
------------------------------------------------
- NEWS. This file. Lists all user-visible changes, with a brief
description.
- Release notes. Describes the most important changes in a bit
more detail.
- http://eca.cx/relnotes/
- Version control history. Describes all changes in implementation.
- http://ecasound.git.sourceforge.net/git/gitweb.cgi?p=ecasound
- Library interface changes are documented in ChangeLog files (these
are distributed along with the source code).
Howto for reading the entries:
------------------------------
added/removed = a new/removed feature, interfaces, or new
implementation of some feature
changed = changed behaviour, modified implementation, APIs, etc
fixed = fixed bugs, "features" and other sources of problems
[foobar] = tag identifying the author of the change; see
README for a complete list contributor tags; entries
with no tags are from the main author(s)
***********************************************************************
19082010 (v2.7.2) -** stable release **-
- added: manual gate (-gm); see ecasound(1) man page
- changed: liboil now enabled by default if the library
development files are available when running
configure
- fixed: bug with 'resample' objects and early seeks (e.g.
with '-y' offsets); reported by Artur
- fixed: bugs in kvutils that broke some old/non-glibc
builds (e.g. cygwin); bug reported by Al Oomens
- fixed: bugs in saving chainsetups with stacked audio
objects ("audioloop", "select", "playat")
20022010 (v2.7.1) -** stable release **-
- note: key changes are described in more detail at:
http://eca.cx/relnotes/ecasound_v2_7_1_relnotes.txt
- fixed: glitches in ALSA capture/playback with some sound
hardware/configurations, and using alsa-lib
older than 1.0.15; related to deprecated ALSA API
function snd_pcm_sw_params_set_xfer_align()
- fixed: bug in removing audio objects when disk double
buffering is used (-z:db); could cause a segfault
in some scenarios (e.g. with ecasignalview)
- fixed: interactive mode; c-selected segfauls if issued
with no chainsetup selected
- fixed: build errors when no liblo is available
- fixed: interactive-mode; cs-setpos, cs-rewind and cs-forward
did not work if chainsetup was connected, and no
chains (or an invalid chain) was selected; bug
reported by Joel Roth
- fixed: ecalength choked filenames with whitespace; patch
from FUJI project
(http://students.mimuw.edu.pl/~tk197881/a8cas/)
17102009 (v2.7.0) -** stable release **-
- note: key changes are described in more detail at:
http://eca.cx/relnotes/ecasound_v2_7_0_relnotes.txt
- added: new exit code of '4' to ecasound; see entry below
about signal handling changes and ecasound(1) for
more details
- added: -eadb chainop, like -ea/-eac, but gain given in dB;
documented in ecasound(1)
- added: -chorder chainop; see ecasound(1)
- added: optional inner loop optimizations using liboil;
enable with '--enable-liboil'
- added: OSC support added, see ecasound(1) and
Documentation/ecasound_osc_interface.txt; sffeat:2541462
- added: in ncurses mode, honor COLUMNS environment variable
- added: configure - added '--with-extra-cppflags' and
'--with-extra-libs' options
- added: new 'cop-get' command; see ecasound-iam(1) [alinson]
- changed: ecasound now defines "-D_XOPEN_SOURCE=500" for
all builds, expressing that the codebase expects
the build environment be compatible with the Single
UNIX Spec v2 (1998); thanks to Jussi Laako for
reminding about this
- changed: yet another change to signal handling in ecasound;
now two level response to signals is supported in
all stages of process termination -> first starting
normal cleanup and exit procudere, and with
second signal terminate immediately; see ecasound(1)
for the full story (new 'SIGNALS' section)
- changed: dropped "-funroll-loops" from the set of default
compiler options
- changed: comment out many entries in the global installed
'ecasoundrc' file (entries are redundant as the same
defaults are already set in the program binaries)
- changed: optimized inner loops in core chain routing and
mixdown functions (with liboil if available)
- changed: optimized inner loops of -ea, -eadb, -eac, and -epp
- changed: dropped tracking of 'clipped samples' from -ev as
the results were of little use (and misleading)
- changed: '-ev' status output
- changed: cosmetic changes to the default ncurses trace output;
reduced number of subsystem-level trace messages
- changed: the name for default chainsetup created from command
line is now "untitled-chainsetup"
- changed: do not automatically connect chainsetups loaded
with '-s'
- fixed: mp3 output was broken with lame 3.98 (and newer);
the default lame parameters have now been updated
and have been tested with lame 3.96, 3.97 and with
the latest 3.98.2
- fixed: bad audio with 'resample' object, non-integer sampling
rate change ratios and output to JACK; ecasound did
emit warning about this, but did not raise a fatal
error; now the underlying problem is fixed and now
'resample' and 'jack' objects maybe safely used
together
- fixed: minor bug in ecamonitor; "cop-status" was used with
multiple chains selected
- fixed: don't use '--ignore-fail-on-non-empty' rmdir option
as it is not available on many platforms (e.g. OS X)
and this breaks the uninstall target; sfbug:2772628
- fixed: bug in ecasound frontend parser for '-E' option that
broken passing arguments containing the substring
"-E"; introduced in 2.5.2 release
- fixed: stale audio was written to JACK output ports in case
of multiple streams, connected to different JACK ports,
reaching end-of-stream at different times [jedahu]
08022009 (v2.6.0) -** stable release **-
- note: key changes are described in more detail at:
http://eca.cx/relnotes/ecasound_v2_6_0_relnotes.txt
- added: new optional params to 'jack' -> 'jack,clientname,portprefix';
replaces old interfaces 'jack_auto', 'jack_generic'
and 'jack_alsa'; see ecasound(1) for more details
- added: interactive mode - new commands 'jack-connect',
'jack-disconnect' and 'jack-list-connections'; see
ecasound-iam(1) for details; closes sffeat:2134183
- added: 'jack_multi', see ecasound(1); closes sffeat:1415822
- added: ecasound options '--server', '--server-tcp-port' and
'--no-server'; these replace the misleading old
options '--daemon', '--nodaemon' and '--daemon-port',
which are now deprecated
- added: extended unit tests to cover option parsing, with
some initial test cases
- added: unit test framework - minor improvements including
abilitity to select which cases to run
- added: ECI - functions eci_ready() and eci_ready_r() added
to ecasoundc.h, and ECA_CONTROL_INTERACE::ready()
to the C++ API
- changed: deprecated 'jack_auto', 'jack_generic' and
'jack_alsa'
- changed: numbering of JACK ports created with 'jack' and
'jack_generic' starts from "_1" separately for
each prefix [dsacre]
- changed: deprecated 'ai-wave-edit', 'ao-wave-edit' commands
and the 'ext-cmd-wave-editor' ecasoundrc field
- changed: emit a 'subsystem' level trace message when
engine state changes to finished
- changed: interactive mode - minor update to 'status' command
output
- changed: compile libecasoundc as PIC code to make it possible
to use it from shared libraries; fixes problems
with e.g. Audio::Ecasound on amd64 architecture ;
closes sfbug:2505551
- changed: ecasound option -f now accepts empty arguments for
sample format, channel count and sampling rate; empty
argument states that ecasound can pick a suitable
value, either the default value or e.g. the JACK
system sampling rate; updated documentation, see
ecasound(1)
- changed: minor update to ecasound's "--help"
- changed: when reading RIFF WAVE files, properly ignore
any unknown subchunk types
- changed: largefile support (+2GiB files) is now enabled
by default and configure uses's default autoconf
macro AC_SYS_LARGEFILE to perform the checks;
to explicitly disable, use '--disable-largefile';
the old '--with-largefile' no longer has any effect
- changed: refactored ECI C impl code to get rid of all
fixed size buffers from the parser; this makes
the implementation more robust, reduces memory
usage and provides a small speed-up to most ECI
apps; closes sfbug:1412409
- fixed: do not limit max-gain reported by '-ev' to [1,max]
value range
- fixed: avoid denormal numbers in '-ete' (leads to unusually
high CPU load)
- fixed: 'dump-cop-value' did not work as documented
- fixed: ECI - signal an error (e.g. eci_error() returns true)
if connection is lost to engine process (sync lost
or an other error)
- fixed: ecasignalview - exit if engine reports an error
during operation
- fixed: interactive mode - loop devices saved with incorrect
syntax, affects cs-save, cs-save-as and cs-edit ; see
http://eca.cx/ecasound-list/2009/01/0058.html
- fixed: problems when seeking back to start with setups using
loop devices; closes sfbug:2527049
- fixed: segfault if using a tone generator input with a fixed
lenght, and a seek past the end of stream was performed
- fixed: aac/ogg/mikmod/mid inputs - once object reached state
'finished' (all samples played), it cannot be played
again by reconnecting the chainsetup
- fixed: combination of '--server' and '-C' (disable interactive
mode) had a bug that prevented processing of commands
received over the server socket while the engine
was running the batchmode
- fixed: a nasty bug in 'playat' implementation causing audible
artifacts ; see
http://eca.cx/ecasound-list/2009/01/0089.html
- fixed: sndfile and audiofile backends - emit a warning if
a seek fails (e.g. when seeking beyond current
end-of-file for output objects)
- fixed: various improvements and fixes related to using
non-seekable audio objects (especially interactive
use); in most cases this means graceful recovery
from failed seek attempts, and correct reporting of
the objects actual current position
- fixed: error is emitted if trying to use 'select' with
objects that do not support seeking
- fixed: bugs with passing 'auto' as the 2nd parameter of
'resample'
- fixed: bug with seeking resampled audio objects
- fixed: bug in combined use of 'audioloop' and 'resample'
- fixed: catch and warn about various errors cases when
given incorrect or missing params to audio
types: typeselect, resample, reverse, playat,
audioloop, select
24082008 (v2.5.2) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_5_2_relnotes.txt
- fixed: bug in channel routing of LADSPA plugins that have
more audio output ports than input ports
21082008 (v2.5.1) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_5_1_relnotes.txt
- fixed: a last minute change in 2.5.0 that caused build errors
with gcc-4.3.1 if ALSA support is disabled
- fixed: a change in 2.5.0 how process cleanup is initiated from
the signal handler caused severe problems on some
systems when ecasound was interrupted with e.g.
ctrl-c/SIGINT; worst case was a crashed X session which
is of course really, really bad
- fixed: a bug in registering LADSPA plugins; on some systems
not all found plugins were registered properly to
ecasound's object maps causing some plugins to be
unusable; errors
16082008 (v2.5.0) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_5_0_relnotes.txt
- notice: slightly modified the version numbering scheme -
minor version is incremented whenever non-trivial
new features are added
- notice: verified to compile with minimal warnings with
gcc-4.3.1
- edi-entries: edi-40 closed (Update to error and warning
reporting mechanisms), edi-38 closed (see
edi-7 partially implemented
- added: ecasound.el: added missing ECI commands cs-option,
cs-set-length, cs-set-position-samples, ai-get-length,
ai-set-position, and ai-set-position-samples [dto,
mlang]
- added: tone generator input; '-i:tone,sine,440,10.3' will
create a 440Hz sine tone with duration of 10.3 seconds;
this input type will be especially useful for reproducing
bugs in complicated chainsetups, without the need to
exchange complete session data (which usually are composed
of large amounts of audio data)
- added: audio looper object; "-i:audioloop,foo.wav" will play
'foo.wav' and loop it indefinitely
- added: audio selector object; "-i:select,5,15.2,foo.wav" will
play 15.2sec of "foo.wav", starting at position 5sec;
relates to (edi-7)
- added: audio play-at object; "-i:playat,5,foo.wav" will
start playing "foo.wav" after position reaches 5sec
- added: EWF files; ability to specify positions in time in
sample frames; "2.0" is interpreted as 2.0secs while
"88200sa" is interpreted as 88200 samples
- added: 'reopen-count' parameter to threshold gate (-ge);
for instance when recording vinyl/tapes, this allows
to automatically restart recording when a new track
is started [andrewl]
- added: ecasound frontend option '-E "cmds"' that allows
to run a set of interactive mode commands at
startup; see ecasound(1) for details; closes (edi-38)
- added: a notice is printed in case audio object's audio
format parameters differ from the chainsetup's default
values (audio object's own params always override
any value set by e.g. '-f:...').
- changed: most of the EWF support (Ecasound Wave Files, .ewf)
has been rewritten in this version; numerous bugs
are fixed
- changed: eaim - commands 'cop-add' and 'ctrl-add' now allow
an alternate syntax: both "-<id_string>:par1,...,parN"
and "<id_string>:par1,...,parN" are now accepted
- changed: ability to write to EWF file is now marked as
a deprecated feature which will be removed in
a later release
- changed: mechanism to terminate forked child processes;
properly wait for process termination in all
circumstances (previously there were some
unhandled corner cases)
- changed: major updates to the examples.html page (available
also at http://eca.cx/examples )
- changed: refactored logic for propagating seek events
across chainsetups; warnings are now issued if
one tries to seek objects that do not supports
seeking; similarly warning is issued if a given
audio object type doesn't support sample accurate
seeks (for example mp3 inputs have this limitation)
- changed: updated ecasound(1) man page description of '-klg'
- changed: separate global (-d, -R, ...) and ecasound frontend
specific (-c, --daemon, -s, ...) options in
ecasound(1) man page
- changed: changes to "cs-status" (aka "status", "st")
output formatting; now more information about
selected and connected setups is printed out
- changed: minor changes to the information printed out when
open audio input/outputs
- changed: pipes, sockets and device nodes in LADSPA plugin
directories are skipped (previously hidden files
were already skipped)
- changed: loop device identifier was changed from an integer
to a generic string; both "-i:loop,1" and
"-i:loop,myloop" are now valid
- fixed: incorrect usage of the Python C API, which leads to
segfaults when pyecasound is used under python2.5;
fixes Debian bug #468965
- fixed: bugs in ewf-looping code
- fixed: avoid terminating processing when invalid parameters are
passed to channel copy (chcopy/erc), mix (chmix/erm) and
move (chmove) chainops
- fixed: eaim - buffering mode was sometimes incorrectly
reported in 'cs-status' output (-B:auto instead of
the actual set buffering mode) output; bug reported by
Jan Weil
- fixed: compilation warnings from GCC-4.3; fixes Debian bug
#454890, patch from Cyril Brulebois
- fixed: bug in passing multiple arguments to 'typeselect',
'resample', and 'resample' objects
- fixed: with some glibc versions (tested with 2.3.6.ds1-13etch5),
ecasound did not fully clean up all threads when
it received a signal and terminated; the bug showed
up as a stuck thread, with backtrace pointing to
pthread_onexit_process()
- fixed: compilation issue on Mac OS X 10.5 [grobian]
- fixed: bug in saving control state with 'cs-save' or
'cs-save-as'; triggered if controller was followed
by more chainops on the same chain
- fixed: bugs with preserving state across seeks with
many controller objects (-kl, -kl2 and -kos)
- fixed: a bug in ecasound user's guide w.r.t. usage of
loop devices
- fixed: sloppy parsing of "-i:loop" and "-o:loop" arguments
leading to confusing error messages when invalid input/output
objects, containing the substring "loop" were passed
as arguments to "-i" and "-o"
14082007 (v2.4.6.1) -** stable release **-
- fixed: extra debugging, printed to stderr, for resource file
values was accidentally left enabled in the 2.4.6 release
14082007 (v2.4.6) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_6_relnotes.txt
- added: new option '-R:path-to-resource-file' to use a custom
resource file and disable querying of global and user
resource files; as a special case, by setting this
to '/dev/null', one disable all access to resource
files; requested by Klaus Schulz and Keith Creasy
- added: eiam - new command 'resource-file'; see ecasoundrc(5)
man page; related to previous item
- changed: license of rubyecasound, the Ruby ECI API
implementation, has been changed from GPL to LGPL
- fixed: build errors caused by missing #includes, reported
by GCC 4.3; bug report from Debian, bug #417178
- fixed: rounding errors with small buffersizes caused time crop
gate (-gc) to function incorrectly; reported by Joe
Planisky
- fixed: force localization of decimal numbers to "POSIX" (i.e.
use period as the separator) to avoid bugs with
e.g. LADSPA plugins that call setlocale and break
the ecasound option parser; for instance all swh-plugins
call setlocale; reported by R<>mi Rouaud
- fixed: printing chain operator (e.g. the '-ev' operator) status
at end of sessions was broken in 2.4.5; reported by
Julien Claassen
- fixed: bugs that led to infinitely running chainsetups when
loop input/outputs were used; reported by Aaron Heller
and Etienne Deleflie
- fixed: incorrect page numbers in table of contents of
the Ecasound Programmer's and User's Guides; patch
from Junichi Uekawa
- fixed: segfault when removing a chain operator with multiple
associated controllers; reported by Adam Linson
07122006 (v2.4.5) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_5_relnotes.txt
- added: ability to compile without a readline library (will
disable the curses based console user-interface)
- added: if libsndfile is found and supports flac (sndfile
1.0.12 or newer), it will be used as the default
handler for flac files; use of sndfile makes random
access for flac files possible (for example seeking
in interactive mode)
- added: section on 'RETURN VALUES' to ecasound(1) man page
- added: ecasound-iam(1) - added documentation for error
return values for 'run', 'start' and 'cs-connect'
- added: ECASOUND_LOGFILE and ECASOUND_LOGLEVEL environment
variables; see ecasound(1) for documentation
- added: more detailed description of debug levels that
can be set with 'd' to ecasound(1) manpage
- added: examples section to ecasound(1), which points to
the examples page at eca.cx/ecasound
- added: new chain operators '-chmove' and '-chmute'
- added: new aliases for chain operators: '-chmix' for '-erm',
and '-chcopy' for '-erc'
- added: ability to protect EOS arguments, like filenames, with
double quotes, closes bug #1456510; see also the related
BUGS entry about handling commas in filenames, and
updated documentation in ecasound(1), ecasond-iam(1)
and the User's Guide
- removed: readline-4.0 subdir from the dist package; system
readline library is now the only build option
- changed: ecasoundrc - added "-f" to the default flac
output exec command (although now libsndfile's
flac support is the default)
- changed: improved libsndfile integration, any libsndfile
supported file format can be used as output for
'sndfile,foo.ext' (format selected based on filename
extension)
- changed: eiam - default int-log-history length set to zero
- changed: updated config.guess and config.sub to more recent
versions (timestamp 2006-07-02)
- changed: updated the documentation for 'ai-select/ao-select',
it is no longer required that input/outputs have
a unique name within one chainsetup; problem reported
by Kurt Konolige
- changed: replaced the ECI C implementation's (libecasoundc)
engine cleanup mechanism with a much more robust one
- changed: the engine will now refuse to start if a start offset
is given with '-y:secs' for an object not supporting
seeking; this has been a very common source of
end-user confusion
- fixed: segfault when removing loop devices with a[io]-remove,
reported by Pedro Antonio Fructuoso Merino
- fixed: incorrect headers in created flac files (not related
to sndfile/flac); fix can possibly affect other file
formats handled by external apps (aac, midi, mikmod,
mp3 and ogg files), problem reported by Florian Ladstaedter
- fixed: errors during batch processing (running out of file
space, etc) were not reported as a non-zero process
return value, problem reported by Zrajm Akfohg
- fixed: possible segfaults with ctrl-select, ctrlp-select
and ctrlp-value [allies]
- fixed: loop devices were not correctly saved with cs-save
and cs-save-as [allies]
- fixed: bug in handling big-ending 24/32bit samples [aheller]
- fixed: ecasignalview build errors on cygwin [hawk777]
- fixed: segfault when parsing "\" in interactive mode, reported
by Koen [pfructuoso]
- fixed: a subtle race-condition in the cleanup routines leading
to segfaults when breaking a batch run with ctrl-c
- fixed: bug causing audible glitching when seeking with
chainsetups containing loop devices [pfructuoso]
- fixed: "rw 0" caused the engine to skip ahead multiple
seconds (reported by Kurt Konolige)
- fixed: segfaults from invalid params to -f option, for
example "-f:16" or "-f:16,2", reported by peppo on
#lad at freenode.org
- fixed: a severe string termination bug in libecasoundc
that led to garbled output from ECI commands
returning lists of strings, reported by Brad Bowman,
Joel Roth and Stuart Allie
27012006 (v2.4.4) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_4_relnotes.txt
- added: eiam - ai-describe, ao-describe, cop-describe and
ctrl-describe commands; see ecasound-iam(1)
- added: ecasignalview - ability to pass ecasound options
-G, -B, -M*, -r and -z
- added: BUGS file - added 'Reporting bugs' section
- added: updated RPM spec-file for x86_64 support [grabner]
- changed: minor changes to ecaplay console output
- changed: ECI C impl. - increased the time engine has
for processing ECI commands; fixes problems
with the 'cs-disconnect' command with complex
setups involving connections to external
resources such as jackd
- changed: error is raised if one tries to add chainops or
controllers when multiple (or zero) chains are
selected
- changed: increased size of buffers used by the ECI-C
parser (sfbug:1412409) [allies]
- changed: it's now possible to set initial values for
operator parameters controlled by MIDI-CCs
- fixed: compile-time bug in ecasignalview.cpp
- fixed: saving chainsetups in cases where a ctrl is
connected to a effect preset
- fixed: DBC_CHECK failure from eca-chainsetup.cpp when
running cs-edit on a non-connected chainsetup
- fixed: bug in seeking mp3 files
- fixed: eiam - 'c-select' caused a segfault if no chainsetup
was selected
- fixed: -etf:0 caused a segfault
- fixed: severe bug in mixdown code - in cases where an input
is connected to multiple chains, and one or more inputs
have reached end of stream, the resulting mix is not
handled properly
- fixed: bug in freeing references to buffers in effect preset
code; triggered by externally terminating an ecasound
session containing preset objects (sfbug:1412200)
- fixed: ECI-C memory access errors reported by valgrind
- fixed: allow commas in ecasignalview input/output params;
makes it again possible to specify ALSA devices, etc
21082005 (v2.4.3) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_3_relnotes.txt
- added: support for ALSA sequencer support; see ecasound(1)
and examples.html [pedrolc]
- added: runtime warning about possible problems when mixing
resample and jack objects
- changed: scheduling changes for MIDI and disk i/o subsystems;
possibly affects performance in certain use-scenarios;
fixes debian bug #317900
- changed: updated config.guess and config.sub to more recent
versions (timestamp 2005-04-22)
- fixed: failed runtime check from eca-fileio-stream.cpp:159
- fixed: eiam - ao-remove'ing JACK input/outputs caused a segfault
- fixed: --disable-jack/--enable-jack did not work
- fixed: system-hangs when run in realtime mode and using a large
disk i/o double-buffer (-z:db)
- fixed: ewf-debugging output was left enabled in 2.4.2 release
- fixed: bug in detecting finished-state with .ewf files when
used with -z:db mode enabled -> caused flood of underrun
warnings with multi .ewf file sessions
- fixed: externally terminating, e.g. via JACK transport system,
a batch chainsetup would cause a segfault
07082005 (v2.4.2) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_2_relnotes.txt
- note: verified to compile ok with gcc-4.0.0 and gcc-4.0.1 [kaiv]
- added: eiam - ctrlp-list, ctrlp-selected, ctrlp-get, ctrlp-select
and ctrlp-set commands; the last two are RT-commands;
see ecasound-iam(1) for more info [allies]
- added: ecasignalview - ability to reset stats with 'spacebar'
and quit with 'q/Q/Esc'; separate logarithmic mode (enable
with -L, see also -I which is still the default);
display of per-channel average amplitude; see
ecasignalview(1) man page for details [jeffrey]
- added: ecatrimsilence.sh to examples subdir [kaiv]
- added: --keep-running (or -K) option to ecasound, do not exit
from batch mode when processing is finished/stopped;
especially useful when used in combination with JACK
inputs/outputs [kaiv]
- changed: various small updates to User's Guide [kaiv]
- changed: ecasound user-visible copyright string changed [kaiv]
- changed: minor changes to ecasignalview user-interface
[jeffrey,kaiv]
- changed: --daemon-mode does not anymore require running in
interactive mode [kaiv]
- fixed: using ecasound.spec with recent versions of rpm
results in a "%package debuginfo" error [kaiv]
- fixed: problems in saving ewf objects with cs-save,
cs-save-as and cs-edit [kaiv]
- fixed: controllers were always added to the last
chainop, not to the selected chain operator [allies]
- fixed: --enable-jack and --disable-jack both disabled JACK
support [kaiv]
- fixed: serious bug in the "reverse" audio objects, caused
audible noise in the reversed signal [kaiv]
- fixed: segfaults at exit when LADSPA plugins had been used;
the error did not happen every time and with every type
of plugin; problem was a race between atexit handlers
of ecasound, and the dynamically loaded plugins [kaiv]
- fixed: ecasignalview - do not send or receive transport
events [kaiv]
- fixed: ecasound daemon mode, correctly print hostnames without
resolvable hostname
08042005 (v2.4.1) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_1_relnotes.txt
- note: verified to work with automake versions 1.6 and 1.9;
automake 1.5 and older, as well as autoconf versions
older than 2.50, are no longer supported; these
changes only affect users of Ecasound CVS checkouts
- added: ecaplay - better error reporting, feature to reset
output device audio parameters for each new input
file, support for ECAPLAY_OUTPUT_DEVICE environment
variable; see ecatools(1) for more info
- added: playlist mode to ecaplay (new -q, and -p options;
see ecaplay(1) for more info)
- added: "Supported automake/autoconf features" section to
the INSTALL file
- added: new presets to the default effect_presets file
- added: support for describing full range of preset parameter
flags with -ppt (see effect_presets file and the
relevant sections in User's Guide)
- added: new sections on preset parameters to User's Guide
- added: allow reseting ecasignalview max-peak and clipped-samples
counters by sending a SIGHUP to the process
- changed: moved definitions from acconfig.h to configure.in;
gets rid of the AC_DEFINE warnings produced by
recent versions of autoheader
- changed: Ecasound Programmer's Guide converted from LaTeX
to ascii/rst
- changed: sed is used to generate ecasoundrc at make; allows to
specify a custom pkgdatadir when running make [junichi]
- changed: various small improvements to all ecatools and
the related manpages
- changed: updated config.guess and config.sub to more recent
versions (timestamp 2005-03-24)
- changed: various updates to the README file
- fixed: sources for the aRts plugin were not present in the
2.4.0 release package
- fixed: mp3-header parsing code has been partly rewritten;
the new parser is designed to better handle garbage
and unknown frame types in mp3 files [juliand,kaiv]
- fixed: compile errors with egcs-2.91.66
- fixed: current position of the time crop gate (-gc) was
incorrecly increased [alexey]
- fixed: compilation failed if building outside srcdir
- fixed: ECI C impl. did not properly release all file handles
in eci_cleanup(); for example playing thousands of
files with ecaplay would cause the system to run
out of file descriptors (too many open files error)
- fixed: bug in handling LADSPA plugins with colon chars in
their port descriptions (such as the SC1-4
compressors)
- fixed: do not print "Session created" even if -q option has
been given (quiet output mode)
12032005 (v2.4.0) -** stable release **-
- more verbose description of change available at:
http://eca.cx/relnotes/ecasound_v2_4_0_relnotes.txt
- edi-entries: edi-40 progress
- added: support for having commas in arguments by escaping
them with a backslash (example: "ai-add foo\,bar.wav")
- added: pretty-printing of ecasound output; wrap output so
so that all lines fit into 74 columns; does not affect
wellformed output mode nor stderr output (-D)
- added: new section about handling commas in filenames to
Ecasound User's Guide
- added: eiam - new 'int-log-history' command to query
recent log messages sent by libecasound; this is a very
useful tool for debugging ECI scripts and apps
- added: eiam - new 'int-set-log-history-length' command to set
log history length; default to 5 items
- added: resample-lq (low-quality) audio object to force using
the internal resampler even though support for
libsamplerate is enabled at build time
- added: support for sum-mixmode; enabled with -z:mixmode,sum;
the old average mixing is still the default; see
ecasound(1)
- added: ecasoundrc - 'mix-mode' setting; see ecasoundrc(5)
- changed: more helpful messages to explain why a chainsetup
cannot be connected to the engine
- changed: EIAM - when returning a list of strings, all commas
in list elements are now escaped with backslashes;
this is done to avoid ambiguity in parsing
- changed: new default debug level of 271
- changed: new optimized message queue implementation used in
communication between the engine and the interface
subsystems; solves a few remaining corner cases
where ecasound could block in real-time critical
code-paths
- changed: better error message if unable to load LADSPA plugin
with -el/-eli
- changed: removed hard upper-limit for -ei scale-factor,
modified both the upper and lower soft limits
- changed: updated config.guess and config.sub to more recent
versions
- fixed: correctly interpret EIAM command arguments containing
whitespace (example: "ai-add foo bar.wav")
- fixed: denormal problems in filter and delay operators
- fixex: setting radius params of -etc comb filter
- fixed: make check target failed in readline-4.0 subdir
- fixed: avoid segfault when receiving a bufsize or srate
change event from JACK; ecasound still cannot change
bufsize or srate on the fly, but at least it now fails
gracefully
- fixed: always pass filename (%f) as one parameter to the
external apps; fixes bug present in 2.3.4 and 2.3.5
releases which broke handling spaces in filenames;
affected all file formats handled via external tools
(ogg/mp3/flac/m4a/...); also a separate bug in handling
spaces in ogg output filenames was fixed
- fixed: occasional bugs with rubyecasound in handling the
EIAM 'quit' command; this also fixes the errors in
running 'make check' in ecasound/rubyecasound
- fixed: serious bugs in resampling between 96000 and 44100/48000
rates when using libsamplerate; upgraded Ecasound to use
the libsamplerate 'full API'
- fixed: options "-b:", "-b" and "-b:0" caused a segfault
- fixed: aac/m4a encoder was not stopped properly after
processing was finished
12112004 (v2.3.5) -** stable release **-
- note: main website address has changed to www.eca.cx/ecasound
- changed: collected all email addresses from source files to
the AUTHORS file and added some antispam measures
- changed: do not raise an error when opening an OSS device that
does not support SNDCTL_DSP_GETBLKSIZE
- changed: updated all the html-docs to match the new website
style
- fixed: default to native-python ECI implementation on MacOSX
- fixed: link against coreaudio libs if JACK enabled on MacOSX
- fixed: ecasignalview build error if compiling without
ncurses [mb]
- fixed: bug in ecasound/rubyecasound 'make check' target
27102004 (v2.3.4) -** stable release **-
- edi-entries: edi-14 and edi-32 closed, edi-40 added
- note: verified to compile ok on MacOS X 10.3.2 [smbolton]
- note: verified to compile ok with gcc-3.4.1
- added: basic FLAC input/output support using flac utils;
new flac specific options to ecasoundrc
- added: basic AAC/M4A/MP4 input/output support faac/faad
utils; new options to ecasoundrc
- added: optional 3rd parameter to 'sndfile' for specifying
audio file format (see ecasound(1)) [jesse]
- added: documentation on adding new EIAM commands to the
programmer's guide
- added: eaim - new 'int-set-float-to-string-precision' command
- changed: set srate for mp3 input based on mp3 header
- changed: increased precision of floating point return values
in the C ECI implementation
- fixed: multitrack offset was calculated incorrectly for
ALSA devices which limit buffer period count to 2
- fixed: bugs in .wav, .cdr, JACK code, and in internal sample
conversion routines that occur on big-endian
machines [smbolton]
- fixed: ogg input failed if requested sample-format had non-native
endianess; new default-cmd for ogg-input, see
ecasoundrc(5)
- fixed: build failed on MacOSX/freebsd because of undefined
mlockall and related defines
- fixed: errors in ecasound(1) man page and the examples.html;
adding chain operators to multiple chains at once
is not supported anymore
- fixed: engine state not fully updated after a 'run'
command has completed; caused commands such as
'cs-set-position' to fail when used after 'run'
- fixed: ecasound sample formats s24_le/_be were mapped
to 4-byte ALSA formats S24_LE/_BE; now mapped
to the correct 3-byte S24_3LE/_3BE formats
- fixed: bug in C ECI impl that caused sync-loss errors between
ECI clients and the engine [jesse]
- fixed: ECI session corruption after processing 'long int'
return values [jesse]
05052004 (v2.3.3) -** stable release **-
- note: verified to compile ok with gcc-3.4
- added: eiam - 'map-ladspa-id-list' command
- added: special-case value of '-1' to 'cs-set-length' or
'-t:xxx' will set the chainsetup length according
to the longest input object
- added: ECI guide - a new section on ecasound.el [mlang]
- added: ecasoundrc - a new special-case value 'autodetect' to
the 'default-output' setting; 'autodetect' is also
the new default ecasoundrc value; see ecasoundrc(5)
for details
- changed: lots of typo fixes and other corrections to
the user's guide [ericdr]
- changed: minor configure.in cleanup relating to handling
CFLAGS, CXXFLAGS and LDFLAGS
- fixed: building against libsndfile-1.0.4 and older; if
libsndfile older than 1.0.0 is detected, sndfile
support is disabled altogether
- fixed: bug in ECI C impl that could cause segfaults [mewe]
- fixed: signal handling bugs in ecasignalview and ECI C
impl [mewe]
- fixed: bug in ecasound(1) caused man to not show the
last three pages
- fixed: bug in the daemon-mode (NetECI) protocol parser
that caused parsing long (over 32 chars) commands
to fail
- fixed: 'libecasound-config --libs' did not list all
external libraries used
- fixed: assign default param-names to effect presets
- fixed: preset parameters were not saved by 'cs-save' and
'cs-save-as'
06122003 (v2.3.2) -** stable release **-
- edi-entries: edi-33 closed
- added: support for libsndfile; enabled if libsndfile is
detected succesfully by configure; can be disabled
with --disable-sndfile
- added: added new audio input/output types 'audiofile',
'sndfile' and 'mikmod'; see ecasound(1) for more
details
- added: pyecasound/test2_stresstest.py new test case
- added: initial Ruby ECI impl added; see rubyecasound/README
for details [janweil]
- added: --enable-rubyecasound configure option; defaults to
yes if ruby interpreter found on the system
- added: resampling examples to Documentation/examples.html
- changed: increased default buffer sizes for 'rtnull' objects
to avoid too many xrun warnings; warnings are also
no longer printed to stderr - instead a summary
is printed at the end of the session if any xruns
have occured
- changed: Ecasound PDF docs (user's, programmer's and ECI
guides) are now generated using AE fonts; the PDFs
can now be read with readers like xpdf and
probably look better in others [janweil]
- fixed: pyecasound/test1_stresstest.py was not included in
the dist package
- fixed: libaudiofile - input file audio parameters
parsed incorrectly
- fixed: -x option - truncate outputs - was not working
- fixed: preset.h and other related headers were not installed
during install-data phase
- fixed: pyecasound - the critical native python bugs found
in earlier releases are now fixed
- fixed: ecasoundc - serious memory leak in handling string
list return types
- fixed: typo in libecasoundc-config usage [koraq]
- fixed: bugs with resample that caused audible artifacts
with certain srcrate-dstrate combinations
19112003 (v2.3.1) -** stable release **-
- added: --disable-effects configure option; build ecasound
without effect and controller components
- changed: libtool is setup to only create object files for
static linkage; you can revert to the old behaviour
with the --enable-shared configure option
- changed: ecasound.el updated to 0.8.3, lots of small
changes, see ecasound.el for details [mlang]
- changed: pyecasound - due to bugs found in the native python
impl, the C ECI impl is again set as the default;
can be overridden using --enable-pyecasound=IMPL
- changed: pyecasound - the native python impl (ecacontrol.py)
now returns an error if communication with the
ecasound process times out
- changed: html versions of programmer's, user's and ECI
developer's guide are generated with Hevea instead
of latex2html [juekawa]
- changed: updated config.guess and config.sub to more recent
versions
- fixed: makefile errors when building against system libreadline
- fixed: processing did not start in the default transport mode
with JACK versions 0.80 and older
- fixed: recording failed with a WinTv 401dbx and the btaudio
OSS driver
- fixed: compilation against alsa-lib-1.0.x
- fixed: default ratio value incorrectly set for -eca; does
not affect presets using -eca [remon]
29082003 (v2.3.0) -** stable release **-
- edi-entries: edi-4, edi-19 and edi-35 frozen, edi-38 added
and frozen immediately, edi-39 added; frozen is
a new status for items that probably won't be
ever implemented
- note: verified to compile ok with gcc-3.3
- note: verified to work with python-2.3
- added: eaim - command 'engine-launch' to inialize engine
without starting actual processing, and 'engine-halt'
for halting it without disconnecting; useful with
JACK transport functions
- added: separate AUTHORS file; also added to the website
- added: -d, -dd and -d command-line options, see ecasound(1)
- added: recording offset parameter -z:multitrack,offset option
- changed: to avoid resampling faults, upper limit of 2000%
set for pitchshifter's (-ei) shift-% arg; note! high
values of shift-% can still cause crashes if using
libsamplerate
- changed: if available, use pthread API for setting scheduler
params; might improve real-time reliability on
rh9.0 machines and others that have NPTL
- changed: pyecasound - redefined configure option
--enable-pyecasound=IMPL where 'IMPL' is either
'c' or 'python'; --disable-pyecasound disables
them both
- changed: pyecasound - if ecasound's build prefix does not
match the python prefix, /usr or /usr/local,
pyecasound will be disabled; you can override
this by specifying the python module directory
explicitly with the --with-python-modules=DIR
option
- changed: JACK transport support code to the new API
introduced in 0.76.1 and newer
- changed: ecasound.spec; added 'AUTHORS'
- changed: JACK transport modes redefined; new modes are
'notransport', 'send', 'recv' and 'sendrecv'
- changed: major updates to README file
- changed: improved check for aRts; now verifies that linking
against libartcs actually works before enabling
the arts plugin
- fixed: use of the JACK transport API was never actually
enabled in 2.2.3
- fixed: .aiff/.snd/.au input/output was not working at all
due to a typo in source code
- fixed: a chain with a short input file could cause a nasty
feedback loop if processed with certain effects
and mixed with audio from other chains
- fixed: ewf length and offset errors with sample rates
different from default (usually 44.1kHz)
- fixed: chainsetup samplerate incorrectly set with some
configurations; caused problems with -t:xxx and
other functions related to chainsetup level position
and length
- fixed: serious bug in mixing down multiple chains with
different number of channels to one output; audio
from previous mixdown rounds leaked to unused
source channels
- fixed: some chainsetup parsing errors were totally ignored
and not reported to the user
- fixed: eiam - output of map-* commands was broken in
certain locales (for example "fi_FI")
- fixed: without at least one '-Md' or one '-km' option
specified, MIDI-services did not work
- fixed: pulse gate timing inaccuracy (-eemp); also affected
the bpm pulse gate (-eemb) and thus the metronome
preset (-pn:metronome)
- fixed: a 'setpos' on a not yet connected chainsetup would
cause seeks to the wrong position for objects with
non-default samplerates
- fixed: pay regard to -z:multitrack and -z:nomultitrack when
saving chainsetups to .ecs files
27042003 (v2.2.3) -** stable release **-
- added: support for both -0.64 and 0.65- JACK versions;
transport functionality is only enabled with the
newer versions
- added: automatic query of child object sample rate by
giving 'auto' as 2nd arg to resample object
- changed: by default python version of ECI is used; the C
python module for ECI, pyecasound, is only compiled
if --enable-pyecasound is specified
- changed: jack_auto,dstclient input/output object now
automatically connects to matching ports of JACK
dstclient (no longer requires dstclient to have
in_X/out_X port names)
- fixed: yet another fix for creating temporary files in
ecanormalize and ecafixdc; now both LOGNAME and USER
are checked for a valid user name
- fixed: prefer usleep over nanosleep on cygwin; avoids
the excessive-cpu-usage problem
- fixed: work-around for a bug in the pcm plugin of ALSA 0.9.1
and earlier that caused recording/playback to
stop to an audio i/o error
- fixed: inconsistencies in how configure --disable/enable-feat
options were handled
- fixed: if pyecasound was disabled at build time, make
install target failed in ecasound/pyecasound
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 page added to documentation;
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 cop was 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\<5C>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)
-----------------------------------------------------------------------