~ubuntu-branches/ubuntu/wily/ecasound/wily-proposed

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Bazaar Package Importer
  • Author(s): Alessandro Ghedini
  • Date: 2011-05-12 17:58:03 UTC
  • Revision ID: james.westby@ubuntu.com-20110512175803-zy3lodjecabt9r3v
Tags: upstream-2.8.0
ImportĀ upstreamĀ versionĀ 2.8.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-----------------------------------------------------------------------
 
2
** Ecasound - User-visible changes (NEWS)                            **
 
3
-----------------------------------------------------------------------
 
4
 
 
5
About the version numbers... "vX.Y[.Z[.R]][+extraT]" :
 
6
------------------------------------------------------
 
7
 
 
8
  X = major version  - incremented after major redesigns and/or major
 
9
                       new features
 
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
 
13
                       modified (optional)
 
14
  R = revision       - urgent fixes to planned releases (optional)
 
15
 
 
16
  extraT             - 'beta', 'pre' and 'rc' releases (optional)
 
17
 
 
18
Quick overview of various sources of change info
 
19
------------------------------------------------
 
20
 
 
21
  - NEWS. This file.
 
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).
 
32
 
 
33
Howto for reading the entries (2.7.2 and older):
 
34
------------------------------------------------
 
35
 
 
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
 
40
 
 
41
***********************************************************************
 
42
 
 
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
 
47
                    platforms 
 
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
 
64
           description
 
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 
 
69
           shows who did what
 
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
 
74
                    configure
 
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 
 
97
                 reported by Joel Roth
 
98
        - fixed: ecalength choked filenames with whitespace; patch
 
99
                 from FUJI project
 
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
 
106
                 more details
 
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
 
122
                   reminding about this
 
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
 
130
                   compiler options
 
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
 
145
                   with '-s'
 
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
 
149
                 the latest 3.98.2
 
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 
 
155
                 together
 
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()
 
187
                 to the C++ API
 
188
        - changed: deprecated 'jack_auto', 'jack_generic' and
 
189
                   'jack_alsa'
 
190
        - changed: numbering of JACK ports created with 'jack' and
 
191
                   'jack_generic' starts from "_1" separately for 
 
192
                   each prefix [dsacre]
 
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
 
198
                   output
 
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 ;
 
202
                   closes sfbug:2505551
 
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
 
208
                   ecasound(1)
 
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]
 
223
                 value range
 
224
        - fixed: avoid denormal numbers in '-ete' (leads to unusually
 
225
                 high CPU load)
 
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
 
229
                 or an other error)
 
230
        - fixed: ecasignalview - exit if engine reports an error
 
231
                 during operation
 
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
 
247
                 artifacts ; see 
 
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 
 
260
                 'resample'
 
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, 
 
266
                 audioloop, select
 
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
 
285
                 unusable;  errors 
 
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
 
293
                  gcc-4.3.1
 
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,
 
300
                 mlang]
 
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;
 
311
                 relates to (edi-7)
 
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 
 
320
                 is started [andrewl]
 
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
 
330
                   are fixed
 
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
 
336
                   a later release 
 
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 
 
352
                   ecasound(1) man page
 
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 
 
374
                 Jan Weil
 
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 
 
391
                 loop devices
 
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 
 
415
                 Planisky
 
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
 
423
                 Julien Claassen
 
424
        - fixed: bugs that led to infinitely running chainsetups when
 
425
                 loop input/outputs were used; reported by Aaron Heller
 
426
                 and Etienne Deleflie
 
427
        - fixed: incorrect page numbers in table of contents of 
 
428
                 the Ecasound Programmer's and User's Guides; patch 
 
429
                 from Junichi Uekawa
 
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 
 
441
                 in interactive mode)
 
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)
 
458
                 and the User's Guide
 
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
 
467
                   extension)
 
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 
 
474
                   by Kurt Konolige
 
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 
 
480
                   end-user confusion
 
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
 
497
                 by Koen [pfructuoso]
 
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
 
506
                 #lad at freenode.org
 
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 
 
528
                   selected
 
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
 
540
                 was selected
 
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
 
545
                 handled properly
 
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
 
595
                   [jeffrey,kaiv]
 
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
 
605
                 support [kaiv]
 
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 
 
613
                 events [kaiv]
 
614
        - fixed: ecasound daemon mode, correctly print hostnames without
 
615
                 resolvable hostname
 
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
 
630
                 the INSTALL file
 
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
 
642
                   to ascii/rst
 
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 
 
646
                   the related manpages
 
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 
 
665
                 compressors)
 
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
 
