1
-----------------------------------------------------------------------
2
** Ecasound - User-visible changes (NEWS) **
3
-----------------------------------------------------------------------
5
About the version numbers... "vX.Y[.Z[.R]][+extraT]" :
6
------------------------------------------------------
8
X = major version - incremented after major redesigns and/or major
10
Y = minor version - incremented when new features are added and/or
11
changes in core code that impact many yse-cases
12
Z = micro version - incremented if major.minor version is not
14
R = revision - urgent fixes to planned releases (optional)
16
extraT - 'beta', 'pre' and 'rc' releases (optional)
18
Quick overview of various sources of change info
19
------------------------------------------------
22
- 2.8.0 and newer: a compact list of user-visible changes
23
- 2.7.2 and older: details of all user-visible changes.
24
- RELNOTES. The release notes file describe the most important changes in
25
a bit more detail. This is maintained in the git tree and is sent
26
as the release announcement mail.
27
- For notes of previous releases: http://eca.cx/relnotes/
28
- Version control history. Describes all changes in implementation.
29
- http://ecasound.git.sourceforge.net/git/gitweb.cgi?p=ecasound
30
- Library interface changes are documented in ChangeLog files (these
31
are distributed along with the source code).
33
Howto for reading the entries (2.7.2 and older):
34
------------------------------------------------
36
added/removed = a new/removed feature, interfaces, or new
37
implementation of some feature
38
changed = changed behaviour, modified implementation, APIs, etc
39
fixed = fixed bugs, "features" and other sources of problems
41
***********************************************************************
43
11052011 (v2.8.0) -** stable release **-
44
- note: NEWS format changed, see 01012011 meta entry below
45
- changed: do not use deprecated jack_client_new()
46
- changed: simplified signal handling for not-so-POSIX
48
- fixed: seeks with -klg did not work
49
- fixed: bug in int-float conversions
50
- fixed: some false DBC warnings removed
51
- fixed: bug in setting jack_multi channel count
52
- fixed: bug in signal handling caused rubyecasound scripts
53
to fail (e.g. ecasound's own stresstest.rb)
54
- fixed: at end of playback, properly wait until all buffered
55
samples have been played out to ALSA devices
56
- fixed: bug with live seeks and -z:db buffering; caused
57
problems to e.g. JACK transport slaving and
58
live seeks (repositioning without stopping transport)
59
01012011 meta: notes on provided change information in this file
60
- the release entries will be shorter from now on, only
61
listing the affected features (e.g. which objects),
62
and type of change (addition, change, bugfix)
63
- see RELNOTES and git commit history for a more detailed
65
- author tags will no longer be used, [foobar] used to
66
indicate the author of the change, unless it was from
67
someone from the main author(s); README still lists
68
all the developer tags used; instead git history
70
19082010 (v2.7.2) -** stable release **-
71
- added: manual gate (-gm); see ecasound(1) man page
72
- changed: liboil now enabled by default if the library
73
development files are available when running
75
- fixed: bug with 'resample' objects and early seeks (e.g.
76
with '-y' offsets); reported by Artur
77
- fixed: bugs in kvutils that broke some old/non-glibc
78
builds (e.g. cygwin); bug reported by Al Oomens
79
- fixed: bugs in saving chainsetups with stacked audio
80
objects ("audioloop", "select", "playat")
81
20022010 (v2.7.1) -** stable release **-
82
- note: key changes are described in more detail at:
83
http://eca.cx/relnotes/ecasound_v2_7_1_relnotes.txt
84
- fixed: glitches in ALSA capture/playback with some sound
85
hardware/configurations, and using alsa-lib
86
older than 1.0.15; related to deprecated ALSA API
87
function snd_pcm_sw_params_set_xfer_align()
88
- fixed: bug in removing audio objects when disk double
89
buffering is used (-z:db); could cause a segfault
90
in some scenarios (e.g. with ecasignalview)
91
- fixed: interactive mode; c-selected segfauls if issued
92
with no chainsetup selected
93
- fixed: build errors when no liblo is available
94
- fixed: interactive-mode; cs-setpos, cs-rewind and cs-forward
95
did not work if chainsetup was connected, and no
96
chains (or an invalid chain) was selected; bug
98
- fixed: ecalength choked filenames with whitespace; patch
100
(http://students.mimuw.edu.pl/~tk197881/a8cas/)
101
17102009 (v2.7.0) -** stable release **-
102
- note: key changes are described in more detail at:
103
http://eca.cx/relnotes/ecasound_v2_7_0_relnotes.txt
104
- added: new exit code of '4' to ecasound; see entry below
105
about signal handling changes and ecasound(1) for
107
- added: -eadb chainop, like -ea/-eac, but gain given in dB;
108
documented in ecasound(1)
109
- added: -chorder chainop; see ecasound(1)
110
- added: optional inner loop optimizations using liboil;
111
enable with '--enable-liboil'
112
- added: OSC support added, see ecasound(1) and
113
Documentation/ecasound_osc_interface.txt; sffeat:2541462
114
- added: in ncurses mode, honor COLUMNS environment variable
115
- added: configure - added '--with-extra-cppflags' and
116
'--with-extra-libs' options
117
- added: new 'cop-get' command; see ecasound-iam(1) [alinson]
118
- changed: ecasound now defines "-D_XOPEN_SOURCE=500" for
119
all builds, expressing that the codebase expects
120
the build environment be compatible with the Single
121
UNIX Spec v2 (1998); thanks to Jussi Laako for
123
- changed: yet another change to signal handling in ecasound;
124
now two level response to signals is supported in
125
all stages of process termination -> first starting
126
normal cleanup and exit procudere, and with
127
second signal terminate immediately; see ecasound(1)
128
for the full story (new 'SIGNALS' section)
129
- changed: dropped "-funroll-loops" from the set of default
131
- changed: comment out many entries in the global installed
132
'ecasoundrc' file (entries are redundant as the same
133
defaults are already set in the program binaries)
134
- changed: optimized inner loops in core chain routing and
135
mixdown functions (with liboil if available)
136
- changed: optimized inner loops of -ea, -eadb, -eac, and -epp
137
- changed: dropped tracking of 'clipped samples' from -ev as
138
the results were of little use (and misleading)
139
- changed: '-ev' status output
140
- changed: cosmetic changes to the default ncurses trace output;
141
reduced number of subsystem-level trace messages
142
- changed: the name for default chainsetup created from command
143
line is now "untitled-chainsetup"
144
- changed: do not automatically connect chainsetups loaded
146
- fixed: mp3 output was broken with lame 3.98 (and newer);
147
the default lame parameters have now been updated
148
and have been tested with lame 3.96, 3.97 and with
150
- fixed: bad audio with 'resample' object, non-integer sampling
151
rate change ratios and output to JACK; ecasound did
152
emit warning about this, but did not raise a fatal
153
error; now the underlying problem is fixed and now
154
'resample' and 'jack' objects maybe safely used
156
- fixed: minor bug in ecamonitor; "cop-status" was used with
157
multiple chains selected
158
- fixed: don't use '--ignore-fail-on-non-empty' rmdir option
159
as it is not available on many platforms (e.g. OS X)
160
and this breaks the uninstall target; sfbug:2772628
161
- fixed: bug in ecasound frontend parser for '-E' option that
162
broken passing arguments containing the substring
163
"-E"; introduced in 2.5.2 release
164
- fixed: stale audio was written to JACK output ports in case
165
of multiple streams, connected to different JACK ports,
166
reaching end-of-stream at different times [jedahu]
167
08022009 (v2.6.0) -** stable release **-
168
- note: key changes are described in more detail at:
169
http://eca.cx/relnotes/ecasound_v2_6_0_relnotes.txt
170
- added: new optional params to 'jack' -> 'jack,clientname,portprefix';
171
replaces old interfaces 'jack_auto', 'jack_generic'
172
and 'jack_alsa'; see ecasound(1) for more details
173
- added: interactive mode - new commands 'jack-connect',
174
'jack-disconnect' and 'jack-list-connections'; see
175
ecasound-iam(1) for details; closes sffeat:2134183
176
- added: 'jack_multi', see ecasound(1); closes sffeat:1415822
177
- added: ecasound options '--server', '--server-tcp-port' and
178
'--no-server'; these replace the misleading old
179
options '--daemon', '--nodaemon' and '--daemon-port',
180
which are now deprecated
181
- added: extended unit tests to cover option parsing, with
182
some initial test cases
183
- added: unit test framework - minor improvements including
184
abilitity to select which cases to run
185
- added: ECI - functions eci_ready() and eci_ready_r() added
186
to ecasoundc.h, and ECA_CONTROL_INTERACE::ready()
188
- changed: deprecated 'jack_auto', 'jack_generic' and
190
- changed: numbering of JACK ports created with 'jack' and
191
'jack_generic' starts from "_1" separately for
193
- changed: deprecated 'ai-wave-edit', 'ao-wave-edit' commands
194
and the 'ext-cmd-wave-editor' ecasoundrc field
195
- changed: emit a 'subsystem' level trace message when
196
engine state changes to finished
197
- changed: interactive mode - minor update to 'status' command
199
- changed: compile libecasoundc as PIC code to make it possible
200
to use it from shared libraries; fixes problems
201
with e.g. Audio::Ecasound on amd64 architecture ;
203
- changed: ecasound option -f now accepts empty arguments for
204
sample format, channel count and sampling rate; empty
205
argument states that ecasound can pick a suitable
206
value, either the default value or e.g. the JACK
207
system sampling rate; updated documentation, see
209
- changed: minor update to ecasound's "--help"
210
- changed: when reading RIFF WAVE files, properly ignore
211
any unknown subchunk types
212
- changed: largefile support (+2GiB files) is now enabled
213
by default and configure uses's default autoconf
214
macro AC_SYS_LARGEFILE to perform the checks;
215
to explicitly disable, use '--disable-largefile';
216
the old '--with-largefile' no longer has any effect
217
- changed: refactored ECI C impl code to get rid of all
218
fixed size buffers from the parser; this makes
219
the implementation more robust, reduces memory
220
usage and provides a small speed-up to most ECI
221
apps; closes sfbug:1412409
222
- fixed: do not limit max-gain reported by '-ev' to [1,max]
224
- fixed: avoid denormal numbers in '-ete' (leads to unusually
226
- fixed: 'dump-cop-value' did not work as documented
227
- fixed: ECI - signal an error (e.g. eci_error() returns true)
228
if connection is lost to engine process (sync lost
230
- fixed: ecasignalview - exit if engine reports an error
232
- fixed: interactive mode - loop devices saved with incorrect
233
syntax, affects cs-save, cs-save-as and cs-edit ; see
234
http://eca.cx/ecasound-list/2009/01/0058.html
235
- fixed: problems when seeking back to start with setups using
236
loop devices; closes sfbug:2527049
237
- fixed: segfault if using a tone generator input with a fixed
238
lenght, and a seek past the end of stream was performed
239
- fixed: aac/ogg/mikmod/mid inputs - once object reached state
240
'finished' (all samples played), it cannot be played
241
again by reconnecting the chainsetup
242
- fixed: combination of '--server' and '-C' (disable interactive
243
mode) had a bug that prevented processing of commands
244
received over the server socket while the engine
245
was running the batchmode
246
- fixed: a nasty bug in 'playat' implementation causing audible
248
http://eca.cx/ecasound-list/2009/01/0089.html
249
- fixed: sndfile and audiofile backends - emit a warning if
250
a seek fails (e.g. when seeking beyond current
251
end-of-file for output objects)
252
- fixed: various improvements and fixes related to using
253
non-seekable audio objects (especially interactive
254
use); in most cases this means graceful recovery
255
from failed seek attempts, and correct reporting of
256
the objects actual current position
257
- fixed: error is emitted if trying to use 'select' with
258
objects that do not support seeking
259
- fixed: bugs with passing 'auto' as the 2nd parameter of
261
- fixed: bug with seeking resampled audio objects
262
- fixed: bug in combined use of 'audioloop' and 'resample'
263
- fixed: catch and warn about various errors cases when
264
given incorrect or missing params to audio
265
types: typeselect, resample, reverse, playat,
267
24082008 (v2.5.2) -** stable release **-
268
- more verbose description of change available at:
269
http://eca.cx/relnotes/ecasound_v2_5_2_relnotes.txt
270
- fixed: bug in channel routing of LADSPA plugins that have
271
more audio output ports than input ports
272
21082008 (v2.5.1) -** stable release **-
273
- more verbose description of change available at:
274
http://eca.cx/relnotes/ecasound_v2_5_1_relnotes.txt
275
- fixed: a last minute change in 2.5.0 that caused build errors
276
with gcc-4.3.1 if ALSA support is disabled
277
- fixed: a change in 2.5.0 how process cleanup is initiated from
278
the signal handler caused severe problems on some
279
systems when ecasound was interrupted with e.g.
280
ctrl-c/SIGINT; worst case was a crashed X session which
281
is of course really, really bad
282
- fixed: a bug in registering LADSPA plugins; on some systems
283
not all found plugins were registered properly to
284
ecasound's object maps causing some plugins to be
286
16082008 (v2.5.0) -** stable release **-
287
- more verbose description of change available at:
288
http://eca.cx/relnotes/ecasound_v2_5_0_relnotes.txt
289
- notice: slightly modified the version numbering scheme -
290
minor version is incremented whenever non-trivial
291
new features are added
292
- notice: verified to compile with minimal warnings with
294
- edi-entries: edi-40 closed (Update to error and warning
295
reporting mechanisms), edi-38 closed (see
296
edi-7 partially implemented
297
- added: ecasound.el: added missing ECI commands cs-option,
298
cs-set-length, cs-set-position-samples, ai-get-length,
299
ai-set-position, and ai-set-position-samples [dto,
301
- added: tone generator input; '-i:tone,sine,440,10.3' will
302
create a 440Hz sine tone with duration of 10.3 seconds;
303
this input type will be especially useful for reproducing
304
bugs in complicated chainsetups, without the need to
305
exchange complete session data (which usually are composed
306
of large amounts of audio data)
307
- added: audio looper object; "-i:audioloop,foo.wav" will play
308
'foo.wav' and loop it indefinitely
309
- added: audio selector object; "-i:select,5,15.2,foo.wav" will
310
play 15.2sec of "foo.wav", starting at position 5sec;
312
- added: audio play-at object; "-i:playat,5,foo.wav" will
313
start playing "foo.wav" after position reaches 5sec
314
- added: EWF files; ability to specify positions in time in
315
sample frames; "2.0" is interpreted as 2.0secs while
316
"88200sa" is interpreted as 88200 samples
317
- added: 'reopen-count' parameter to threshold gate (-ge);
318
for instance when recording vinyl/tapes, this allows
319
to automatically restart recording when a new track
321
- added: ecasound frontend option '-E "cmds"' that allows
322
to run a set of interactive mode commands at
323
startup; see ecasound(1) for details; closes (edi-38)
324
- added: a notice is printed in case audio object's audio
325
format parameters differ from the chainsetup's default
326
values (audio object's own params always override
327
any value set by e.g. '-f:...').
328
- changed: most of the EWF support (Ecasound Wave Files, .ewf)
329
has been rewritten in this version; numerous bugs
331
- changed: eaim - commands 'cop-add' and 'ctrl-add' now allow
332
an alternate syntax: both "-<id_string>:par1,...,parN"
333
and "<id_string>:par1,...,parN" are now accepted
334
- changed: ability to write to EWF file is now marked as
335
a deprecated feature which will be removed in
337
- changed: mechanism to terminate forked child processes;
338
properly wait for process termination in all
339
circumstances (previously there were some
340
unhandled corner cases)
341
- changed: major updates to the examples.html page (available
342
also at http://eca.cx/examples )
343
- changed: refactored logic for propagating seek events
344
across chainsetups; warnings are now issued if
345
one tries to seek objects that do not supports
346
seeking; similarly warning is issued if a given
347
audio object type doesn't support sample accurate
348
seeks (for example mp3 inputs have this limitation)
349
- changed: updated ecasound(1) man page description of '-klg'
350
- changed: separate global (-d, -R, ...) and ecasound frontend
351
specific (-c, --daemon, -s, ...) options in
353
- changed: changes to "cs-status" (aka "status", "st")
354
output formatting; now more information about
355
selected and connected setups is printed out
356
- changed: minor changes to the information printed out when
357
open audio input/outputs
358
- changed: pipes, sockets and device nodes in LADSPA plugin
359
directories are skipped (previously hidden files
360
were already skipped)
361
- changed: loop device identifier was changed from an integer
362
to a generic string; both "-i:loop,1" and
363
"-i:loop,myloop" are now valid
364
- fixed: incorrect usage of the Python C API, which leads to
365
segfaults when pyecasound is used under python2.5;
366
fixes Debian bug #468965
367
- fixed: bugs in ewf-looping code
368
- fixed: avoid terminating processing when invalid parameters are
369
passed to channel copy (chcopy/erc), mix (chmix/erm) and
370
move (chmove) chainops
371
- fixed: eaim - buffering mode was sometimes incorrectly
372
reported in 'cs-status' output (-B:auto instead of
373
the actual set buffering mode) output; bug reported by
375
- fixed: compilation warnings from GCC-4.3; fixes Debian bug
376
#454890, patch from Cyril Brulebois
377
- fixed: bug in passing multiple arguments to 'typeselect',
378
'resample', and 'resample' objects
379
- fixed: with some glibc versions (tested with 2.3.6.ds1-13etch5),
380
ecasound did not fully clean up all threads when
381
it received a signal and terminated; the bug showed
382
up as a stuck thread, with backtrace pointing to
383
pthread_onexit_process()
384
- fixed: compilation issue on Mac OS X 10.5 [grobian]
385
- fixed: bug in saving control state with 'cs-save' or
386
'cs-save-as'; triggered if controller was followed
387
by more chainops on the same chain
388
- fixed: bugs with preserving state across seeks with
389
many controller objects (-kl, -kl2 and -kos)
390
- fixed: a bug in ecasound user's guide w.r.t. usage of
392
- fixed: sloppy parsing of "-i:loop" and "-o:loop" arguments
393
leading to confusing error messages when invalid input/output
394
objects, containing the substring "loop" were passed
395
as arguments to "-i" and "-o"
396
14082007 (v2.4.6.1) -** stable release **-
397
- fixed: extra debugging, printed to stderr, for resource file
398
values was accidentally left enabled in the 2.4.6 release
399
14082007 (v2.4.6) -** stable release **-
400
- more verbose description of change available at:
401
http://eca.cx/relnotes/ecasound_v2_4_6_relnotes.txt
402
- added: new option '-R:path-to-resource-file' to use a custom
403
resource file and disable querying of global and user
404
resource files; as a special case, by setting this
405
to '/dev/null', one disable all access to resource
406
files; requested by Klaus Schulz and Keith Creasy
407
- added: eiam - new command 'resource-file'; see ecasoundrc(5)
408
man page; related to previous item
409
- changed: license of rubyecasound, the Ruby ECI API
410
implementation, has been changed from GPL to LGPL
411
- fixed: build errors caused by missing #includes, reported
412
by GCC 4.3; bug report from Debian, bug #417178
413
- fixed: rounding errors with small buffersizes caused time crop
414
gate (-gc) to function incorrectly; reported by Joe
416
- fixed: force localization of decimal numbers to "POSIX" (i.e.
417
use period as the separator) to avoid bugs with
418
e.g. LADSPA plugins that call setlocale and break
419
the ecasound option parser; for instance all swh-plugins
420
call setlocale; reported by Rļæ½mi Rouaud
421
- fixed: printing chain operator (e.g. the '-ev' operator) status
422
at end of sessions was broken in 2.4.5; reported by
424
- fixed: bugs that led to infinitely running chainsetups when
425
loop input/outputs were used; reported by Aaron Heller
427
- fixed: incorrect page numbers in table of contents of
428
the Ecasound Programmer's and User's Guides; patch
430
- fixed: segfault when removing a chain operator with multiple
431
associated controllers; reported by Adam Linson
432
07122006 (v2.4.5) -** stable release **-
433
- more verbose description of change available at:
434
http://eca.cx/relnotes/ecasound_v2_4_5_relnotes.txt
435
- added: ability to compile without a readline library (will
436
disable the curses based console user-interface)
437
- added: if libsndfile is found and supports flac (sndfile
438
1.0.12 or newer), it will be used as the default
439
handler for flac files; use of sndfile makes random
440
access for flac files possible (for example seeking
442
- added: section on 'RETURN VALUES' to ecasound(1) man page
443
- added: ecasound-iam(1) - added documentation for error
444
return values for 'run', 'start' and 'cs-connect'
445
- added: ECASOUND_LOGFILE and ECASOUND_LOGLEVEL environment
446
variables; see ecasound(1) for documentation
447
- added: more detailed description of debug levels that
448
can be set with 'd' to ecasound(1) manpage
449
- added: examples section to ecasound(1), which points to
450
the examples page at eca.cx/ecasound
451
- added: new chain operators '-chmove' and '-chmute'
452
- added: new aliases for chain operators: '-chmix' for '-erm',
453
and '-chcopy' for '-erc'
454
- added: ability to protect EOS arguments, like filenames, with
455
double quotes, closes bug #1456510; see also the related
456
BUGS entry about handling commas in filenames, and
457
updated documentation in ecasound(1), ecasond-iam(1)
459
- removed: readline-4.0 subdir from the dist package; system
460
readline library is now the only build option
461
- changed: ecasoundrc - added "-f" to the default flac
462
output exec command (although now libsndfile's
463
flac support is the default)
464
- changed: improved libsndfile integration, any libsndfile
465
supported file format can be used as output for
466
'sndfile,foo.ext' (format selected based on filename
468
- changed: eiam - default int-log-history length set to zero
469
- changed: updated config.guess and config.sub to more recent
470
versions (timestamp 2006-07-02)
471
- changed: updated the documentation for 'ai-select/ao-select',
472
it is no longer required that input/outputs have
473
a unique name within one chainsetup; problem reported
475
- changed: replaced the ECI C implementation's (libecasoundc)
476
engine cleanup mechanism with a much more robust one
477
- changed: the engine will now refuse to start if a start offset
478
is given with '-y:secs' for an object not supporting
479
seeking; this has been a very common source of
481
- fixed: segfault when removing loop devices with a[io]-remove,
482
reported by Pedro Antonio Fructuoso Merino
483
- fixed: incorrect headers in created flac files (not related
484
to sndfile/flac); fix can possibly affect other file
485
formats handled by external apps (aac, midi, mikmod,
486
mp3 and ogg files), problem reported by Florian Ladstaedter
487
- fixed: errors during batch processing (running out of file
488
space, etc) were not reported as a non-zero process
489
return value, problem reported by Zrajm Akfohg
490
- fixed: possible segfaults with ctrl-select, ctrlp-select
491
and ctrlp-value [allies]
492
- fixed: loop devices were not correctly saved with cs-save
493
and cs-save-as [allies]
494
- fixed: bug in handling big-ending 24/32bit samples [aheller]
495
- fixed: ecasignalview build errors on cygwin [hawk777]
496
- fixed: segfault when parsing "\" in interactive mode, reported
498
- fixed: a subtle race-condition in the cleanup routines leading
499
to segfaults when breaking a batch run with ctrl-c
500
- fixed: bug causing audible glitching when seeking with
501
chainsetups containing loop devices [pfructuoso]
502
- fixed: "rw 0" caused the engine to skip ahead multiple
503
seconds (reported by Kurt Konolige)
504
- fixed: segfaults from invalid params to -f option, for
505
example "-f:16" or "-f:16,2", reported by peppo on
507
- fixed: a severe string termination bug in libecasoundc
508
that led to garbled output from ECI commands
509
returning lists of strings, reported by Brad Bowman,
510
Joel Roth and Stuart Allie
511
27012006 (v2.4.4) -** stable release **-
512
- more verbose description of change available at:
513
http://eca.cx/relnotes/ecasound_v2_4_4_relnotes.txt
514
- added: eiam - ai-describe, ao-describe, cop-describe and
515
ctrl-describe commands; see ecasound-iam(1)
516
- added: ecasignalview - ability to pass ecasound options
517
-G, -B, -M*, -r and -z
518
- added: BUGS file - added 'Reporting bugs' section
519
- added: updated RPM spec-file for x86_64 support [grabner]
520
- changed: minor changes to ecaplay console output
521
- changed: ECI C impl. - increased the time engine has
522
for processing ECI commands; fixes problems
523
with the 'cs-disconnect' command with complex
524
setups involving connections to external
525
resources such as jackd
526
- changed: error is raised if one tries to add chainops or
527
controllers when multiple (or zero) chains are
529
- changed: increased size of buffers used by the ECI-C
530
parser (sfbug:1412409) [allies]
531
- changed: it's now possible to set initial values for
532
operator parameters controlled by MIDI-CCs
533
- fixed: compile-time bug in ecasignalview.cpp
534
- fixed: saving chainsetups in cases where a ctrl is
535
connected to a effect preset
536
- fixed: DBC_CHECK failure from eca-chainsetup.cpp when
537
running cs-edit on a non-connected chainsetup
538
- fixed: bug in seeking mp3 files
539
- fixed: eiam - 'c-select' caused a segfault if no chainsetup
541
- fixed: -etf:0 caused a segfault
542
- fixed: severe bug in mixdown code - in cases where an input
543
is connected to multiple chains, and one or more inputs
544
have reached end of stream, the resulting mix is not
546
- fixed: bug in freeing references to buffers in effect preset
547
code; triggered by externally terminating an ecasound
548
session containing preset objects (sfbug:1412200)
549
- fixed: ECI-C memory access errors reported by valgrind
550
- fixed: allow commas in ecasignalview input/output params;
551
makes it again possible to specify ALSA devices, etc
552
21082005 (v2.4.3) -** stable release **-
553
- more verbose description of change available at:
554
http://eca.cx/relnotes/ecasound_v2_4_3_relnotes.txt
555
- added: support for ALSA sequencer support; see ecasound(1)
556
and examples.html [pedrolc]
557
- added: runtime warning about possible problems when mixing
558
resample and jack objects
559
- changed: scheduling changes for MIDI and disk i/o subsystems;
560
possibly affects performance in certain use-scenarios;
561
fixes debian bug #317900
562
- changed: updated config.guess and config.sub to more recent
563
versions (timestamp 2005-04-22)
564
- fixed: failed runtime check from eca-fileio-stream.cpp:159
565
- fixed: eiam - ao-remove'ing JACK input/outputs caused a segfault
566
- fixed: --disable-jack/--enable-jack did not work
567
- fixed: system-hangs when run in realtime mode and using a large
568
disk i/o double-buffer (-z:db)
569
- fixed: ewf-debugging output was left enabled in 2.4.2 release
570
- fixed: bug in detecting finished-state with .ewf files when
571
used with -z:db mode enabled -> caused flood of underrun
572
warnings with multi .ewf file sessions
573
- fixed: externally terminating, e.g. via JACK transport system,
574
a batch chainsetup would cause a segfault
575
07082005 (v2.4.2) -** stable release **-
576
- more verbose description of change available at:
577
http://eca.cx/relnotes/ecasound_v2_4_2_relnotes.txt
578
- note: verified to compile ok with gcc-4.0.0 and gcc-4.0.1 [kaiv]
579
- added: eiam - ctrlp-list, ctrlp-selected, ctrlp-get, ctrlp-select
580
and ctrlp-set commands; the last two are RT-commands;
581
see ecasound-iam(1) for more info [allies]
582
- added: ecasignalview - ability to reset stats with 'spacebar'
583
and quit with 'q/Q/Esc'; separate logarithmic mode (enable
584
with -L, see also -I which is still the default);
585
display of per-channel average amplitude; see
586
ecasignalview(1) man page for details [jeffrey]
587
- added: ecatrimsilence.sh to examples subdir [kaiv]
588
- added: --keep-running (or -K) option to ecasound, do not exit
589
from batch mode when processing is finished/stopped;
590
especially useful when used in combination with JACK
591
inputs/outputs [kaiv]
592
- changed: various small updates to User's Guide [kaiv]
593
- changed: ecasound user-visible copyright string changed [kaiv]
594
- changed: minor changes to ecasignalview user-interface
596
- changed: --daemon-mode does not anymore require running in
597
interactive mode [kaiv]
598
- fixed: using ecasound.spec with recent versions of rpm
599
results in a "%package debuginfo" error [kaiv]
600
- fixed: problems in saving ewf objects with cs-save,
601
cs-save-as and cs-edit [kaiv]
602
- fixed: controllers were always added to the last
603
chainop, not to the selected chain operator [allies]
604
- fixed: --enable-jack and --disable-jack both disabled JACK
606
- fixed: serious bug in the "reverse" audio objects, caused
607
audible noise in the reversed signal [kaiv]
608
- fixed: segfaults at exit when LADSPA plugins had been used;
609
the error did not happen every time and with every type
610
of plugin; problem was a race between atexit handlers
611
of ecasound, and the dynamically loaded plugins [kaiv]
612
- fixed: ecasignalview - do not send or receive transport
614
- fixed: ecasound daemon mode, correctly print hostnames without
616
08042005 (v2.4.1) -** stable release **-
617
- more verbose description of change available at:
618
http://eca.cx/relnotes/ecasound_v2_4_1_relnotes.txt
619
- note: verified to work with automake versions 1.6 and 1.9;
620
automake 1.5 and older, as well as autoconf versions
621
older than 2.50, are no longer supported; these
622
changes only affect users of Ecasound CVS checkouts
623
- added: ecaplay - better error reporting, feature to reset
624
output device audio parameters for each new input
625
file, support for ECAPLAY_OUTPUT_DEVICE environment
626
variable; see ecatools(1) for more info
627
- added: playlist mode to ecaplay (new -q, and -p options;
628
see ecaplay(1) for more info)
629
- added: "Supported automake/autoconf features" section to
631
- added: new presets to the default effect_presets file
632
- added: support for describing full range of preset parameter
633
flags with -ppt (see effect_presets file and the
634
relevant sections in User's Guide)
635
- added: new sections on preset parameters to User's Guide
636
- added: allow reseting ecasignalview max-peak and clipped-samples
637
counters by sending a SIGHUP to the process
638
- changed: moved definitions from acconfig.h to configure.in;
639
gets rid of the AC_DEFINE warnings produced by
640
recent versions of autoheader
641
- changed: Ecasound Programmer's Guide converted from LaTeX
643
- changed: sed is used to generate ecasoundrc at make; allows to
644
specify a custom pkgdatadir when running make [junichi]
645
- changed: various small improvements to all ecatools and
647
- changed: updated config.guess and config.sub to more recent
648
versions (timestamp 2005-03-24)
649
- changed: various updates to the README file
650
- fixed: sources for the aRts plugin were not present in the
651
2.4.0 release package
652
- fixed: mp3-header parsing code has been partly rewritten;
653
the new parser is designed to better handle garbage
654
and unknown frame types in mp3 files [juliand,kaiv]
655
- fixed: compile errors with egcs-2.91.66
656
- fixed: current position of the time crop gate (-gc) was
657
incorrecly increased [alexey]
658
- fixed: compilation failed if building outside srcdir
659
- fixed: ECI C impl. did not properly release all file handles
660
in eci_cleanup(); for example playing thousands of
661
files with ecaplay would cause the system to run
662
out of file descriptors (too many open files error)
663
- fixed: bug in handling LADSPA plugins with colon chars in
664
their port descriptions (such as the SC1-4
666
- fixed: do not print "Session created" even if -q option has
667
been given (quiet output mode)
668
12032005 (v2.4.0) -** stable release **-
669
- more verbose description of change available at:
670
http://eca.cx/relnotes/ecasound_v2_4_0_relnotes.txt
671
- edi-entries: edi-40 progress
672
- added: support for having commas in arguments by escaping
673
them with a backslash (example: "ai-add foo\,bar.wav")
674
- added: pretty-printing of ecasound output; wrap output so
675
so that all lines fit into 74 columns; does not affect
676
wellformed output mode nor stderr output (-D)
677
- added: new section about handling commas in filenames to
678
Ecasound User's Guide
679
- added: eiam - new 'int-log-history' command to query
680
recent log messages sent by libecasound; this is a very
681
useful tool for debugging ECI scripts and apps
682
- added: eiam - new 'int-set-log-history-length' command to set
683
log history length; default to 5 items
684
- added: resample-lq (low-quality) audio object to force using
685
the internal resampler even though support for
686
libsamplerate is enabled at build time
687
- added: support for sum-mixmode; enabled with -z:mixmode,sum;
688
the old average mixing is still the default; see
690
- added: ecasoundrc - 'mix-mode' setting; see ecasoundrc(5)
691
- changed: more helpful messages to explain why a chainsetup
692
cannot be connected to the engine
693
- changed: EIAM - when returning a list of strings, all commas
694
in list elements are now escaped with backslashes;
695
this is done to avoid ambiguity in parsing
696
- changed: new default debug level of 271
697
- changed: new optimized message queue implementation used in
698
communication between the engine and the interface
699
subsystems; solves a few remaining corner cases
700
where ecasound could block in real-time critical
702
- changed: better error message if unable to load LADSPA plugin
704
- changed: removed hard upper-limit for -ei scale-factor,
705
modified both the upper and lower soft limits
706
- changed: updated config.guess and config.sub to more recent
708
- fixed: correctly interpret EIAM command arguments containing
709
whitespace (example: "ai-add foo bar.wav")
710
- fixed: denormal problems in filter and delay operators
711
- fixex: setting radius params of -etc comb filter
712
- fixed: make check target failed in readline-4.0 subdir
713
- fixed: avoid segfault when receiving a bufsize or srate
714
change event from JACK; ecasound still cannot change
715
bufsize or srate on the fly, but at least it now fails
717
- fixed: always pass filename (%f) as one parameter to the
718
external apps; fixes bug present in 2.3.4 and 2.3.5
719
releases which broke handling spaces in filenames;
720
affected all file formats handled via external tools
721
(ogg/mp3/flac/m4a/...); also a separate bug in handling
722
spaces in ogg output filenames was fixed
723
- fixed: occasional bugs with rubyecasound in handling the
724
EIAM 'quit' command; this also fixes the errors in
725
running 'make check' in ecasound/rubyecasound
726
- fixed: serious bugs in resampling between 96000 and 44100/48000
727
rates when using libsamplerate; upgraded Ecasound to use
728
the libsamplerate 'full API'
729
- fixed: options "-b:", "-b" and "-b:0" caused a segfault
730
- fixed: aac/m4a encoder was not stopped properly after
731
processing was finished
732
12112004 (v2.3.5) -** stable release **-
733
- note: main website address has changed to www.eca.cx/ecasound
734
- changed: collected all email addresses from source files to
735
the AUTHORS file and added some antispam measures
736
- changed: do not raise an error when opening an OSS device that
737
does not support SNDCTL_DSP_GETBLKSIZE
738
- changed: updated all the html-docs to match the new website
740
- fixed: default to native-python ECI implementation on MacOSX
741
- fixed: link against coreaudio libs if JACK enabled on MacOSX
742
- fixed: ecasignalview build error if compiling without
744
- fixed: bug in ecasound/rubyecasound 'make check' target
745
27102004 (v2.3.4) -** stable release **-
746
- edi-entries: edi-14 and edi-32 closed, edi-40 added
747
- note: verified to compile ok on MacOS X 10.3.2 [smbolton]
748
- note: verified to compile ok with gcc-3.4.1
749
- added: basic FLAC input/output support using flac utils;
750
new flac specific options to ecasoundrc
751
- added: basic AAC/M4A/MP4 input/output support faac/faad
752
utils; new options to ecasoundrc
753
- added: optional 3rd parameter to 'sndfile' for specifying
754
audio file format (see ecasound(1)) [jesse]
755
- added: documentation on adding new EIAM commands to the
757
- added: eaim - new 'int-set-float-to-string-precision' command
758
- changed: set srate for mp3 input based on mp3 header
759
- changed: increased precision of floating point return values
760
in the C ECI implementation
761
- fixed: multitrack offset was calculated incorrectly for
762
ALSA devices which limit buffer period count to 2
763
- fixed: bugs in .wav, .cdr, JACK code, and in internal sample
764
conversion routines that occur on big-endian
766
- fixed: ogg input failed if requested sample-format had non-native
767
endianess; new default-cmd for ogg-input, see
769
- fixed: build failed on MacOSX/freebsd because of undefined
770
mlockall and related defines
771
- fixed: errors in ecasound(1) man page and the examples.html;
772
adding chain operators to multiple chains at once
773
is not supported anymore
774
- fixed: engine state not fully updated after a 'run'
775
command has completed; caused commands such as
776
'cs-set-position' to fail when used after 'run'
777
- fixed: ecasound sample formats s24_le/_be were mapped
778
to 4-byte ALSA formats S24_LE/_BE; now mapped
779
to the correct 3-byte S24_3LE/_3BE formats
780
- fixed: bug in C ECI impl that caused sync-loss errors between
781
ECI clients and the engine [jesse]
782
- fixed: ECI session corruption after processing 'long int'
783
return values [jesse]
784
05052004 (v2.3.3) -** stable release **-
785
- note: verified to compile ok with gcc-3.4
786
- added: eiam - 'map-ladspa-id-list' command
787
- added: special-case value of '-1' to 'cs-set-length' or
788
'-t:xxx' will set the chainsetup length according
789
to the longest input object
790
- added: ECI guide - a new section on ecasound.el [mlang]
791
- added: ecasoundrc - a new special-case value 'autodetect' to
792
the 'default-output' setting; 'autodetect' is also
793
the new default ecasoundrc value; see ecasoundrc(5)
795
- changed: lots of typo fixes and other corrections to
796
the user's guide [ericdr]
797
- changed: minor configure.in cleanup relating to handling
798
CFLAGS, CXXFLAGS and LDFLAGS
799
- fixed: building against libsndfile-1.0.4 and older; if
800
libsndfile older than 1.0.0 is detected, sndfile
801
support is disabled altogether
802
- fixed: bug in ECI C impl that could cause segfaults [mewe]
803
- fixed: signal handling bugs in ecasignalview and ECI C
805
- fixed: bug in ecasound(1) caused man to not show the
807
- fixed: bug in the daemon-mode (NetECI) protocol parser
808
that caused parsing long (over 32 chars) commands
810
- fixed: 'libecasound-config --libs' did not list all
811
external libraries used
812
- fixed: assign default param-names to effect presets
813
- fixed: preset parameters were not saved by 'cs-save' and
815
06122003 (v2.3.2) -** stable release **-
816
- edi-entries: edi-33 closed
817
- added: support for libsndfile; enabled if libsndfile is
818
detected succesfully by configure; can be disabled
819
with --disable-sndfile
820
- added: added new audio input/output types 'audiofile',
821
'sndfile' and 'mikmod'; see ecasound(1) for more
823
- added: pyecasound/test2_stresstest.py new test case
824
- added: initial Ruby ECI impl added; see rubyecasound/README
825
for details [janweil]
826
- added: --enable-rubyecasound configure option; defaults to
827
yes if ruby interpreter found on the system
828
- added: resampling examples to Documentation/examples.html
829
- changed: increased default buffer sizes for 'rtnull' objects
830
to avoid too many xrun warnings; warnings are also
831
no longer printed to stderr - instead a summary
832
is printed at the end of the session if any xruns
834
- changed: Ecasound PDF docs (user's, programmer's and ECI
835
guides) are now generated using AE fonts; the PDFs
836
can now be read with readers like xpdf and
837
probably look better in others [janweil]
838
- fixed: pyecasound/test1_stresstest.py was not included in
840
- fixed: libaudiofile - input file audio parameters
842
- fixed: -x option - truncate outputs - was not working
843
- fixed: preset.h and other related headers were not installed
844
during install-data phase
845
- fixed: pyecasound - the critical native python bugs found
846
in earlier releases are now fixed
847
- fixed: ecasoundc - serious memory leak in handling string
849
- fixed: typo in libecasoundc-config usage [koraq]
850
- fixed: bugs with resample that caused audible artifacts
851
with certain srcrate-dstrate combinations
852
19112003 (v2.3.1) -** stable release **-
853
- added: --disable-effects configure option; build ecasound
854
without effect and controller components
855
- changed: libtool is setup to only create object files for
856
static linkage; you can revert to the old behaviour
857
with the --enable-shared configure option
858
- changed: ecasound.el updated to 0.8.3, lots of small
859
changes, see ecasound.el for details [mlang]
860
- changed: pyecasound - due to bugs found in the native python
861
impl, the C ECI impl is again set as the default;
862
can be overridden using --enable-pyecasound=IMPL
863
- changed: pyecasound - the native python impl (ecacontrol.py)
864
now returns an error if communication with the
865
ecasound process times out
866
- changed: html versions of programmer's, user's and ECI
867
developer's guide are generated with Hevea instead
868
of latex2html [juekawa]
869
- changed: updated config.guess and config.sub to more recent
871
- fixed: makefile errors when building against system libreadline
872
- fixed: processing did not start in the default transport mode
873
with JACK versions 0.80 and older
874
- fixed: recording failed with a WinTv 401dbx and the btaudio
876
- fixed: compilation against alsa-lib-1.0.x
877
- fixed: default ratio value incorrectly set for -eca; does
878
not affect presets using -eca [remon]
879
29082003 (v2.3.0) -** stable release **-
880
- edi-entries: edi-4, edi-19 and edi-35 frozen, edi-38 added
881
and frozen immediately, edi-39 added; frozen is
882
a new status for items that probably won't be
884
- note: verified to compile ok with gcc-3.3
885
- note: verified to work with python-2.3
886
- added: eaim - command 'engine-launch' to inialize engine
887
without starting actual processing, and 'engine-halt'
888
for halting it without disconnecting; useful with
889
JACK transport functions
890
- added: separate AUTHORS file; also added to the website
891
- added: -d, -dd and -d command-line options, see ecasound(1)
892
- added: recording offset parameter -z:multitrack,offset option
893
- changed: to avoid resampling faults, upper limit of 2000%
894
set for pitchshifter's (-ei) shift-% arg; note! high
895
values of shift-% can still cause crashes if using
897
- changed: if available, use pthread API for setting scheduler
898
params; might improve real-time reliability on
899
rh9.0 machines and others that have NPTL
900
- changed: pyecasound - redefined configure option
901
--enable-pyecasound=IMPL where 'IMPL' is either
902
'c' or 'python'; --disable-pyecasound disables
904
- changed: pyecasound - if ecasound's build prefix does not
905
match the python prefix, /usr or /usr/local,
906
pyecasound will be disabled; you can override
907
this by specifying the python module directory
908
explicitly with the --with-python-modules=DIR
910
- changed: JACK transport support code to the new API
911
introduced in 0.76.1 and newer
912
- changed: ecasound.spec; added 'AUTHORS'
913
- changed: JACK transport modes redefined; new modes are
914
'notransport', 'send', 'recv' and 'sendrecv'
915
- changed: major updates to README file
916
- changed: improved check for aRts; now verifies that linking
917
against libartcs actually works before enabling
919
- fixed: use of the JACK transport API was never actually
921
- fixed: .aiff/.snd/.au input/output was not working at all
922
due to a typo in source code
923
- fixed: a chain with a short input file could cause a nasty
924
feedback loop if processed with certain effects
925
and mixed with audio from other chains
926
- fixed: ewf length and offset errors with sample rates
927
different from default (usually 44.1kHz)
928
- fixed: chainsetup samplerate incorrectly set with some
929
configurations; caused problems with -t:xxx and
930
other functions related to chainsetup level position
932
- fixed: serious bug in mixing down multiple chains with
933
different number of channels to one output; audio
934
from previous mixdown rounds leaked to unused
936
- fixed: some chainsetup parsing errors were totally ignored
937
and not reported to the user
938
- fixed: eiam - output of map-* commands was broken in
939
certain locales (for example "fi_FI")
940
- fixed: without at least one '-Md' or one '-km' option
941
specified, MIDI-services did not work
942
- fixed: pulse gate timing inaccuracy (-eemp); also affected
943
the bpm pulse gate (-eemb) and thus the metronome
944
preset (-pn:metronome)
945
- fixed: a 'setpos' on a not yet connected chainsetup would
946
cause seeks to the wrong position for objects with
947
non-default samplerates
948
- fixed: pay regard to -z:multitrack and -z:nomultitrack when
949
saving chainsetups to .ecs files
950
27042003 (v2.2.3) -** stable release **-
951
- added: support for both -0.64 and 0.65- JACK versions;
952
transport functionality is only enabled with the
954
- added: automatic query of child object sample rate by
955
giving 'auto' as 2nd arg to resample object
956
- changed: by default python version of ECI is used; the C
957
python module for ECI, pyecasound, is only compiled
958
if --enable-pyecasound is specified
959
- changed: jack_auto,dstclient input/output object now
960
automatically connects to matching ports of JACK
961
dstclient (no longer requires dstclient to have
962
in_X/out_X port names)
963
- fixed: yet another fix for creating temporary files in
964
ecanormalize and ecafixdc; now both LOGNAME and USER
965
are checked for a valid user name
966
- fixed: prefer usleep over nanosleep on cygwin; avoids
967
the excessive-cpu-usage problem
968
- fixed: work-around for a bug in the pcm plugin of ALSA 0.9.1
969
and earlier that caused recording/playback to
970
stop to an audio i/o error
971
- fixed: inconsistencies in how configure --disable/enable-feat
973
- fixed: if pyecasound was disabled at build time, make
974
install target failed in ecasound/pyecasound
975
18032003 (v2.2.2) -** stable release **-
976
- edi-entries: edi-35 and edi-36 added
977
- added: ecacontrol.py - a native python implementation of
978
the ECI API [jhalttun]
979
- added: stream ogg/mp3/mid directly from network if the
980
filename has a url-prefix
981
- added: author name to the description of LADSPA plugins
982
- added: latest config.guess and config.sub added to
984
- added: ecamonitor - a warning is printed if you try to
985
run with python-1.x; python-2.x is required
986
- added: new tutorials page added to documentation;
987
see Documentation/index.html
988
- changed: ecasound.el updated to 0.8.2, lots of small
989
changes, see ecasound.el for details [mlang]
990
- changed: alsa-0.9 - better support for pcm devices such as
991
dmix which have strict period size constraints
992
- fixed: libecasound sample conversion unit test failed when
993
compiled with gcc-2.91.66 on certain platforms
994
- fixed: compile failed on systems that don't have nanosleep()
995
- fixed: subtle bug in -kl and -kl2 (and possibly others)
996
with fade lengths under 1s
997
- fixed: alsa-0.9 - prevent ecasound from prefilling too
998
much data to output devices
999
- fixed: a ':' in LADSPA plugins parameter name confused
1000
ecasound (swh's sc4 is one example)
1001
- fixed: theoretical problem with ecalength argument
1003
- fixed: use LOGNAME instead of USER for creating temporary
1004
files for ecanormalize and ecafixdc
1005
- fixed: -tl has been broken since 2.2.0-pre5
1006
- fixed: copp-list dumped core if no cop was selected
1007
15022003 (v2.2.1) -** stable release **-
1008
- added: sane default param hints for chainops: -ec, -etd,
1009
-ete, -etf, -etl, -etm, -etp, -etr and -epp
1010
- added: if configured with JACK-support, ecasound will
1011
fetch the correct bufsize and srate parameters from
1012
the JACK server when connecting a chainsetup with
1013
JACK inputs or outputs
1014
- added: support for Erik de Castro Lopo's libsamplerate
1015
resampling library; used both by the resample
1016
audio i/o object and the pitch shifter chainop (-ei);
1017
enable with --with-libsamplerate
1018
- added: --disable-libsamplerate; don't enable libsamplerate
1019
support even if the library is found during configure
1020
- added: resample-hq audio object type; like resample, but
1021
use the highest available resampling quality;
1022
currently only has an effect if libsamplerate
1024
- added: alternative UNIX signal handling for platforms that
1025
don't provide sigwait() (cygwin is one)
1026
- changed: ecasoundrc - ladspa-plugin-directory can contain
1027
multiple directories, separated by colons; this
1028
change was done to avoid any confusion with
1029
the LADSPA_PATH syntax and ecasoundrc
1030
- changed: rewritten much of the JACK slave-mode code; enables
1031
much faster and reliable transport-sync
1032
- fixed: compiling pyecasound failed on alpha w/ gcc-3.2
1033
- fixed: -t:xxx option did not work if chainsetup samplerate
1034
differed from the default; for instance rate change
1035
from 44100 to 22050 doubled the run length
1036
- fixed: make uninstall in kvutils failed if non-identified
1037
files from old releases were detected
1038
- fixed: excessive dbc warnings when using the jack plugin
1039
- fixed: core dump if -eac:x,y was given an invalid channel
1041
- fixed: compile failed if JACK support was enabled, but no
1042
explicit --with-jack option was given
1043
- fixed: rounding errors fixed in the resample object
1044
- fixed: terminal was not properly resetted after a ctrl-c
1046
- fixed: handle /dev/dsp drivers that don't support
1047
DSP_GETCAPS (cygwin is one)
1048
- fixed: don't link with rpath if target prefix is /usr [juekawa]
1049
- fixed: -kl2 didn't work at all in some circumstances
1050
09012003 (v2.2.0) -** stable release **-
1051
- edi-entries: edi-1 closed
1052
- changed: ecasound.el updated to version 0.8.1 [mlang]
1053
- changed: more user-friednly errormsg when trying to open
1054
a nonexistent ogg/mid/mod file
1055
- changed: eiam - all instances of 'c-mute' in code and docs
1056
changed to 'c-muting', although now officially
1057
deprecated, 'c-mute' will continue to work as
1058
an alias to 'c-muting'
1059
- fixed: edi-1 - crackle at start of processing with -ete
1061
- fixed: various small fixes to remove uncalled for
1063
- fixed: -b:0 caused a segfault
1064
- fixed: compile error with gcc-2.95.4 concerning eca-curses.cpp
1065
and the 'erase' symbol
1066
- fixed: compile error with freebsd-4.7 concerning
1067
eca-chainsetup.cpp/eca-fileio-stream.cpp and
1068
the header file 'sys/mman.h'
1069
- fixed: resample audio object set the child srate incorrectly
1070
for mp3 and headerless audio files
1071
28112002 (v2.2.0-rc1)
1072
- edi-entries: edi-35 added
1073
- fixed: more curses fixes
1074
- fixed: ecaplay - -k and ctrl-c cleanup bugs
1075
- fixed: ecaplay - accept filenames containing whitespace
1076
- fixed: ecafixdc - don't process files that have zero
1078
- fixed: compilation fixes for solaris+gcc combo
1079
- fixed: -y option was not working; broken since 2.2.0-pre1
1080
- fixed: seg.faults when finishing processing a setup with
1081
-t:x defined, -z:db, no rt-inputs and one or more
1083
- fixed: restarting processing from a new position after
1084
processing had reached the finished state
1085
- fixed: banner was printed to stdout even in quiet mode
1086
- fixed: -etc (chorus), -etp (phaser) and -etl (flanger)
1087
broken by edi-21 work
1088
07112002 (v2.2.0-pre5)
1089
- edi-entries: edi-29 closed
1090
- added: ecasound emacs interface, ecasound.el, is now
1091
distributed with ecasound (ecatools/ecasound.el);
1092
ecasound.el is installed to ecasound's data
1093
directory (default /usr/local/share/ecasound)
1094
- added: libkvutils_tester, unit tester for libkvutils
1095
- added: ecamonitor - 'q' to quit
1096
- added: --nodaemon and --daemon-port=XXX ecasound options
1097
- added: documentation about the daemon functionality
1099
- added: ecamonitor.1 man page
1100
- added: NetECI documentation to programmer's guide
1101
- changed: rpm spec file unified with the spec file used
1102
to build PlanetCCRMA's ecasound packages
1103
- changed: pyecasound license from GPL to LGPL
1104
- changed: the C++ ECI implementation, the
1105
ECA_CONTROL_INTERFACE class, moved from libecasound
1106
to libecasoundc; now also under LGPL
1107
- changed: asm/atomic.h kernel header no longer used
1108
- changed: ecaplay - improved ctrl-c handling
1109
- fixed: cleanup of curses/ncurses detection in configure.in;
1110
this also fixes ecasound compilation on mandrake9.x
1112
- fixed: controller source positions were not always updated
1113
when global chainsetup position was changed
1114
- fixed: controllers weren't properly initialized before use;
1115
this bug caused real harm only to -klg objects;
1116
only the first defined -klg worked as expected
1117
- fixed: increased the max message size in ECI-standalone;
1118
ecasetupedit-0.2.3 caused the parsing buffers to
1120
31102002 (v2.2.0-pre4)
1121
- edi-entries: edi-27, edi-28, edi-29, edi-30
1122
- added: eiam - commands 'map-cop-list', 'map-ctrl-list',
1123
'map-ladspa-list' and 'map-preset-list'; see
1124
ecasound-iam(1) man page for details
1125
- added: eiam - 'ao-add-default' command
1126
- added: ecicpp_tester, a unit test program for C++ ECI
1127
- changed: libecasoundc now LGPL licensed
1128
- changed: edi-30 done; ecaplay, ecaconvert, ecafixdc and
1129
ecanormalize rewritten using the new standalone
1131
- changed: reimplemented the C++ ECI interface on top of
1132
the new standalone C ECI interface
1133
- changed: implementation level improvements to db, ewf,
1134
resample, reverse and typeselect audio object
1136
- changed: edi-28 done; ECI standalone now the only ECI
1138
- changed: ecasound now uses the new JACK (0.40.0 and newer)
1139
ALSA PCM port names (alsa_pcm:capture_X and
1140
alsa_pcm:playback_X)
1141
- changed: number of channels must be given as the first
1142
parameter to -ezx; this was needed to implement
1143
true multichannel support
1144
- changed: syntax used for JACK inputs/outputs, see
1145
ecasound(1) and ecasound user's guide for
1147
- changed: ecasound JACK transport master mode now follows
1148
the new pending-timebase model
1149
- changed: edi-27 done; the NetECI protocol replaced with the
1150
ECI standalone protocol defined in ecasound
1152
- changed: edi-29; major updates to ecamonitor; moved back
1153
to ecasound/ecamonitor
1154
- fixed: libecasoundc return value sync problem; return
1155
value for command wasn't returned until command n+1
1157
- fixed: -etc, -etl and -etp crashes if delay parameter
1159
- fixed: -ezf didn't report the correct dcfic for the
1161
- fixed: LADSPA param descriptions were incorrectly
1163
- fixed: ecasound ended up in a cpu-intensive loop if
1164
the standard input suddenly disappeared in
1165
the -D output mode; this happened every now
1166
and then with ECI apps
1167
- fixed: eiam - missing newlines in output of 'cop-status'
1169
19102002 (v2.2.0-pre3)
1170
- fixed: reverted to using old ALSA 0.9 hw-params API,
1171
ecasound agains works with old 0.9beta and 0.9rc
1173
18102002 (v2.2.0-pre2)
1174
- fixed: ALSA objects weren't properly registered as audio
1176
- fixed: debug level was resetted to 0 after issuing
1177
'int-output-mode-wellformed'
1178
- fixed: automake complained about multiple definition
1180
17102002 (v2.2.0-pre1)
1181
- edi-entries: edi-24, edi-28, edi-29, edi-30
1182
- note: libecasound and libkvutils interface version numbers
1183
will from now on track API changes instead of ABI
1185
- added: edi-24; resample audio object added
1186
- added: edi-29; initial version of ecamonitor
1187
- added: edi-28; eiam-command 'int-output-mode-wellformed'
1188
- removed: edi-30; ecasound internal plugins no longer
1189
installed separately
1190
- changed: ALSA support requires alsa-lib version
1192
- changed: libecasoundc versioning back to normal libtool
1193
style; interface version reverted back to 1:0:0
1194
- changed: edi-28; C implementation of ECI, libecasoundc,
1195
is rewritten to not depend on libecasound
1196
- changed: edi-28; pyecasound is rewritten to use the
1197
new C ECI implementation instead of direct
1199
- changed: edi-30; removed all shared libs and subpackages
1200
containing them from ecasound.spec.in
1201
- changed: added ecamonitor to ecasound.spec.in
1202
- changed: edi-30; libecasound and libkvutils
1203
versioning back to normal libtool style
1204
- fixed: unnecessary warnings when closing OSS
1206
- fixed: unnecessary warnings when adding audio
1207
objects to a chainsetup with no chains
1209
- fixed: resample, reverse and typeselect audio objects
1210
types were broken in 2.1dev11
1211
- fixed: removing audio inputs and outputs didn't work
1213
- fixed: bugs in multitrack-mode operation; processing
1214
would stop once all input objects were
1216
- fixed: pyeca.py - correct handling of 'e' and '-'
1217
return types [jhalttun]
1218
- fixed: eiam - removed the extra newline char from output
1219
of 'cop-status' and 'ctrl-status'
1220
- fixed: loglevel settings were lost when output mode
1222
- fixed: ecamonitor was missing from the dist package
1223
22082002 (v2.1dev11)
1224
- added: configure-check for socket libraries
1225
- added: -evp - volume peak watcher operator
1226
- added: initial support for LADSPA v1.1 API for plugin
1227
parameter defaults (as used in swh-0.2.8 plugin
1228
set); updated ladspa.h included in the source tree
1229
- changed: rewrite of all user-interface code that's
1230
in the ecasound-x.y.z/ecasound directory
1231
- changed: added chainop and controller parameter
1232
descriptions back to ecasound's command-line
1234
- changed: ecasignalview rewritten; segfault bugs fixed,
1235
consumes less cpu-resources, better interface
1236
- changed: ecasoundrc - default command for ogg playback
1237
to catch up with the ogg 1.0 release
1238
- changed: new sample format conversion routines along
1240
- fixed: a long-standing bug in ecaplay that caused it
1241
to segfault with big playlists
1242
- fixed: LADSPA_PATH env.variable not parsed correctly
1243
- fixed: floating-point exceptions when run on alpha-linux
1244
- fixed: libecasound_tester failed on machines without
1245
the LADSPA SDK plugins installed
1246
- fixed: ia-mode - ctrl-d didn't exit as it should; this
1247
broke shell scripts that used pipes to communicate
1249
24062002 (v2.1dev10)
1250
- added: -G:mgrtype,optstring switch for setting
1251
audio object manager level options
1252
- added: -G:jack,client_name,operation_mode option; see
1253
ecasound(1) for details
1254
- added: --enable-all-static configure option
1255
- added: --disable-jack configure option; disable JACK
1256
support even if all required libs and headers
1258
- changed: major data structure cleanup in the JACK
1260
- changed: JACK support is now enabled if 'jack/jack.h'
1261
is found; also --with-jack=PATH still works
1262
- fixed: 'unknown device state' errors with multichannel
1263
soundcards like midiman deltaXX and rme
1264
when starting processing and if -z:intbuf mode
1266
- fixed: due to changes in autoconf variables, non-atomic
1267
locking was always used instead of atomic locking
1268
in 2.1dev8 and 2.1dev9
1269
- fixed: configure failed if an old (<0.9) ALSA version was
1270
installed even if --disable-alsa was specified
1271
- fixed: loading chainsetup from interactive mode failed
1272
both with cs-load and after cs-edit
1273
- fixed: compiling against readline 4.2 with
1274
--enable-sys-readline failed
1275
- fixed: bugs in the -z:db subsystem caused segfaults
1276
- fixed: problems with -z:db and small files
1277
- fixed: eiam - 'cs-get-length' always returned 0
1279
- edi-entries: edi-22
1280
- changed: optimized disk i/o subsystem (-z:db) performance
1281
- changed: edi-22 fully implemented (JACK-support)
1282
- fixed: disk i/o subsystem didn't discard all old data
1283
after a seek to a new location
1284
- fixed: installing pyeca.py failed if ecasound was
1285
built outside srcdir
1286
- fixed: timeouts when starting chainsetups with JACK
1288
- fixed: bug in stopping JACK input/outputs; affects
1289
seeking in interactive mode
1291
- edi-entries: edi-13, edi-18, edi-21, edi-22
1292
- added: reverse audio object type; see the ecasound(1)
1293
man page for better documentation
1294
- added: pyecasound - if python version is 2.2 or higher,
1295
pyeca.py sets custom dlopen flags before importing
1296
the actual pyecasound python module; this makes it
1297
possible to access ecasound's plugins (ALSA, JACK,
1298
libaudiofile) from python ECI apps
1299
- added: ecasoundrc - 'default-audio-format'; same syntax
1300
as with the -f option; defaults to s16_le,2,44100,i
1301
- added: edi-18 implemented; engine samplerate is now
1302
set automatically - if object sample rates don't
1303
match, an error is printed
1304
- added: edi-21 implemented; a much improved framework
1305
for handling audio position information is now
1306
in place; -kl, -kl2 and -klg are now position
1307
aware - changing chainsetup position also affects
1309
- added: initial implementation of edi-22
1310
- added: support for devfs /dev/sound/dsp devices [karmak]
1311
- added: new debugging system in libecasound; semantics
1312
of -d:xxx debug levels have changed
1313
- added: 'make check' target builds and runs
1314
libecasound/libecasound_tester, which performs
1315
a set of functionality tests
1316
- removed: support for old ALSA driver versions 0.3.x,
1318
- removed: ecasoundrc - 'default-samplerate'
1319
- removed: -sr option; not needed anymore
1320
- removed: ia-mode - 'c-rewind', 'c-forward' and
1322
- removed: ecasoundrc - default-to-interactive-mode
1323
- removed: mixmode switch (-m)
1324
- removed: ecasound/contrib directory
1325
- changed: JACK support updated to match JACK's 13/May/02
1327
- changed: pyecasound - module libpyecasound.so renamed
1329
- changed: programmer's guide updated; added a new chapter
1330
about library organization
1331
- changed: minor user's guide update
1332
- changed: looping with -tl always loops from the start;
1333
-y can't be used for setting the loop start
1334
offset -> ewf-files should be used instead
1335
- changed: s24_le and s24_be sample formats are interpreted
1336
as three-byte values, not as four-byte
1337
24-in-32bits values as before; to access
1338
unpacked 24bit data, use s32_le and s32_be
1340
- changed: configure.in cleanup
1341
- changed: the libkvutils binary API has changes so its
1342
version number was changed from 3:0:1 to 3:0:0
1343
(libkvutils.so.3); this interface will be
1344
frozen together with libecasound.so.8
1345
- changed: rewritten rtnull implementation; now imitates
1346
soundcard behaviour much more accurately
1347
- changed: numerous portability improvements to the
1349
- changed: new rpm-spec file; libraries are now located
1350
in separate rpm-packages
1351
- changed: ecasound-config renamed to libecasoundX-config
1352
- changed: ecasoundc-config renamed to libecasoundcX-config
1353
- changed: libecasound headers are now installed to
1354
incdir/libecasound, similarly libecasoundc headers
1355
to incdir/libecasoundc
1356
- changed: plugin directory name from prefix/lib/ecasound-plugins
1357
to prefix/lib/libecasoundX-plugins, where X is
1358
the library interface number
1359
- fixed: -[io]:alsaplugin,x,y didn't work with latest ALSA
1361
- fixed: serious bug in setting up ALSA 0.9.x buffering params
1362
- fixed: rare bug with sampling rate changes
1363
- fixed: autoconf 2.5x fixes [iondiode]
1364
- fixed: typeselect - opening and closing a typeselect
1365
device multiple times caused a seg.fault
1366
- fixed: some ECI apps dumped core when executing their
1368
- fixed: after mp3/ogg/mikmod/timidity objects had reached
1369
finished state, playback couldn't be started
1370
without doing a disconnect-connect
1371
- fixed: better handling of situations where JACK server
1372
is abruptly shutdown and then restarted
1373
- fixed: sometimes an incorrect length-field was written to
1374
newly created wav-files
1375
- fixed: problems with using ewf-files with doublebuffering
1376
- fixed: loop devices didn't work; resulted in 'explicit
1378
- fixed: configure failed if neither ncurses nor termcap
1380
- fixed: compile failed if ALSA was not installed (even
1381
with --disable-alsa)
1382
- fixed: if compiled with --with-largefile, when closing
1383
output wav files, riff header block was written
1384
over start of audio data
1385
- fixed: -eemb wasn't working properly, this broke the
1387
- fixed: recording offset not set when not in
1389
- fixed: incorrect parsing of wav headers on big-endian
1391
- fixed: various small fixes to make ecasound compile
1392
with Sun's Workshop6 C5.2 C++ compiler under
1393
64bit Solaris 2.8 (sparc ultra-250)
1394
- fixed: ecasoundrc - ext-cmd-text-editor and
1395
ext-cmd-wave-editor were incorrectly parsed
1396
- fixed: cs-edit didn't preserve chainsetup position
1397
- fixed: cs-edit discarded all changes if the original
1398
chainsetup was connected but the resulting
1399
setup was not valid for reconnection
1400
- fixed: -klg didn't work as documented
1402
- edi-entries: edi-12
1403
- added: a watchdog thread that handles thread cleanup;
1404
this is needed especially for audio and chainop
1405
objects which create their own threads (like jack)
1406
- changed: unification of interactive and passive
1407
modes; running ecasound without -c is now
1408
pretty close to "echo run | ecasound -c cmds"
1409
- changed: if an invalid chainsetup is given on the command
1410
line, and -c is given, ecasound will print an
1411
error but will not exit as it did before; you
1412
can continue editing in the ia-mode to check
1413
what was wrong in the setup
1414
- changed: compilation of eca-iamode-parser.cpp is now
1415
significantly faster and takes less resources;
1416
this should fix problems with compiling ecasound
1417
on machines with <256MB of memory
1418
- fixed: audio-manager.h was missing from the dist-package
1419
- fixed: critical bug that prevented writing to
1420
double-buffered non-realtime output objects
1421
- fixed: chainsetups with multiple controller objects of
1422
the same type didn't work in 2.1dev6 [jesse]
1423
- fixed: edi-12 - multichannel, noninterleaved ALSA 0.9 input
1424
and output not working properly
1426
- edi-entries: edi-8, edi-11, edi-17
1427
- note: review of all samplebuffer-related code;
1428
lots of code-cleanups and minor improvements
1429
- added: edi-11; hierarchy-based config file system;
1430
default values now stored to
1431
'{prefix}/share/ecasound/ecasoundrc' while
1432
individual values can be overridden in
1433
'~/.ecasound/ecasoundrc'
1434
- added: bitrate (kbps) params to mp3 and ogg outputs
1435
- added: initial JACK support; enable by giving
1436
--with-jack=install_prefix configure option
1437
- added: edi-8; ia-mode - support for parsing args
1438
containing white-space; either by quoting
1439
with ("a token") or backslash espacing
1440
(a\ļæ½token) [junichi]
1441
- removed: ecasoundrc - 'user-resource-directory' tag
1442
removed; user-specific preset/oscillator
1443
definition directory now '~/.ecasound'
1444
- changed: ecasoundrc - to avoid versioning conflicts,
1445
all 'ext-*' tags are renamed; see ecasoundrc(5)
1446
- changed: 'make install' will now overwrite old
1447
data files ({prefix}/share/ecasound/*)
1448
- fixed: problems with automake1.5
1449
- fixed: eiam - 'ao-get-position' returned an integer
1450
value instead of a float as it should
1451
- fixed: bugs with combining -ei and LADSPA plugins
1452
- fixed: 2.1dev5 wrote broken wav-headers
1453
- fixed: minor changes to posix signal handling
1454
- fixed: seg.faults with -ei:x where x < 50
1456
- added: docs - Documentation/manpages.html
1457
- added: ecalength - -su option added [smassy]
1458
- added: experimental support for largefiles (>2GB);
1459
enabled with --with-largefile configure option
1460
- changed: most preset names changed in 'effect_presets'
1461
- changed: ecasoundrc - new defaults for mp3 and ogg
1463
- changed: unified kvutils build process; added separate
1464
libkvutils_debug target; CXXFLAGS shared with
1465
ecasound build configuration
1466
- fixed: processing didn't stop with setups that had loop-
1467
devices connected to multiple input objects
1468
- fixed: using loop devices in setups with non-default
1469
internal sample rate could cause unwanted
1471
- fixed: -kog and -f were broken (since dev4)
1472
- fixed: bugs in passing audio format params to
1473
mp3 and ogg encoders; note! update your
1474
~/.ecasoundrc to match the new defaults,
1475
see ecasoundrc(5) man page
1476
- fixed: ecasound wrote to ewf-files opened in read-only mode
1477
- fixed: work-around for environments without the C99 stdint.h
1478
header file [anarcat]
1479
- fixed: eiam - problems with 'cs-set-position-samples',
1480
'cs-rewind' and 'cs-forward' with unconnected
1483
- added: eiam - 'cs-option' commmand; although explicit use
1484
of cmd-line options as iactive-mod commands (like
1485
"-i:file.wav") is still supported, "cs-option
1486
-i:file.wav" is now the preferred syntax
1487
- removed: ecasound FAQ file - it only contains about
1488
a pageful of useful text - I moved that
1489
precious piece of content to the user's
1491
- changed: uses of '-i' an '-o' replaced with 'ai-add'
1492
and 'ao-add' in ECI documentation and
1493
code examples in 'ecasound/examples'
1494
- changed: user's and programmer's guides updated
1495
- changed: bug-alert; major rewrite of ecasound's
1496
internal object factory code
1497
- changed: eiam - output of aio-register, cop-register,
1498
ladspa-register and preset-register commands
1499
- fixed: multitrack mode was not properly detected if
1500
buffering mode was selected explicitly (-B)
1501
- fixed: eiam - minor 'cs-edit' bugs fixed
1502
- fixed: 'make install' failed if srcdir != objdir
1503
- fixed: didn't work with ALSA +0.9b8 CVS-tree
1504
- fixed: additional noises when mixing mono and stereo
1505
streams in ecasound chains
1506
- fixed: better handling of situations where ecasound
1507
can't execute ogg123 for ogg input
1509
- note: major changes to effect preset system which
1510
break some old preset definitions
1511
- edi-entries: edi-3
1512
- added: ecasound-config - --ldflags and --prefix
1513
- added: engine profiling info (printed to stderr)
1514
- added: -z:multitrack, -z:nomultitrack for forced enabling
1515
and disabling of multitrack-mode
1516
- added: variable-like preset parameters; it's now possible
1517
to bind one preset parameter to multiple chainops'
1518
parameters (control multiple settings with one
1520
- added: support for describing preset parameters (edi-3)
1521
- changed: pyecasound - makefile-hack that allows pyecasound
1522
to work even though compiled against libecasound
1523
and libkvutils that are not installed to
1524
a directory listed in /etc/ld.so.conf
1525
- changed: db-subsystem - is put to sleep more
1526
aggressively, which should further decrease
1528
- changed: db-subsystem - runs once again under sched_fifo
1529
scheduling if -r is enabled
1530
- changed: ALSA xrun reports are now printed to stderr
1531
instead of ecasound debug-subsystem
1532
- changed: -B:rt selected as the default bmode for
1533
multitrack-setups (instead of -B:lowlatency)
1534
- changed: preset definitions in 'effect_presets' changed
1535
to take advantage of the preset system improvements
1536
- fixed: major bugs in interpreting LADSPA plugin
1537
parameter hint flags
1538
- fixed: a nasty bug in bufmode activation code prevented
1539
-kos, -kl, and others from working properly
1540
- fixed: loop devices didn't work well with -z:db; fixes
1541
ecasound testsuite case con_test1-8
1542
- fixed: memory leak in LADSPA handling code; was triggered
1543
by recent versions of ecamegapedal
1544
- fixed: pyecasound - make target 'install-exec-hook' failed
1545
if --disable-pyecasound was given to configure
1547
- added: ecaplay - -k, -d and -h options, see 'man ecaplay'
1548
- added: eiam - ai-get-length-samples, ao-get-length-samples,
1549
cs-get-length-samples, cs-set-length-samples [smassy]
1550
- added: support for variable length buffer's for ALSA 0.9
1551
output (required by -ei:xx type effects)
1552
- changed: tuned prefill-parameters for double-buffering
1553
- changed: when saving chainsetups, if no parameters
1554
are overridden, buffermode definition (-B) is
1555
saved instead of individual parameters
1556
- changed: yet more changes to the multitrack-mode
1557
- changed: eiam - output of *-status commands
1558
- fixed: -r option wasn't saved to chainsetups (used
1559
to be a session-level option)
1560
- fixed: typeselect problems when used for outputs
1561
- fixed: system lockups with -B:rtlowlatency and
1562
rt-object-only chainsetups
1563
- fixed: misplaced tab prevented eci.py from working
1564
with python 2.1 (nested scopes)
1565
- fixed: if a monitor track input ended before recording
1566
stopped in multitrack mode and -z:db was enabled,
1567
it continued producing unwanted noise to the
1569
- fixed: eiam - ladspa-register output had plugin names
1570
and descriptions mixed
1572
- added: chainsetup parser prints a warning if an unknown
1573
buffering mode is given to -B:mode
1574
- changed: 'rt' buffering mode is preferred over
1575
'rtlowlatency' if no chain operators are
1576
present, and multitrack mode is not active
1577
- changed: more improvements to double-buffering
1578
- fixed: critical bug when running in -B:rtlowlatency
1579
mode (caused system-lockups with ALSA 0.9.x
1581
- fixed: explicitly specifying -z:nointbuf had no
1583
- fixed: setting double-buffer length didn't have
1584
any effect (given either in bmode defaults
1587
- edi-entries: edi-2, edi-6, edi-10, edi-15
1588
- added: more recent config.guess and config.sub to
1589
the dist package [juekawa]
1590
- added: new feedback-% param to -etd effect, doesn't
1591
affect old presets using -etd [smassy]
1592
- added: ALSA device name 'default' is used if no
1593
other name is given ('-o:alsa' is equivalent
1594
to '-o:alsa,default')
1595
- added: special case for mapping "ecasound file.ecs"
1596
to "ecasound -s:file.ecs"
1597
- added: implementation of edi-6; the -z:db
1598
is now completely transparent to other
1600
- added: eiam - new commands: cs-set-position-samples,
1601
cs-get-position-samples, ai-set-position-samples,
1602
ai-get-position-samples, ao-set-position-samples,
1603
ao-get-position-samples
1604
- added: edi-15 - '-B' option for selecting default
1605
buffering mode (see ecasound man page)
1606
- added: edi-15 - ecasoundrc bmode-defaults options;
1607
obsoletes old default-buffersize, etc options
1608
- added: various improvements to multitrack sync-mechanism
1609
to make it work reliably in all buffering modes
1610
- added: ladspa.h added back to distribution; it is however
1611
not installed to incdir/ecasound/ladspa; also
1612
already installed ladspa.h is preferred over
1613
the local header file version
1614
- added: S.Massy's ecalength added to ecatools -
1615
see ecalength(1) manual page (edi-10)
1616
- added: new 'typeselect' audio object type that can
1617
be used to override the object type; see
1618
man ecasound(1) for details
1619
- changed: library version changed to 8.0.0
1620
- changed: use of kvutils/definition_by_contract
1621
dropped; more lightweight kvutils/dbc.h
1622
will be used from now on
1623
- changed: more strict option parsing; now a warning
1624
is printed if an unknown option is seen;
1625
parser also won't accept known options
1626
with invalid or incorrect parameters
1627
- changed: use of libstdc++ namespace now explicitly
1628
marked using the 'std::' prefix [rpolton]
1629
- changed: new layout for saved ecs-files
1630
- changed: docs - converted ecasound user's and
1631
programmer's guide from yodl to latex
1632
- changed: shocking changes to startup printouts :)
1633
- fixed: gcc3.x fixes to ALSA 0.5.x plugin [juekawa]
1634
- fixed: problems with ALSA 0.9beta7 (dlopen() issue)
1635
- fixed: minor samplerated bug with LADSPA plugins
1636
- fixed: gcc3.x failed on certain glibc2.1 headers
1637
if optimization was enabled (-O2)
1638
- fixed: pyecasound linking failed in certain
1640
- fixed: ecasound.spec - dropped the hardcoded python
1641
module path that was passed to configure
1642
- fixed: seg.fault if opening wav/raw files for
1643
output failed for some reason (access
1645
- fixed: non-zero defaults for -r:x and -z:db,y [smassy]
1646
16012002 (v2.0.4) -** stable release **-
1647
- edi-entries: edi-12
1648
- added: docs - Documentation/manpages.html
1649
- fixed: ecasound.spec - dropped the hardcoded python
1650
module path that was passed to configure
1651
- fixed: seg.fault if opening wav/raw files for
1652
output failed for some reason (access
1654
- fixed: misplaced tab prevented eci.py from working
1656
- fixed: major bugs in interpreting LADSPA plugin
1657
parameter hint flags
1658
- fixed: memory leak in LADSPA handling code; was triggered
1659
by recent versions of ecamegapedal
1660
- fixed: edi-12 - multichannel, noninterleaved ALSA 0.9 input
1661
and output not working properly
1662
28092001 (v2.0.3) -** stable release **-
1663
- added: more recent config.guess and config.sub to
1664
the dist package [juekawa]
1665
- changed: -z:intbuf made the default once again
1666
- changed: ecasoundrc - default-to-internal-buffering
1667
renamed to default-to-max-internal-buffering
1668
to avoid conflicts with the old defaults
1669
- fixed: gcc3.x fixes to ALSA 0.5.x plugin [juekawa]
1670
- fixed: problems with ALSA 0.9beta7 (dlopen() issue)
1671
- fixed: minor samplerated bug with LADSPA plugins
1672
- fixed: gcc3.x failed on certain glibc2.1 headers
1673
if optimization was enabled (-O2)
1674
- fixed: pyecasound linking failed in certain
1676
17082001 (v2.0.2) -** stable release **-
1677
- added: current position tracking to loop devices
1678
- added: more verbose xrun info from ALSA 0.9.x devices
1679
- added: info about the new perl bindings to ECI API docs
1680
- added: Eric Tiedemann's alternative Python ECI
1681
interface, eci.py, added to pyecasound [est]
1682
- added: support for gcc 3.0 [juekawa]
1683
- changed: improved configure checks for python include
1684
and library directories
1685
- changed: -tl now works without -t
1686
- changed: new algorithm for selecting initial param
1687
values for LADSPA plugins
1688
- changed: update ogg input and output support to
1689
work with ogg vorbis 1.0rc2
1690
- changed: changed some of the returned error codes
1691
- fixed: selecting a non-existant chainsetup could crash
1693
- fixed: --enable-audiofile actually disabled the use of
1695
- fixed: ecaplay - if ecaplay is unable to play a file,
1696
instead of exiting it now skips to the next file
1697
- fixed: giving a non-integer number of delays to -etd
1699
- fixed: eiam - issuing copp-select + copp-get caused
1700
a crash if no cop was selected
1701
- fixed: bugs in handling infinite length ewf sources
1702
- fixed: --disable-oss still required to sys/soundcard.h
1704
- fixed: bug in sending MIDI-MMC messages [robstr]
1705
- fixed: bug in ecasoundc cleanup routines [rjpoelstra]
1706
05062001 (v2.0.1) -** stable release **-
1707
- added: ecasoundrc - default-to-internal-buffering; select
1708
the default between -z:intbuf and -z:nointbuf
1709
- added: alternative C ECI implementation providing reentrant
1710
access to the library; the new routines have a '_r'
1711
postfix and are located in libecasoundc [ajeanneau]
1712
- changed: completely rewritten mp3 header parsing; should
1713
fix most of the compatibility problems
1714
- fixed: disk buffers weren't properly flushed in -z:db mode
1715
when changing or setting processing position
1716
- fixed: bugs in assigning LADSPA plugin audio ports to
1717
ecasound chain channels
1718
- fixed: configure script failed if arts was installed
1719
without the devel files (arts-devel)
1720
- fixed: bug in the MIDI-server code caused core dumps in
1722
- fixed: bug in querying -klg parameter status
1723
- fixed: eiam - giving certain invalid arguments to 'cop-add'
1724
and 'ctrl-add' crashed ecasound
1725
- fixed: bug in closing .raw files [smassy]
1726
- fixed: eiam - cop-inxed-select renamed to cop-index-select
1727
- fixed: bugs in loop device channel handling
1728
- fixed: changing internal sample rate caused problems to
1729
the noise gate effect (-enm)
1730
02052001 (v2.0.0) -** stable release **-
1731
- added: -klg - a generic linear envelope; a controller source
1732
that can be used to map custom envelopes to chain
1733
operator parameters [artham]
1734
- fixed: segfaults when trying to access non-existing preset
1736
- fixed: segfault if tried to copp-get without first
1737
selecting a parameter with copp-select
1738
- fixed: few bugs in ewf looping routines
1739
- fixed: 'make uninstall' forgot some files and dirs
1740
- fixed: bug in ALSA 0.9.x xrun handling
1742
- added: eiam - cs-setpos, cs-set-position; aliases for setpos
1743
- added: eiam - cs-getpos, cs-get-position; aliases for getpos
1744
- added: eiam - cs-rewind and cs-forward; aliases for rewind
1746
- added: eiam - cs-get-length; alias for get-length
1747
- added: ecatools - repeated ctrl-c causes ecaplay to exit
1748
immediately (like mpg123)
1749
- added: MIDI options now properly saved to ecs files
1750
- added: eiam - c-index-select, c-iselect, cs-iselect,
1751
cs-list, ai-list, ao-list, ai-iselect, ao-iselect
1752
- added: eiam - cop-index-select, cop-iselect as aliases for
1754
- added: eiam - copp-index-select, copp-iselect as aliases for
1756
- added: eiam - ctrl-index-select, ctrl-iselect as aliases for
1758
- added: eiam - ai-get-format and ao-get-format
1759
- added: eiam - cop-selected, copp-selected and ctrl-selected
1760
- added: eiam - cop-list, copp-list, ctrl-list
1761
- removed: because of the continuing licensing problems,
1762
ladspa.h was removed; to compile ecasound with
1763
LADSPA support, the LADSPA SDK has to be installed
1764
- changed: eiam - separate commands sets for operating on audio
1765
inputs (ai-) and outputs (ao-); affects all aio-*
1766
commands except aio-register and aio-status
1767
- changed: eiam - dump-aio-* separated into dump-ai-* and
1769
- changed: eiam - cs-length renamed to cs-set-length
1770
- changed: updated ecafixdc and ecanormalize to use the new
1771
temp file creation routines
1772
- changed: -z:nointbuf is now the default; use -z:intbuf to
1773
enable the old default behaviour
1774
- changed: eiam - ai-index-select and ao-index-select now
1775
take an integer parameter
1776
- changed: eiam - c-name renamed to c-rename
1777
- changed: eiam - cs-set renamed cs-set-param
1778
- changed: eiam - cs-format renamed cs-set-audio-format
1779
- changed: eiam - cs-loop renamed to cs-toggle-loop
1780
- fixed: small bug fix to ALSA 0.9.x support
1781
- fixed: eiam - ctrl-remove bug fix, take two :)
1783
- added: eiam - new aliases 'getpos', 'c-set-position',
1784
'aio-set-position', 'aio-getpos'
1785
- added: eiam - 'int-cmd-list', 'int-version-string'.
1786
'int-version-lib-current', 'int-version-lib-revision',
1787
'int-version-lib-age'
1788
- added: eiam - added a section about 'realtime commands'
1789
to ecasound-iam(1) man page
1790
- changed: new system for creating temporary files;
1791
all temps are put into a separate directory;
1792
$TMPDIR and $TMP are used if available, otherwise
1794
- fixed: mp3 output broken
1795
- fixed: more zombie-problems with mpg123, lame, ogg123
1797
- fixed: eiam - 'fw' and 'rw' commands didn't work properly
1798
if -z:db was enabled and audio object sample rate
1799
was different than internal sample rate
1800
- fixed: eiam - 'ctrl-remove' removed the selected chainop,
1801
not the controller as it should have
1802
- fixed: eiam - seg.fault when using 'cs-edit' to configure
1803
a connected chainsetup
1805
- added: -C - disable interactive mode; reverse op. for -c
1806
- added: -X - open outputs for updating; rev.op. for -x
1807
- added: -r:-1 to disable raised-priority mode
1808
- added: -z:nopsr, -z:noxruns and -z:intbuf ; rev.ops for
1810
- added: 'user-resource-directory' define to ~/.ecasoundrc;
1811
see ecasoundrc(5) for details
1812
- changed: ecasoundrc - the default midi-device has to be
1813
given using the new 'type,device' syntax; defaults
1814
to 'rawmidi,/dev/midi'
1815
- changed: man pages are now distributed in nroff 'man' format
1816
- changed: audio object regexps are now case insensitive -
1817
for instance both file.mp3 and file.MP3 are now
1818
recognized as mp3 files
1819
- fixed: mpg123 instances weren't always properly cleaned
1820
- fixed: loop-device code wasn't working
1821
- fixed: more ewf-fixes
1822
- fixed: removal of static object maps might cure some
1823
C++ compatibility problems (no user-visible changes)
1824
- fixed: if connected, trying to remove the last chainsetup
1825
failed (possible core dump if debug disabled)
1826
- fixed: when used as inputs, 'null' and 'rtnull' now produce
1827
silence instead of random data (=noise)
1829
- added: ecaplay - ctrl-c skips to the next file
1830
- changed: -Md syntax to '-Md:rawmidi,device_name', where
1831
'rawmidi' specifies the type while 'device_name'
1832
refers to a file/device name
1833
- fixed: MIDI-thread hang when exiting ecasound
1834
- fixed: various ewf-related fixes
1835
- fixed: eiam - rounding errors with 'rw' and 'fw' commands
1836
- fixed: ecaplay - seg.faults when playing multiple files
1837
- fixed: object cleanup was not properly done if ecasound
1838
received signals while multiple threads were
1839
running ("pure virtual method called" warnings)
1841
- added: -z:nointbuf - minimize the use of internal buffering
1843
- added: -z:xruns - stop processing if an xrun occurs
1844
- added: '--disable-ncurses' configure switch; ncurses/termcap
1845
is still required during compiling, but with this,
1846
ncurses/termcap is ignored during linking
1847
- added: -Md:device option for specifying MIDI-devices
1848
- added: -Mms:device_id; send MMC start/stop to MIDI devices
1849
- added: -Mss; send MIDI-start/stop (note! MIDI-clock is
1851
- added: support for ALSA 0.6.x named pcm-devices; the new
1852
syntax is '-[io]:alsa,pcm_name'; alternatively,
1853
'-[io]:alsahw,card,dev,subdev' and '-[io]:alsaplugin,
1854
c,d,sd' can also be used; doesn't affect 0.5.x and
1856
- added: eiam-cmds; cs-is-valid
1857
- changed: support for -z:nointbuf to OSS-devices (/dev/dsp)
1858
and ALSA 0.5.x plugin
1859
- fixed: severe bugs with -km (midi-routines)
1861
- notice: new version numbering scheme
1862
- added: eiam-cmds; set-position, get-position, get-length,
1863
cs-connected, cs-selected, engine-status,
1864
aio-get-position, aio-get-length, aio-selected,
1865
ctrl-select, ctrl-remove, cop-select, copp-select,
1866
copp-set, copp-get, c-list, cs-list
1867
- added: eiam command return type documentation to
1868
ecasound-iam man page
1869
- added: ecasound detects all eiam return types and
1870
automatically prints their values after commands
1872
- added: example code (under ./examples) - ecidoc_example.c,
1873
ecidoc_example.cpp, ecidoc_example.py, normalize.py
1874
- added: -kog - a new generic oscillator
1875
- added: lots of new documentation - check the examples page,
1876
user's guide and the ecasound faq
1877
- added: better handling of output error conditions (out of
1879
- added: -eS - audio stamper
1880
- added: -ksv - control source that analyzes audio stamp
1881
volume statistics and creates control data from
1883
- added: -z:nodb - disable double-buffering
1884
- removed: eiam-cmds; u, a, cstatus, l, fstatus, estatus
1885
- changed: -kf - 'mode' parameter added
1886
- changed: format of the file 'generic_oscillators'
1887
- changed: ECI - last_list_of_strings() to last_string_list()
1888
- changed: the way gate operators work; instead of muting
1889
the chain, they now truncate the passing buffers -
1890
in future, amplify+controller (-ea + -k)
1891
combinations can be used in the same manner as the
1893
- changed: 'ecasound-config --flags' now prints includedir
1894
instead of includedir/ecasound
1895
- changed: updated ALSA 0.6.x support to match CVS-20010122
1896
- changed: a better implementation of MIDI i/o routines
1897
- fixed: "-x -i file.ext" style cmd-line arg sequences weren't
1898
parsed correctly [jhall]
1899
- fixed: ECI - command_float_arg() was broken (all languages)
1900
- fixed: when exiting console-mode ecasound with "quit",
1901
ecasound object weren't properly destructed causing
1902
all kinds of weird behavious (especially with wav-
1904
- fixed: more FreeBSD 4.x related fixes [beaupran]
1905
- fixed: ogg vorbis output fixes [nolan_d]
1906
- fixed: gcc 2.96 (RH7.0) related fixes [swharris]
1907
- fixed: ewf-file parsing not working [smorris]
1908
07122000 (v1.8.5d15)
1909
- added: tremolo effect (-eemt) [rcs]
1910
- added: -z:db; i/o double buffering layer is back! -
1911
after complete rewrite, db-mode now supports all
1912
non-realtime audio objects, and works both for
1914
- added: default-double-buffer-size added to ~/.ecasoundrc
1915
- added: double buffer size can be given as the 2nd
1916
argument of -z:db,dbsize
1917
- added: optional argument for -r:sched_priority; specify
1918
the static rt-priority; see ecasound(1)
1919
- added: default-schedpriority added to ~/.ecasoundrc
1920
- added: 32bit support for OSS/Linux
1921
- added: comments lines (#-prefixed lines) allowed when
1922
loading chainsetups from file
1923
- added: ecatools - ecasignalview added to the package;
1924
see ecatools(1) man page for details
1925
- added: new modules - libecasoundc and pyecasound
1926
- added: --disable-pyecasound configure switch
1927
- added: './contrib' and './examples' directories added
1928
to the distribution package
1929
- added: ecasound control interface documentation added -
1930
see 'Documentation/programmers_guide/eci_doc.html'
1931
- added: eiam - new commands; c-selected
1932
- added: extended support for parameter descriptions;
1933
all LADSPA parameter hints now supported
1934
- added: support for result paramerers, ie. values resulted
1935
from processing/analyzing
1936
- added: ECI - error() added
1937
- removed: the "LADSPA/" prefix removed from plugin labels
1938
- removed: support for underscores in EIAM-commands
1939
- changed: more intelligent handling of resource files
1940
(for instance ~/.ecasoundrc and preset files)
1941
- changed: output produced by -ev
1942
- changed: updated ALSA 0.6.x support to match pcmfinal-state
1943
- changed: minor changes to multitrack sync code; should
1944
now be even more accurate
1945
- changed: triggering of realtime outputs; now all rt-outputs
1946
are prefilled with two buffers before triggering
1947
- changed: Mandrake and PLD Linux RPM-spec files moved into
1948
the new './contrib' directory
1949
- changed: -ev and -ezf now report their results as
1950
output parameters (normal chainop params)
1951
- fixed: nasty bug in effect preset mapping
1952
- fixed: -ei:0 caused problems
1953
- fixed: cdr-file endianess (should be _always_ big endian)
1954
- fixed: yet more fixes to mono mp3 input handling
1955
- fixed: input problems (easily triggered by using -sr)
1956
with .mp3, .mid and mikmod modules
1957
- fixed: c-setpos didn't work if chainsetup wasn't connected
1958
- fixed: commas in descriptions of LADSPA plugin parameters
1959
confused ecasound, and usually ended up crashing
1960
(triggered at least by the hermes filter)
1961
07112000 (v1.8.4d15)
1962
- added: pulse gate (-eemp); can be used to generate a
1963
metronome signal [rcs]
1964
- added: support for preset parameters - see file
1965
'effect_presets' for examples [artham]
1966
- added: support for MIDI files using Timidity++
1967
- added: input and output of Ogg Vorbis files (.ogg) using
1969
- added: version control to internal plugins; when compiling,
1970
libecasound libtool interface number is stored to
1971
the plugin object files
1972
- added: updates and additions to ecasound programmer's guide
1973
- added: support for noninterleaved streams to ALSA 0.6.x plugin
1974
- added: 4th parameter to -f, 'i' (default) indicates interleaved
1975
stream format while 'n' refers to noninterleaved
1976
- added: -D option; prints debug messages to stderr
1977
- removed: -m:mthreaded and -z:db (obsolete)
1978
- changed: tries to load all internal plugins even if some
1979
plugins were disabled during compile-time; this
1980
makes it possible to have multiple versions of same
1981
plugin tupe (for instance, plugins for different
1983
- changed: ecasoundrc - mikmod-path and -args combined into
1984
more general mikmod-cmd
1985
- fixed: compile time problems under Solaris 2.6 and FreeBSD
1986
4.1 [beaupran, rcampbel]
1987
- fixed: ncurses fixes (the ever-bold bug) [artham]
1988
- fixed: cs-loop seg.faulted
1989
- fixed: stripped libtool version info from plugins [wrobell]
1990
- fixed: configure-time relocations didn't affect the default
1991
paths of effects presets and LADSPA plugins [juekawa]
1992
- fixed: invalid/non-existant files caused problems for all
1993
utils in ecatools package
1994
- fixed: sync-related ALSA 0.6.x fixes
1995
- fixed: better handling of mp3, ogg, timidity and mikmod
1997
- fixed: -sr:srate didn't work (broken in 1.8.3d15)
1998
- fixed: problems with ALSA 0.6.x pcm plugins
1999
26092000 (v1.8.3d15)
2000
- changed: code for parsing command-line arguments rewritten;
2001
now reports about invalid arguments
2002
- changed: default precision when printing time in seconds
2003
changed to 3 (msec precision)
2004
- fixed: ALSA 0.6.x updates
2005
- fixed: few bugs in aRts plugin
2006
16092000 (v1.8.2r14) -** public release **-
2007
- added: --enable-alsa-rawmidi configure option - this is a
2008
temporary solution for supporting ALSA rawmidi until
2009
we have a proper plugin-based MIDI-subsystem
2010
- fixed: some broken mp3 headers caused ecasound to misinterpret
2012
- fixed: problems when handling mp3 files with white-space in
2013
the filename [rsassman]
2014
- fixed: incorrect riff-wave header bug fixed [artham]
2015
- fixed: in some cases, controllers weren't parsed correctly
2016
- fixed: annoying clicks with phaser, flanger and chorus
2017
01092000 (v1.8.1d14)
2018
- notice: all qt-related stuff put to separate packages
2019
- added: support for internal plugins; modules using external
2020
libraries (ALSA, aRts, libaudiofile, etc) are now
2021
dynamically loaded on runtime (no unnecessary
2022
dependencies); installed by default to
2023
(prefixdir)/lib/ecasound-plugins; see also
2024
ecasoundrc(5) man page for related entries
2025
- added: new ecasound-plugins rpm package
2026
- added: mp3 channel-count and sampling rate from mp3 header
2027
- added: notifies user if internal-plugin directory isn't found
2028
- removed: support for native ALSA rawmidi temporarily removed
2029
(while waiting, use ALSA's OSS-emulation)
2030
- changed: aRts support enabled by default
2031
- changed: behaviour of -ete effect's wet-% parameter
2032
- fixed: system readline related fixes (wrobell)
2033
- fixed: ewf - crashed if looping was enabled and
2034
'start-position' > 'length'
2035
- fixed: few ewf output fixes
2036
- fixed: compile problems with ALSA 0.5.x
2037
- fixed: ecatools hang if interactive-mode enabled by default
2038
- fixed: ALSA 0.6.x support working again
2039
25062000 (v1.8.0d14)
2040
- added: ecaconvert - a new ecatools app; converts a set of
2041
files to target file format
2042
- added: support for ALSA 0.6.x (plugin and direct) [jhall]
2043
- added: ia-mode - 'cs-list', 'c-list', 'aio-list',
2044
'cop-list'; nothing new, but some might find these
2045
a bit more intuitive to use than various status cmds
2046
- added: more info about audio object status
2047
- added: --enable-sys-readline (compile against already
2048
installed libreadline) [wrobell]
2049
- added: rpm-spec file for PLD-Linux - ecasound.pld.spec [wrobell]
2050
- added: support for destdir env.variable [wrobell]
2051
- added: support for float samples (-f:f32_le and -f:f32_be)
2052
- added: support for IEEE754 wav files (float)
2053
- added: --enable-arts - use aRts daemon for audio input and
2054
output, see ecasound(1) man page for more info
2055
- added: limiter effect (-eal:limit-%)
2056
- changed: major changes in source tree organization
2057
- changed: mp3 input and output now possible with all decoders
2058
and encoders which support standards i/o streams;
2059
still defaults to mpg123 and lame - see
2060
ecasoundrc(5) for details
2061
- changed: qtecasound - all shortcut keys are now ctrl-some_key
2062
23062000 (v1.7.9r13) -** public release **-
2063
- fixed: stdin, stdout and '-' were all more or less broken
2064
- fixed: loop devices weren't saved correctly
2065
05062000 (v1.7.8r12) -** public release **-
2066
- added: files 'TODO' and 'ecasound.mdk.spec'
2067
- added: support for LADSPA_PATH env.variable
2068
- added: support for multichannel LADSPA plugins
2069
- added: -eli options, select a LADSPA plugin using its
2071
- added: -ete - a new, more advanced reverb (thanks to
2072
Stefan M. Fendt for the algorithm!)
2073
- changed: qtecasound - major layout changes
2074
- changed: ecatools renamed to ecaplay, ecanormalize and
2076
- changed: updated the 'INSTALL' file
2077
- fixed: qtecasound - bugs in debug output
2078
- fixed: some minor bugs in LADSPA support
2079
- fixed: compile problems with 2.95.x
2080
- fixed: errors loading some LADSPA plugins
2081
- fixed: the ".mp3.wav" bug
2082
- fixed: config.h fixes
2083
03052000 (v1.7.7r11) -** public release **-
2084
- added: --version and --help command-line options (for GNU
2086
- changed: documentation updates
2087
- fixed: some compile-time problems
2088
- fixed: chain-muting wasn't working properly
2089
26042000 (v1.7.6d11)
2090
- added: new input/output device 'alsaplugin' - similar to
2091
normal ALSA pcm-devices, but uses the pcm-plugin
2092
layer (automatic sample rate and format conversions)
2093
- added: safety-checks against invalid command-line parameters
2094
and ia-mode commands (adding inputs, outputs,
2096
- changed: much faster communication between engine and ui
2097
- changed: qtecasound - replaced some old widgets with
2098
new libqtecasound widgets
2099
- changed: ia-mode - c-clear now works on-the-fly
2100
- fixed: qtecasound - core dumps when removing audio objects
2101
- fixed: qtecasound - many minor bugs
2102
- fixed: core dumps when adding parameter controllers for
2103
non-existent chainops
2104
- fixed: include-file problems when compiling in a separate dir
2105
- fixed: problems in mixing multiple mono-inputs
2106
12042000 (v1.7.5d11)
2107
- added: ALSA support for s32_le and s32_be sample formats
2108
- added: numerous fixes and small improvements to ALSA 0.5.x
2110
- removed: dynamic loading of ALSA support - as ALSA is
2111
getting bigger and bigger, maintaining dynamic
2112
support has become more and more difficult -
2113
this means that ALSA support isn't anymore included
2114
in binary distribution packages - to get native
2115
ALSA support, you have to compile ecasound from
2116
sources - of course you can always use ALSA's
2118
- changed: pitch-shifter (-ei) improvements [artham]
2119
- changed: above improvements also affect normal resampling
2120
- changed: ia-mode commands cop-add, cop-remove and ctrl-add
2121
can now be used with connected chainsetups (add
2122
effects on-the-fly, etc)
2123
- changed: updated LADSPA support to v1
2124
24032000 (v1.7.4d11)
2125
- added: summary info to configure-script
2126
- changed: upgraded LADSPA support to API v1-rel1
2127
- changed: default directory for LADSPA plugins is now
2128
/usr/local/lib/ladspa (see ecasoundrc(5))
2129
- fixed: latency-problems with ALSA pcm-loopback
2130
- fixed: thread scheduling problems with '-r'
2131
- fixed: compile problems under Solaris
2132
- fixed: many .ewf bugs
2133
- fixed: compile problems with ALSA 0.4.x
2134
- fixed: few minor bugs in -ev and -ezf
2135
21032000 (v1.7.3d11)
2136
- added: initial LADSPA support (-el), see ecasound(1) man page
2137
- added: 'ladspa-plugin-directory' entry to ~/.ecasoundrc
2138
- added: ia-mode commands 'aio-register', 'cop-register',
2139
'ctrl-register', 'preset-register', 'ladspa-register'-
2140
these commands list all registered object types
2141
- changed: a more compact command-line help
2142
- fixed: nasty bug when adding effects on-the-fly (caused
2143
infinite recursion inside the object maps)
2144
19032000 (v1.7.2d11)
2145
- added: support for ALSA 0.5.x pcm-loopback
2146
- added: more effect presets
2147
- added: ia-mode - 'aio-select-input' and 'aio-select-output'
2148
- added: ia-mode - dump-* commands, see ecasound-iam(5) for
2150
- removed: /dev/snd/pcmCxDy notation for specifying ALSA
2152
- changed: ia-mode - if aio-add-output is executed without
2153
arguments, the default output is used
2154
- fixed: libqtecasound was compiled even if --disable-qt
2156
- fixed: qtecasound - libqtecasound header include path
2158
- fixed: ia-mode - problems with '_' -> '-' conversions
2159
- fixed: -erc, -erm and -epp didn't work as expected if
2160
both mono and stereo files were present in the
2162
- fixed: minor bugs in ALSA pcm2 support
2163
- fixed: bugs in OSS capability checking (triggering and
2164
realtime caps), thanks to Rui Sousa for the fix
2165
- fixed: bugs in internal looping
2166
26022000 (v1.7.1d11)
2167
- added: a new effect preset system, see user's guide and
2168
ecasound man page for more info
2169
- added: lots of default presets, see file 'effect_presets'
2170
- added: an allpass filter (-efa)
2171
- added: a comb filter (-efc)
2172
- added: a simple pitch shifter (-ei)
2173
- added: flanger (-etl), chorus (-etc) and phaser (-etp)
2174
- added: a new, faster multi-tap delay (-etm)
2175
- removed: old effect preset files and command line options
2176
- changed: rewrote the normal compressor (-ec), now takes
2177
the threshold argument as percents
2178
- changed: updated Stefan Fendt's rc-lowpass, now a 3rd
2179
stage, 36dB lowpass filter
2180
- changed: parsing of command line parameters - most changes
2181
don't affect the user-interface side
2182
- fixed: ecatools crashed with multiple inputs
2183
17022000 (v1.7.0d11)
2184
- added: qtecasound - chainsetup status
2185
- added: automatic grouping of realtime and non-realtime
2186
audio objects for better performance
2187
- added: two-stage linear envelope (-kl2)
2188
- added: 'run' command to ia-mode - like 'start' but blocks
2189
until processing is finished
2190
- added: '-kx' option - this can be used for controlling
2191
controller parameters with other controllers
2192
- added: ia-mode command "ctrl-status" (controller status)
2193
- added: qtecasound - controller status pushbutton
2194
- added: qtecasound - a nicer looking debug-window
2195
- added: libqtecasound - a new subpackage containing
2197
- added: support for chain-to-chain looping, see ecasound(1)
2198
manual page for more info
2199
- removed: qtecasound - waveform view
2200
- changed: ecawave is now the default ext. wave-editor
2201
- changed: all shortcuts are now alt+key combinations
2202
- changed: renamed ia-mode commands "cop-add-controller"
2203
to "ctrl-add" and "cop-remove-controller" to
2205
- changed: qtecasound - some renamed pushbuttons and
2206
reassigned shortcut keys
2207
- changed: changes in debugging subsystem, affects '-d'
2208
behaviour, see ecasound man page
2209
- changed: rewritten .ewf support with lots of new
2210
features - see ecasound user's guide for more
2212
- fixed: qtecasound - position slider wasn't working
2213
- fixed: instead of just outputting raw ANSI-codes,
2214
standard ncurses routines are now used
2215
- fixed: recording from realtime inputs didn't work
2216
when processing length was not set
2217
- fixed: setting processing length didn't work in normal
2218
passive mixing mode (multiple chains)
2219
- fixed: overrun/underrun problems with ALSA 0.5.x
2220
30012000 (v1.6.13d11)
2221
- changed: rtnull reports about over/underruns now
2222
level-4 debug messages
2223
- fixed: some problems in mixmode selection
2224
29012000 (v1.6.12r10) -** public release **-
2225
- added: support for s24_le, s24_be, s32_le and s32_be
2227
- added: support for ALSA-subdevices (-o:alsa,card,dev,subdev)
2228
- added: to ia-mode - 'c-deselect', 'c-select-add'
2229
- added: improved multitrack-sync
2230
- added: 'default-double-buffer-size' added to .ecasoundrc
2231
- changed: ALSA pcm2-devices now opened in nonblock-mode
2232
- changed: ecasound can now be compiled in a separate obj dir
2233
- fixed: bugs in channel routing and output mixing
2234
- fixed: delay effects dumped core with mono inputs
2235
14012000 (v1.6.11d10)
2236
- added: -ef4 - 2th-order, 24dB filter which simulates
2237
an analog active RC-lowpass filter - submitted by
2239
- added: support for ALSA 0.5.x (pcm2, no loopback)
2240
- removed: support for ALSA 0.3.1 and older
2241
- changed: 'cs-edit' now possible while processing
2242
- changed: raised-priority mode moved from chainsetups
2243
to session-level (isn't saved to ecs-files, etc)
2244
- fixed: removed the huge delay in (dis)connecting chainsetups
2245
- fixed: 'fw', 'rw', 'setpos' crashed if executed without
2247
- fixed: under/overrun problems with ALSA drivers
2248
- fixed: stdin/stdout not working
2249
- fixed: c-add and c-select didn't accept multiple parameters
2250
- fixed: problems with -etf memory handling
2251
03012000 (v1.6.10d10)
2252
- added: a realtime null audio device 'rtnull' - simulates
2253
soundcard behaviour (warns about over/underruns)
2254
- changed: 'make install' isn't forced anymore
2255
- changed: mono noisegate (-enm) replaced with a new
2256
multichannel noisegate
2257
- changed: behaviour of -r; now changes scheduling policy
2258
to SCHED_FIFO (realtime) - beware! this gives
2259
better performance, but might cause total
2260
lock-ups if something goes wrong
2261
- fixed: improvements to autoconf scripts; --enable-qt and
2262
--disable-qt now work as expected - thanks to
2263
Vadim Tkachenko for the patch
2264
- fixed: seg.faults with some files when using -z:db
2265
- fixed: many bug fixes to delay effects (-etf, -etr and -etd)
2266
- fixed: nasty bug in ewf-routines
2267
- fixed: double-buffered mode (-z:db) sometimes discarded the
2268
last few bytes before end-of-file
2269
151299 (v1.6.9r9) -** public release **-
2270
- notice: changes in version numbering
2271
- added: linear envelope (-kl), useful for fade-ins/outs
2272
- changed: signal limiting code moved from chains to output
2273
mixing stage - when processing multichain setups,
2274
this is faster and gives more dynamic headroom
2275
- changed: mikmod default args now "-p 0 --noloops"
2276
- changed: many improvements to input double-buffering (-z:db)
2277
and multithreaded mixmode (-m:mthreaded)
2278
- fixed: bug in testing chainsetup validity
2279
- fixed: piping bugs that caused mpg123, lame and mikmod
2280
to hang in some situations
2281
- fixed: mono noise-gate (-enm) wasn't working
2282
- fixed: changes to -s broke -sr in 1.6.8r8
2283
041299 (v1.6.8r8) -** public release **-
2284
- added: cs-index-select (see ecasound-iam(1))
2285
- added: more info fiels to cs-status
2286
- added: configure check for Qt version (must be >= 2.x)
2287
- fixed: cs-status didn't show all chainsetups
2288
- fixed: problems with cs-load
2289
- fixed: processing ended prematurely when mixing
2290
multiple chains to one output
2291
- fixed: some uses of C++ namespaces caused compile errors
2292
with older gcc versions
2293
- fixed: in addition to '-s:cs_file.ecs', '-s cs_file.ecs'
2294
is now also accepted
2295
251199 (v1.6.7r7) -** public release **-
2296
- changed: some not-so-important runtime info (opening and
2297
closing devices, etc) is now considered to be
2298
debug info and is not printed by default
2299
- changed: position is printed as a floating-point value
2300
- fixed: qtecasound - lots of bugs
2302
- fixed: cs-save and cs-save-as didn't work as expected
2303
- fixed: cs-load didn't work properly
2305
- added: safety-checks to prevent users from connecting
2307
- added: underlines are accepted in ia-mode commands
2308
- fixed: problems with -ev
2309
- fixed: minor bugs in audvvio object positioning
2311
- added: -erc - channel copy (one-to-one) and
2312
-erm - mix all channels (all-to-one) ; these are
2313
meant for handling multichannel files
2314
- added: -y option - set starting position for last specified
2316
- added: -t option - set processing time in seconds (makes
2317
multitrack cut&paste possible when used with -y)
2318
- added: -tl option - enable looping (see -y and -t)
2319
- added: ia-mode: cs-length (like -t), cs-loop (like -tl)
2320
- added: you can now pass additional options to external
2321
programs (mpg123, lame, mikmod), specified
2323
- changed: mute + unmute -> mute (on/off toggle)
2324
- changed: bypass-enable + bypass-disable -> bypass
2325
- changed: minor changes in ~/.ecasoundrc format (see
2327
- fixed: tried to reconnect invalid chainsetups
2328
- fixed: global forward and rewind weren't working
2329
- fixed: dumped core if number of delays (-etd) was changed
2331
- fixed: gates are working once again
2332
- fixed: minor bugs in output mixing
2333
- fixed: -s option wasn't working properly
2334
- fixed: 8<->16bit conversion
2335
- fixed: bugs in AIFF output
2337
- added: new ia-mode commands: aio-forward, aio-rewind,
2338
aio-setpos, aio-index-select and aio-wave-edit
2339
(load currently selected audio object into an
2340
external wave editor)
2341
- added: support for using tracker modules as input
2342
sources - uses mikmod (mikmod 3.1.6 + libmikmod
2343
3.1.7 or newer required)
2344
- changed: cleaned up the audio object interface
2345
- changed: -f parameter format has changed - instead of
2346
bits, sample type is now specified as a formatted
2347
string ("u8", "s16_le", "s24_le" and so on)
2348
- changed: in precise-sample-rate mode, removed all implicit
2349
sample rate conversions - instead a warning is issued
2351
- added: all ia-mode commands now implemented&documented
2352
- added: a little bit of artificial intelligence to command
2353
interpreting :) - as an example, if you want to start
2354
processing but no chainsetup is connected, ecasound
2355
tries to connect the currently selected setup, etc
2356
- fixed: given a certain combination of forward and rewind
2357
commands, processing wouldn't start anymore
2358
- fixed: delay surround mode now works normally
2359
- fixed: ecatools - files not in the default sample format
2360
were not handled properly
2361
- fixed: some bugs in double-buffering
2362
- removed: adding chain operators to multiple chains is no
2363
longer possile - this makes the library interface
2364
more powerful as client programs can have direct
2365
access to chainops they've added (see
2366
eca-controller.h for details)
2368
- added: most interactive-mode commands are now implemented
2369
- added: new ia-mode commands: c-mute, c-unmute, c-process,
2370
c-select-all, cs-save-as,
2371
- added: documentation for nearly all implemented ia-mode
2372
commands, see ecasound-aim(1)
2373
- changes: major changes in RPM-packaging
2374
- fixed: a very nasty bug in dynamic ALSA-support
2375
- fixed: some effects caused core dumps (bug in the sbuf
2377
- fixed: many minor bug fixes
2378
- removed: ia-mode commands: exec, end
2380
- added: iactive mode now uses GNU readline for user input
2381
- command-line editing, command history and command
2382
completion (use .inputrc for configuring)
2383
- added: 30-40 new interactive-mode commands
2384
- added: ecasound-iam(1) manual page - interactive mode
2386
- added: ecasound user's guide and programmer's guide
2387
- added: 'default-to-precise-sample-rates' to ecasoundrc -
2388
whether to ignore sample rate differences (and
2389
possibly avoid resampling), affects OSS-devices,
2391
- added: -z:psr option (see above)
2392
- changed: reimplemented signal handling using POSIX
2393
signal handlers (ANSI interface was used before)
2394
- changed: divided all the bigger modules into smaller
2395
classes and files (these big modules were
2396
causing lots of compiler and resource problems)
2397
- changed: major internal changes (multichannel chain operators,
2398
improved mixing algorithms, etc)
2399
- changed: rewritten mp3-support (still using mpg123 and lame)
2400
- changed: lots of changes in handling external resources
2401
(wave and text editors, mpg123 and lame parameters,
2402
etc.) - see 'man ecasoundrc'
2403
- removed: looping (interactive-mode loop commands)
2404
- removed: 'sfx' command (iactive-mode)
2406
- added: changes and additions to libecasound interface are
2407
from now on logged to libecasound/ChangeLog
2408
- fixed: errors in -kf documentation
2410
- changed: optimized various engine and effect routines
2411
to improve ecasound's performance with
2413
- fixed: "-ev" max-amplitude wasn't reseted
2414
- fixed: some finetuning of ALSA buffer handling
2416
- notice: from now on development versions will be marked
2417
with a 'd' in the version number
2418
- added: configure check for libdl library
2419
- added: "-eac:amp-%,channel" channel amplify
2420
- changed: "-ea" to "-eaw", amplify with clipping control
2421
- changed: "-eas" to "-ea", normal amplify
2423
- added: -sr:srate option - set chainsetup sample rate
2424
- added: 'default-samplerate' to ~/.ecasoundrc
2425
- fixed: problems with OSS es1370 drivers (thanks to Billy
2426
Biggs for the patch)
2427
- fixed: resonant bandpass wasn't working (-ef1)
2428
140999 (v1.5.12r6) -** public release **-
2429
- fixed: problems with libaudiofile (.aiff and .au/.snd
2431
- fixed: extra noise when upsampling
2432
- fixed: qtecasound - chainsetup's name was changed to
2433
tempfile name if edited with an external editor
2434
- fixed: qtecasound - conflict with Qt-libs when
2435
stopping processing (resulted in abort)
2437
- added: ldconfig is now always run after (un)install of
2439
- added: if underruns/overruns occur when using ALSA devices,
2440
a warning message is given on exit (stderr)
2441
- changed: gcc's -fomit-frame-pointer isn't used anymore
2442
(caused lots of problems with exceptions)
2443
- fixed: ecasound tried to use ALSA headers even though
2444
--disable-alsa was given (eca-alsa-dyn.h and
2446
- fixed: audiofx_compressor.h tried to include obsolete
2448
- fixed: pan effect (-epp) decreased overall volume level
2449
- fixed: fake-stereo effect (-etf) wasn't working properly
2450
- fixed: "make install" created (prefix)/share/ecasound
2451
with permission mode 644 (only root could access
2453
- fixed: some problems with effect option parsing
2454
- removed: simple lowpass filter (-ef2)
2456
- added: qtecasound - file dialogs now remember the current
2458
- added: a much more elegant system for dynamically loading
2460
- added: support for ALSA MIDI devices (/dev/snd/midiCxDy)
2461
- changed: rewrote the MIDI-input sybsystem (works better
2462
with multiple controllers)
2463
- fixed: kvutils -package also needed configure script fixes
2464
to recognise FreeBSD's pthread implementation
2465
- fixed: although "make install" worked in all cases,
2466
plain "make" didn't work if installing ecasound
2467
1.5.x for the first time
2468
- fixed: crashed if you had two chainsetups with ALSA devices
2469
and you tried to delete the other one
2470
- fixed: crashed in some conditions when closing .wav and
2473
- changed: qtecasound - in all windows with list widgets,
2474
if no item is selected, current item (if any)
2475
is used for all operations
2476
- changed: in most cases, '-r' option (raise priority) isn't
2477
needed anymore (see ecasound and ecasoundrc man
2478
pages for more info)
2479
- changed ecasoundrc - 'x-text-editor-use-getenv' is now
2481
- fixed: resonant lowpass filter was once again broken
2482
- fixed: configure should now recognise FreeBSD's pthread
2483
implementation (not tested yet)
2484
- fixed: in some rare cases, engine was started in interactive
2485
mixmode while the interface was in passive mode
2486
(-> program started but didn't do anything)
2488
- added: '!' shortcut to all windows (keyboard focus to
2490
- changed: some Makefile changes for excluding static
2491
ecasound libraries from the binary dist packages
2492
(managed to shrink binary-rpms by nearly a 1MB!)
2493
- fixed: qtecasound - shortcut-key fixes in chainsetup window
2494
- fixed: qtecasound - waveform view positioning is now much
2495
more precise than before
2496
- fixed: qtecasound - core dumps when exiting
2498
- added: qtecasound - chainsetup window now has a wave-edit
2499
button which loads the active file into a external
2500
wave editor; defaults to "snd", can be changed by
2501
changing the value of "x-wave-editor" in
2503
- added: qtecasound - support for external text editors
2504
(can be launched from session window) - saves the
2505
active chainsetup to a text file, loads it to an
2506
editor and afterwards updates file's content back
2507
to ecasound - if "x-text-editor-use-getenv true"
2508
is specified in ~/.ecasoundrc, ecasound uses
2509
EDITOR environment variable if it's available,
2510
otherwise value of "x-default-text-editor" is
2511
used ... an of course, default value for this is
2512
the ultimate musicians tool: emacs! ;)
2513
- changed: qtecasound - some minor changes to session and
2515
- changed: .ews format (wave view cache files) has changed,
2516
ecasound can still read the old format
2517
- changed: qtecasound - "activate" button changed to a
2518
"change status" button which rotates through
2519
inactive->active->connected->inactive ...
2520
- fixed: qtecasound - enabling/disabling chains sometimes
2521
resulted in program crashes
2522
- fixed: all structs found in ecasound source code now
2523
use the standard type definations from sys/type.h
2524
(format "[u_]int'bits'_t") - this should solve some
2525
compatibility problems with non-x86 platforms -
2526
thanks for Guenter Geiger for notifying about these
2527
- fixed: a few fixes to the new double-buffering system -
2528
lots of buffer parameter fine-tuning
2530
- added: "-z:feature" command line option for enabling
2532
- added: mmap-based double-buffering now disabled by
2533
default, enable it with "-z:db" or by putting
2534
"default-to-double-buffering true" to your
2536
- added: when upgrading ecasound, new resource values
2537
will be automatically added to your ~/.ecasoundrc
2538
- fixed: crashes when getting error messages from alsa-lib
2539
(for instance when using invalid card and device
2541
- fixed: a few Makefile problems in 1.5.x versions
2542
(thanks for Vadim Tkachenko for reporting these)
2544
- added: improvements to resource file (~/.ecasoundrc)
2545
handling - resource files can now have comment
2546
lines (lines beginning with a '#'); resource
2547
files are rewritten only if resource values are
2548
changed directly from ecasound; '=' sign can be
2549
used as a name-value separator
2550
- fixed: since version 1.5.2r5, .cdr input/output hasn't
2551
worked (reversed byteorder when reading .crd
2552
files, .cdr output files weren't padded correctly)
2554
- added: experimental support for double-buffered
2555
mmap() file i/o (currently implemented
2556
for .wav/.raw input only)
2557
- fixed: thread-priority was always risen (once again)
2559
- added: a lowpass filter effect (-ef2); not as good
2560
as the other lowpass filters (-efl and -ef3), but
2561
should be a bit faster
2562
- fixed: 1.5.2r5 was really _slow_ (a file seek bug)
2564
- added: "-x" command line option - truncate outputs
2565
- added: sample rate conversion (resampling) - if audio
2566
object's sample rate differs from ecasound's
2567
internal rate the signal gets resampled
2568
(internal rate is currently 44100; can be
2569
changed from samplebuffer.h)
2570
- changed: gcc 2.95.1 is now used when developing
2571
ecasound; precompiled packages require libstdc++
2572
2.10.0 (comes with gcc 2.95.1) or newer
2573
- fixed: few minor fixes to the noisegate effect
2574
- fixed: upon creation, more precision is used to print
2577
- fixed: problems with filters
2579
- added: ecatools package which now consists of programs
2580
ecatools_normalize, ecatools_fixdc and
2581
ecatools_play - see ecatools(1) man page
2582
- changed: ecasound and qtecasound now have their own
2583
source trees; rest of ecasound is compiled
2584
into the libecasound.so shared library
2585
- changed: to make ecasound relocatable, preset files are now
2586
installed to standard data dir (defaults to
2587
/usr/local/share/ecasound)
2588
- changed: lot of source file name changes
2589
- changed: ALSA support (libasound.so library) is now loaded
2590
dynamically at runtime
2591
- fixed: you had to have yodl installed to to install ecasound
2593
150899 (v1.4.6r5) -** public release **-
2594
- added: qtecasound - along with some other improvements,
2595
waveform widget now uses cache files to store
2596
wave statistics; for file "somefile.wav", cache
2597
file "somefile.wav.ews" is used
2598
- fixed: reading and writing aiff files works again;
2599
some aiff files created with sox still seem to
2600
cause trouble (might be a problem with
2602
- fixed: qtecasound - a nasty mutex bug which caused ecasound
2603
to crash if you tried to use a chainsetup which has
2604
more inputs than chains
2606
- added: qtecasound - dialogs for adding, removing and
2607
attaching inputs and outputs
2608
- added: support for null inputs/outputs
2609
- added: effect status is now printed when exiting ecasound
2610
(doesn't affect interactive mode)
2611
- added: if OSS drivers for your soundcard don't support
2612
trigger functions, you can disable these with
2613
configure option "--disable-osstrigger"
2614
- added: -ev effect (analyze sample data) now also tells
2615
how much the analyzed signal can be amplified
2617
- added: debug level can now be set in iactive mode with
2618
"debug level" command
2619
- changed: qtecasound - shortcuts a, A and ctrl-a now do
2620
the same thing; applies to all shortcuts
2621
- fixed: adding a chain without a valid output resulted in
2622
hangs when using multithreaded mixmode
2623
- fixed: didn't compile with alsa-lib versions older than 0.3.1
2624
- fixed: "ecasound -h" dumped core
2626
- added: qtecasound - now asks for a name when adding chainsetups
2627
- added: qtecasound - adding and deleting chains
2628
- changed: some layout changes
2630
- changed: if format supports it, outputs are now opened in
2631
read-write mode; currently supported by .wav,
2632
.cdr and .raw; when you use these as outputs, files
2633
aren't truncated if they exist
2634
- fixed: qtecasound - active chainsetup was always saved even
2635
if some other chainsetup was selected
2636
- fixed: qtecasound - crashed if you changed the active
2637
chainsetup and you had a waveform window open
2638
- fixed: qtecasound - crashed if tried to activate
2639
a invalid chainsetup
2640
- fixed: if you wrote to a output file, its length was
2641
not changed (from ecasound's viewpoint)
2643
- fixed: samplebuffer.h still tried to include <soundcard.h>,
2644
which is both not necessary and a wrong place to
2645
look for it; thanks to Torbjorn Tornkvist and
2646
Xavier Hosxe for notifying me
2647
- fixed: qtecasound - using multithreaded mixmode, changing
2648
chainsetups on the fly caused a lot of problems
2649
- fixed: qtecasound - shortcut keys didn't work with CLI
2651
- added: qtecasound - chain widget now monitors effect
2653
- added: qtecasound - support for double clicks and return
2654
presses for various widgets
2655
- added: qtecasound - some new features to the waveform widget
2656
- changed: from now on, interactive mode isn't automatically
2657
enabled, if a realtime input is specified
2658
- changed: names of some functions (I'm trying to be careful
2659
how I use 'new' and 'add', 'load' and 'open', etc
2660
- fixed: qtecasound - waveform widget crashed qtecasound if
2661
the analyzed file had less than 76800 samples
2662
- fixed: if processing was completed and was restarted without
2663
a rewind/setpos, ecasound crashed/hang
2664
- fixed: raised-priority mode was sometimes enabled even
2665
without the -r option
2666
- fixed: qtecasound - when using multithreaded mixmode,
2667
exiting sometimes resulted in core dump or segfault
2669
- added: qtecasound - waveform widget; graphical representation
2670
for input/output objects
2671
- added: qtecasound - chain widget; view chain status
2672
- added: qtecasound - chainsetup widget; status of input,
2673
output and chain objects, enable/disable chains
2674
- added: qtecasound - session-setup widget; load and save
2675
chainsetups, create new ones, etc
2676
- changed: can now be started without a valid chainsetup if
2677
interactive mode is enabled
2678
- fixed: *serious bug* if end of input was reached,
2679
that input remained silent until ecasound was
2680
restarted (has been broken since 1.3.0r3)
2682
- added: -n option, sets chainsetup's name
2684
- added: a new compressor - thanks for Viktor Endersz for
2685
sending it to me and John S. Dyson for coding it;
2686
it really works like a dream! (option -eca)
2687
- fixed: some fixes to my old compressor (now that we
2688
have a better one, this should be used only if
2689
you really want brutal results :))
2690
- fixed: due to some changes in ALSA libs, ecasound
2691
wouldn't compile with ALSA versions >0.3.2;
2692
haven't tested it, but should now work with both
2693
new and old ALSA libs
2694
200799 (v1.3.1r4) -** public release **-
2695
- fixed: delay effect was broken; while fixing this I also
2696
added a new surround mode, 2 = stereo-spread
2697
- fixed: more bugs with ALSA and OSS input routines;
2698
did some multitrack recording with both of them
2699
and got suprisingly good results (it seems that
2700
finding the optimal buffer size is the key to success)
2702
- added: support for sessions and chainsetups; now you can
2703
store the whole runtime setup to an ascii file and
2704
load it back; the syntax used is exactly the
2705
same as the command line syntax so editing these
2706
saved chainsetup files is easy
2707
- added: "-s[:]filename" command line option for loading
2709
- added: "load filename" and "save filename" commands to
2710
the interactive-mode (for chainsetups)
2711
- added: support for libaudiofile (SGI audiofile) library;
2712
new file formats: .aiff, .au and .snd; (linking to
2713
audiofile can be prevented with --disable-audiofile
2714
option to the configure script)
2715
- added: -q option (quiet mode), disables all output
2716
- added: support for raw/headerless (.raw) input/output files
2717
- added: support for using standard system input and output
2718
streams (-i:stdin, -o:stdout)
2719
- added: finished the man pages, all important options and
2720
features should now be covered
2721
- fixed: file name ending with a upper-case extension
2723
- fixed: when using multithreaded mixmode with complex setups,
2724
threads sometimes went out of sync causing strange
2726
- changed: size of sample buffer objects can now be changed
2727
on-the-fly (output files are not aligned to
2728
buffersize anymore) -> this makes ecasound more
2729
usable as a format conversion tool
2730
- changed: compressor wasn't working, decided to code
2731
a new one (still experimental but works better
2734
- added: support for .mp2 files
2735
- fixed: still some bugs in selecting mixmode
2736
- fixed: automatic stereo-mono conversion wasn't working
2737
at all (as all chains are internally stereo, this
2738
occured everytime you specified a mono output, even
2739
if the input was mono, too)
2741
- added: ALSA devices can now also be opened by specifying
2742
the actual device name (/dev/snd/pcm...)
2743
- changed: default output is now always attached to chain 'all'
2744
- fixed: start/stop/forward/rewind with ALSA-output sometimes
2745
resulted in loud crackle
2746
- fixed: some bugs in the position slider of qtecasound
2747
- fixed: 'noise-gate-mono' effect was rewritten as it didn't
2748
seem to work very well
2749
120799 (v1.2.1r3) -** public release **-
2750
- added: 'make install' now creates /etc/ecasound directory
2751
and copies all the configuration/preset files
2752
to this directory (existing files/dirs are skipped)
2753
- added: lots of crash-guards to command line parsing
2754
- added: frequently-asked-questions file (both txt and html)
2755
- added: new options to the configure script: --disable-alsa,
2756
--disable-oss and --disable-qt
2757
- fixed: bugs in mixmode multithreaded-iactive (crashed
2758
pretty much everytime)
2759
- fixed: estatus output was sometimes pretty messy
2761
- added: support for ALSA input/output
2762
- added: a lot of new documentation to the man pages
2763
- added: new configurable options to ~/.ecasoundrc
2764
(default-buffersize, default-to-interactive-mode,
2765
default-to-raisepriority)
2766
- added: finally implemented the 'help' command in
2767
the interactive-mode; also added a prompt, which
2768
should help a bit :)
2769
- added: autoconf and automake additions; now qtecasound is
2770
compiled only if qt library is found, OSS and
2771
ALSA modules are compiled if the necessary
2772
headers and libraries are available
2773
- added: support for single-chain effect presets (-ps command
2775
- fixed: bugs with OSS-input (device was sometimes closed
2776
multiple times resulting in core dumps)
2777
- fixed: auto-runmode used 'simple-iactive' mixmode
2778
although iactive-mode wasn't set
2779
- fixed: looping wasn't working properly
2780
- fixed: -m option wasn't working
2781
- removed: simple filter effect (not really useful)
2782
- removed: 'Waiting for the processing thread'
2783
messagebox (qtecasound)
2785
- fixed: more synchronisation bugs
2787
- added: rewrote the man-pages using Yodl; now they're
2788
also available in HTML-format
2789
- fixed: OSS-output module used a non-standard location
2790
for soundcard.h (noticed by D.Phillips)
2791
010799 (v1.1.5r2) -** public release **-
2792
- tested: did some real recording and mixing work with this
2793
version and after a few fixes, everything seems
2795
- added: now checks whether a chainop supports parameter
2797
- added: a lot of new documentation (especially to
2798
'Documentation/examples.html')
2799
- fixed: chain 'all' wasn't working properly
2800
- fixed: multitrack chain synchronization was broken; should
2801
now work even with complex setups
2802
- fixed: a serious bug in OSS-input: ecasound always threw
2803
an "read-error" exception when trying to read from
2805
- fixed: analyze effect (-ev) output didn't work
2806
300699 (v1.1.4r1) -** public release **-
2807
- notice! first release; should be considered beta
2808
- fixed: if mp3 files had white-spaces in their filenames,
2809
filenames weren't interpreted correctly
2812
- tested rpm-packaging and seemed to work ok
2816
- fixed: some bugs in exception handling
2817
- qtecasound: added a not-implemented message screen! ;)
2819
- all major features of ecasound v0.9.x and earlier are
2820
now implemented to the new program design
2821
- support for gates (time crop gate and threshold gate
2823
- support for ~/.ecasoundrc configuration file
2824
- support for GNU autoconf and automake
2825
- added some new command line shortcuts
2826
- qtecasound: added a position slider widget (displays and
2827
enables to change current position)
2828
- qtecasound: removed waveform and volume meter widgets;
2829
they will reappear in the "Chain Setup"
2830
window (still under work)
2832
- mp3 output support (using lame)
2834
- fixed: waveform -output now works with all inputs
2835
(for instance showing mp3 waveforms is now possible)
2836
- routines for interfacing with mpg123 recoded;
2837
a lot more stable than before
2838
- qtecasound now uses the new qt library (v2.0beta2)
2839
- support for various controllers (sine oscillator, MIDI
2840
cc-controllers, generic oscillator etc)
2841
- fixed: when ecasound was stopped with ctrl-c or kill,
2842
proper cleanup wasn't done
2844
- a new wave-form view
2846
- multitrack-mode sync-routines rewritten and tested
2847
- various mixmode bugs fixed
2849
- simple graphical vu-meters added to test the new io-system
2851
- multithread-io mode: one chain can be processed and mixed
2852
while waiting for getting data from other chains
2854
- a better way to deal with system endianess
2855
- new chain-operator routines; unless there are no no chainops,
2856
signal is always put through a clip control routine which
2857
ensures that all sample values fit the value range
2859
- fixed a _lot_ of bugs
2861
- changed version numbering
2862
- major changes in nearly all program modules aiming at
2863
a more modular and abstract design
2864
- fix: resonant_bandpass_filter wasn't working anymore
2866
- mp3 support using mpg123 (readonly)
2867
- X-Window GUI added (using Qt-libraries)
2869
- support for multitrack recording
2870
- independent effect chains
2871
- interactive command-line-interface (CLI)
2872
- looping (loop, loop_start, loop_end)
2876
- support for MIDI-controllers
2877
- now uses glibc v2.0 and linuxthread libraries
2879
- began to upkeep this history file
2880
- fixing the gate-functions
2882
1998: - changed development platform from Os/2 to Linux
2883
1997-98: - complete rewrite in C++; name changed from "wavstat" to "ecasound"
2884
1995-97: - started working with this project; original program
2885
was called "wavstat" and it basicly was just
2886
a very simple command line DSP util (running under Os/2)
2888
-----------------------------------------------------------------------