689
                 ecasound(1)
 
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 
 
701
                   code-paths
 
702
        - changed: better error message if unable to load LADSPA plugin 
 
703
                   with -el/-eli
 
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
 
707
                   versions
 
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 
 
716
                 gracefully
 
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
 
739
                   style
 
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 
 
743
                 ncurses [mb]
 
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
 
756
                 programmer's guide
 
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 
 
765
                 machines [smbolton]
 
766
        - fixed: ogg input failed if requested sample-format had non-native
 
767
                 endianess; new default-cmd for ogg-input, see 
 
768
                 ecasoundrc(5)
 
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)
 
794
                 for details
 
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
 
804
                 impl [mewe]
 
805
        - fixed: bug in ecasound(1) caused man to not show the
 
806
                 last three pages
 
807
        - fixed: bug in the daemon-mode (NetECI) protocol parser
 
808
                 that caused parsing long (over 32 chars) commands 
 
809
                 to fail
 
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
 
814
                 'cs-save-as'
 
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
 
822
                 details
 
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
 
833
                   have occured
 
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
 
839
                 the dist package
 
840
        - fixed: libaudiofile - input file audio parameters
 
841
                 parsed incorrectly
 
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 
 
848
                 list return types
 
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
 
870
                   versions
 
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 
 
875
                 OSS driver
 
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
 
883
                       ever implemented
 
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 
 
896
                   libsamplerate
 
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 
 
903
                   them both
 
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 
 
909
                   option
 
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 
 
918
                   the arts plugin
 
919
        - fixed: use of the JACK transport API was never actually 
 
920
                 enabled in 2.2.3
 
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 
 
931
                 and length
 
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 
 
935
                 source channels
 
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 
 
953
                 newer versions
 
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
 
972
                 options were handled
 
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 
 
983
                 the dist package
 
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 
 
1002
                 parsing
 
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 
 
1023
                 support is enabled
 
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 
 
1040
                 index
 
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
 
1045
                 in interactive mode
 
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
 
1060
                 removed [hgfischer]
 
1061
        - fixed: various small fixes to remove uncalled for
 
1062
                 dbc warnings
 
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 
 
1077
                 dc-offset
 
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 
 
1082
                 rt-outputs
 
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 
 
1098
                 to ecasound(1)
 
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
 
1111
                 systems
 
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
 
1119
                 overflow
 
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
 
1130
                   ECI api
 
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 
 
1135
                   types
 
1136
        - changed: edi-28 done; ECI standalone now the only ECI 
 
1137
                   implementation
 
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 
 
1146
                   details
 
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 
 
1151
                   programmer's guide
 
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 
 
1156
                 was issued
 
1157
        - fixed: -etc, -etl and -etp crashes if delay parameter 
 
1158
                 was set to zero
 
1159
        - fixed: -ezf didn't report the correct dcfic for the 
 
1160
                 first channel
 
1161
        - fixed: LADSPA param descriptions were incorrectly 
 
1162
                 parsed
 
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' 
 
1168
                 and 'ctrl-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 
 
1172
                 ALSA versions
 
1173
18102002 (v2.2.0-pre2)
 
1174
        - fixed: ALSA objects weren't properly registered as audio
 
1175
                 object types
 
1176
        - fixed: debug level was resetted to 0 after issuing
 
1177
                 'int-output-mode-wellformed'
 
1178
        - fixed: automake complained about multiple definition
 
1179
                 of ecasoundc_sa
 
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
 
1184
                changes
 
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 
 
1191
                   0.9rc4 or newer
 
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
 
1198
                   use of libecasound
 
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 
 
1205
                 audio objects
 
1206
        - fixed: unnecessary warnings when adding audio 
 
1207
                 objects to a chainsetup with no chains
 
1208
                 currently selected
 
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
 
1212
                 as specified
 
1213
        - fixed: bugs in multitrack-mode operation; processing
 
1214
                 would stop once all input objects were
 
1215
                 finished
 
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 
 
1221
                 was changed
 
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 
 
1233
                   help (--help/-h)
 
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
 
1239
                   with unit tests
 
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
 
1248
                 with ecasound
 
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
 
1257
                 are found
 
1258
        - changed: major data structure cleanup in the JACK
 
1259
                   plugin
 
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 
 
1265
                 was selected
 
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
 
1278
17052002 (v2.1dev9)
 
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 
 
1287
                 input/outputs
 
1288
        - fixed: bug in stopping JACK input/outputs; affects 
 
1289
                 seeking in interactive mode
 
1290
13052002 (v2.1dev8)
 
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
 
1308
                 controller sources
 
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, 
 
1317
                   0.4.x and 0.5.x
 
1318
        - removed: ecasoundrc - 'default-samplerate'
 
1319
        - removed: -sr option; not needed anymore
 
1320
        - removed: ia-mode - 'c-rewind', 'c-forward' and 
 
1321
                   'c-setpos'
 
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
 
1326
                   CVS-tree
 
1327
        - changed: pyecasound - module libpyecasound.so renamed 
 
1328
                   to pyecasound.so
 
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
 
1339
                   formats instead
 
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 
 
1348
                   autoconf scripts
 
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
 
1360
                 0.9betaX releases
 
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 
 
1367
                 first command
 
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 
 
1377
                 exception' errors
 
1378
        - fixed: configure failed if neither ncurses nor termcap
 
1379
                 was installed
 
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
 
1386
                 'metronome' preset
 
1387
        - fixed: recording offset not set when not in 
 
1388
                 multitrack mode
 
1389
        - fixed: incorrect parsing of wav headers on big-endian 
 
1390
                 machines
 
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
 
1401
16012002 (v2.1dev7)
 
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
 
1425
22122001 (v2.1dev6)
 
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
 
1455
05122001 (v2.1dev5)
 
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
 
1462
                   output
 
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 
 
1470
                 resampling
 
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
 
1481
                 chainsetups
 
1482
31102001 (v2.1dev4)
 
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 
 
1490
                   guide :)
 
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
 
1508
21102001 (v2.1dev3)
 
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
 
1519
                 parameter)
 
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 
 
1527
                   its cpu-load
 
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
 
1546
14102001 (v2.1dev2)
 
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
 
1568
                 monitor output
 
1569
        - fixed: eiam - ladspa-register output had plugin names 
 
1570
                 and descriptions mixed
 
1571
09102001 (v2.1dev1)
 
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
 
1580
                 oss-emulation)
 
1581
        - fixed: explicitly specifying -z:nointbuf had no 
 
1582
                 effect
 
1583
        - fixed: setting double-buffer length didn't have 
 
1584
                 any effect (given either in bmode defaults 
 
1585
                 or as -z:db,dbsize)
 
1586
06102001 (v2.1dev0)
 
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 
 
1599
                 parts of ecasound
 
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 
 
1639
                 circumstances
 
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
 
1644
                 denied, etc)
 
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
 
1653
                 denied, etc)
 
1654
        - fixed: misplaced tab prevented eci.py from working
 
1655
                 with python 2.1
 
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 
 
1675
                 circumstances
 
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 
 
1692
                 ecasound
 
1693
        - fixed: --enable-audiofile actually disabled the use of 
 
1694
                 libaudiofile (!)
 
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 
 
1698
                 caused  a seg.fault
 
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 
 
1703
                 to be present [rob]
 
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
 
1721
                 certain situations
 
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
 
1735
                 parameters
 
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
 
1741
24042001 (v1.9dev6)
 
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 
 
1745
                 and forward
 
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
 
1753
                 cop-select
 
1754
        - added: eiam - copp-index-select, copp-iselect as aliases for
 
1755
                 copp-select
 
1756
        - added: eiam - ctrl-index-select, ctrl-iselect as aliases for
 
1757
                 ctrl-select
 
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
 
1768
                   dump-ao-*
 
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 :)
 
1782
22032001 (v1.9dev5)
 
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 
 
1793
                   defaults to /tmp
 
1794
        - fixed: mp3 output broken
 
1795
        - fixed: more zombie-problems with mpg123, lame, ogg123 
 
1796
                 and others
 
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
 
1804
06032001 (v1.9dev4)
 
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
 
1809
                 existing -z options
 
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)
 
1828
02032001 (v1.9dev3)
 
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)
 
1840
14022001 (v1.9dev2)
 
1841
        - added: -z:nointbuf - minimize the use of internal buffering
 
1842
                 done by rt-devices
 
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 
 
1850
                 not sent)
 
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 
 
1855
                 older ALSA plugins
 
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)
 
1860
07022001 (v1.9dev1)
 
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
 
1871
                 are issued
 
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
 
1878
                 disk space, etc)
 
1879
        - added: -eS - audio stamper
 
1880
        - added: -ksv - control source that analyzes audio stamp
 
1881
                 volume statistics and creates control data from 
 
1882
                 the results
 
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
 
1892
                   old gate operators
 
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-
 
1903
                 files) - [smassy]
 
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 
 
1913
                 input and output
 
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 
 
1968
                 ogg123 and vorbize
 
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 
 
1982
                   ALSA versions, etc)
 
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
 
1996
                 related errors
 
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
 
2011
                 mp3 sampling rate
 
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 
 
2070
                 unique id-number
 
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
 
2075
                   ecafixdc
 
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 
 
2085
                 compliance)
 
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,
 
2095
                 parameter control)
 
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 
 
2109
                 support
 
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 
 
2117
                   OSS-emulation layer 
 
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
 
2149
                 the details
 
2150
        - removed: /dev/snd/pcmCxDy notation for specifying ALSA 
 
2151
                   devices
 
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
 
2155
                 was specified
 
2156
        - fixed: qtecasound - libqtecasound header include path 
 
2157
                 was wrong
 
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
 
2161
                 active setup
 
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 
 
2196
                 generic GUI objects
 
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
 
2204
                   "ctrl-remove"
 
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
 
2211
                   detailed info
 
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 
 
2226
                 sample formats
 
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 
 
2238
                 Stefan Fendt
 
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
 
2246
                 parameters 
 
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
 
2301
221199 (v1.6.6d6)
 
2302
        - fixed: cs-save and cs-save-as didn't work as expected
 
2303
        - fixed: cs-load didn't work properly
 
2304
221199 (v1.6.5d6)
 
2305
        - added: safety-checks to prevent users from connecting
 
2306
                 invalid chainsetups
 
2307
        - added: underlines are accepted in ia-mode commands
 
2308
        - fixed: problems with -ev
 
2309
        - fixed: minor bugs in audvvio object positioning
 
2310
191199 (v1.6.4d6)
 
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
 
2315
                 input/output
 
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 
 
2322
                 in ~/.ecasoundrc 
 
2323
        - changed: mute + unmute -> mute (on/off toggle)
 
2324
        - changed: bypass-enable + bypass-disable -> bypass
 
2325
        - changed: minor changes in ~/.ecasoundrc format (see 
 
2326
                   ecasoundrc(5))
 
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
 
2330
                 during processing
 
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
 
2336
161199 (v1.6.3d6)
 
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
 
2350
121199 (v1.6.2d6)
 
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)
 
2367
101199 (v1.6.1d6) 
 
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
 
2376
                 iterator routines)
 
2377
        - fixed: many minor bug fixes
 
2378
        - removed: ia-mode commands: exec, end
 
2379
081199 (v1.6.0d6) 
 
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 
 
2385
                 documentation
 
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,
 
2390
                 defaults to 'false'
 
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)
 
2405
011099 (v1.5.16d6)
 
2406
        - added: changes and additions to libecasound interface are 
 
2407
                 from now on logged to libecasound/ChangeLog
 
2408
        - fixed: errors in -kf documentation
 
2409
270999 (v1.5.15d6)
 
2410
        - changed: optimized various engine and effect routines
 
2411
                   to improve ecasound's performance with
 
2412
                   complex setups
 
2413
        - fixed: "-ev" max-amplitude wasn't reseted
 
2414
        - fixed: some finetuning of ALSA buffer handling
 
2415
210999 (v1.5.14d6)
 
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
 
2422
180999 (v1.5.13r6)
 
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
 
2430
                 support)
 
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) 
 
2436
120999 (v1.5.11r5)
 
2437
        - added: ldconfig is now always run after (un)install of 
 
2438
                 binary RPM packages
 
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
 
2445
                 eca-midi.h)
 
2446
        - fixed: audiofx_compressor.h tried to include obsolete
 
2447
                 error.h header file
 
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
 
2452
                 the directory)
 
2453
        - fixed: some problems with effect option parsing
 
2454
        - removed: simple lowpass filter (-ef2)
 
2455
070999 (v1.5.10r5)
 
2456
        - added: qtecasound - file dialogs now remember the current
 
2457
                 directory
 
2458
        - added: a much more elegant system for dynamically loading 
 
2459
                 ALSA support
 
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 
 
2471
                 .raw files
 
2472
040999 (v1.5.9r5)
 
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
 
2480
                  'true' by default
 
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)
 
2487
030999 (v1.5.8r5)
 
2488
        - added: '!' shortcut to all windows (keyboard focus to 
 
2489
                 control panel)
 
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
 
2497
020999 (v1.5.7r5)
 
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 
 
2502
                 ~/.ecasoundrc 
 
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 
 
2514
                   chainsetup widgets
 
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 
 
2529
290899 (v1.5.6r5) 
 
2530
        - added: "-z:feature" command line option for enabling 
 
2531
                 misc features
 
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 
 
2535
                 ~/.ecasoundrc
 
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
 
2540
                 numbers)
 
2541
        - fixed: a few Makefile problems in 1.5.x versions 
 
2542
                 (thanks for Vadim Tkachenko for reporting these)
 
2543
280899 (v1.5.5r5) 
 
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)
 
2553
270899 (v1.5.4r5) 
 
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) 
 
2558
210899 (v1.5.3r5) 
 
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)
 
2563
200899 (v1.5.2r5) 
 
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
 
2575
                 effect parameters
 
2576
190899 (v1.5.1r5) 
 
2577
        - fixed: problems with filters
 
2578
180899 (v1.5.0r5) 
 
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 
 
2592
                 man pages
 
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 
 
2601
                 libaudiofile)
 
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
 
2605
120899 (v1.4.5r4):
 
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 
 
2616
                 without clipping
 
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
 
2625
010899 (v1.4.4r4)
 
2626
        - added: qtecasound - now asks for a name when adding chainsetups
 
2627
        - added: qtecasound - adding and deleting chains
 
2628
        - changed: some layout changes
 
2629
290799 (v1.4.3r4)
 
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)
 
2642
270799 (v1.4.2r4)
 
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
 
2650
270799 (v1.4.1r4)
 
2651
        - added: qtecasound - chain widget now monitors effect
 
2652
                 parameters
 
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
 
2668
250799 (v1.4.0r4)
 
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)
 
2681
240799 (v1.3.3r4)
 
2682
        - added: -n option, sets chainsetup's name
 
2683
230799 (v1.3.2r4)
 
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)
 
2701
190799 (v1.3.0r3)
 
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 
 
2708
                 chainsetup files 
 
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 
 
2722
                 wasn't recognised
 
2723
        - fixed: when using multithreaded mixmode with complex setups,
 
2724
                 threads sometimes went out of sync causing strange
 
2725
                 behaviour
 
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
 
2732
                   than the last one)
 
2733
140799 (v1.2.3r3)
 
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)
 
2740
130799 (v1.2.2r3)
 
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
 
2760
110799 (v1.2.0r2)
 
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 
 
2774
                 line option)
 
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)
 
2784
100799 (v1.1.8r2)
 
2785
        - fixed: more synchronisation bugs
 
2786
050799 (v1.1.6r2)
 
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
 
2794
                  to work ok
 
2795
        - added: now checks whether a chainop supports parameter
 
2796
                 controlling or not 
 
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
 
2804
                 OSS input
 
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
 
2810
250699 (v1.1.3r0)
 
2811
        - more bug fixes
 
2812
        - tested rpm-packaging and seemed to work ok
 
2813
230699 (v1.1.2r0)
 
2814
        - bug fixes 
 
2815
190699 (v1.1.1r0)
 
2816
        - fixed: some bugs in exception handling 
 
2817
        - qtecasound: added a not-implemented message screen! ;)
 
2818
180699 (v1.1.0r0)
 
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
 
2822
          implemented)
 
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)
 
2831
160699 (v1.0.8r0)
 
2832
        - mp3 output support (using lame) 
 
2833
150699 (v1.0.7r0)
 
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
 
2843
100699 (v1.0.6r0)
 
2844
        - a new wave-form view 
 
2845
080699 (v1.0.5r0)
 
2846
        - multitrack-mode sync-routines rewritten and tested
 
2847
        - various mixmode bugs fixed
 
2848
040699 (v1.0.4r0)
 
2849
        - simple graphical vu-meters added to test the new io-system
 
2850
030699 (v1.0.3r0):
 
2851
        - multithread-io mode: one chain can be processed and mixed 
 
2852
         while waiting for getting data from other chains       
 
2853
020699 (v1.0.2r0):
 
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
 
2858
010699 (v1.0.1r0)
 
2859
        - fixed a _lot_ of bugs
 
2860
310599 (v1.0.0r0)
 
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
 
2865
190599 (v0.9.10)
 
2866
        - mp3 support using mpg123 (readonly)
 
2867
        - X-Window GUI added (using Qt-libraries)
 
2868
260499 (v0.9.x)
 
2869
        - support for multitrack recording
 
2870
        - independent effect chains
 
2871
        - interactive command-line-interface (CLI)
 
2872
        - looping (loop, loop_start, loop_end)
 
2873
        - new debug -system
 
2874
        - man -pages
 
2875
311098 (v0.80)
 
2876
        - support for MIDI-controllers
 
2877
        - now uses glibc v2.0 and linuxthread libraries
 
2878
041098 (v0.70)
 
2879
        - began to upkeep this history file
 
2880
        - fixing the gate-functions
 
2881
---
 
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)
 
2887
        
 
2888
-----------------------------------------------------------------------