-
Notifications
You must be signed in to change notification settings - Fork 10
/
CHANGES
517 lines (465 loc) · 19.6 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
0.9.26
* documentation updates
* DDDelay removed, needs more work
0.9.25
* potential gcc overoptimisation resulting in NaN in Kaiser window setup eliminated
(fix contributed by Jean Pierre Cimalando)
* updated to reflect changes to the div() and pow10f() functions in libc
* tonestack coefficient update reverted to original Yeh implementation
* Compress default measurement mode switched to RMS, attack range doubled
* Compress power and gain filter cutoff lowered to lessen intermodulation distortion
* Plate defaults changed
* volume control added to Spice hi and lo circuits, max gain reduced on both
* Wider output channels swapped
* AutoFilter rate lowered
* Scape parameters cleaned up and remapped, tune control removed
* Noisegate hysteresis increased to 180 ms
* dc-30 tonestack R3 20k -> 10k
* Eq10 Q changed to render optimally flat response at all zero band gain settings
* div port added to Click
* new plugin DDDelay
0.9.24
* documentation updates including switch to 48k for all spectra
* "twin" and "stanford" tonestack models swap places
* ChorusI feedback changed to interpolation, softens zipper noise on t changes
* use vestigial FPTruncateMode only on pre-SSE2 hardware
* 4x128 oversampling option removed from Compress plugins
* state port displaying current gain reduction on Compress plugins
* _latency port for parallel Eq
* Saturate fade-in bug eliminated
* Noisegate hysteresis interval lengthened
* Click sounds "stick" brightened and "beep" shortened
* run_adding() removed, reducing binary size by 30 % and compile time similarly
* JVRev tail modified, low-passed
* all ports reordered to consistent ctrl i/o audio i/o order
* Eq4p crossfade reimplemented as equal-power squared cosine, smoother now
* EqFA4p added
* non-SSE v4f_shuffle surrogate fixed
(fixes Eq4p on ARM, reported by Jens Dreske)
* dropped 44.1 kHz ToneStackLT
* OnePole header renamed IIR1, filters renamed LP1 and HP1
* BiQuad header and filter renamed IIR2, SIMD *4f filters renamed *v4
* CabinetIII (less demanding loudspeaker emulation resurrected again)
* ChorusI port ranges and defaults adjusted
* Compress parameter mappings and defaults adjusted
0.9.23
* ChorusI hp filter denormal protection added
0.9.22
* ChorusI blend behaviour changed
* ChorusI parameters adjusted
* ChorusI hp filter before delay added
* AutoFilter parameters adjusted
* AutoFilter 'range' port becomes 'depth'
0.9.21
* Eq10 Q increased
* AmpVTS bright/compression/gain mappings adjusted
* AutoFilter reverted to 0.9.1 version with adjusted parameters
0.9.20
* ToneStack ports rearranged (following "control before audio" convention)
* ToneStack LT model selection fixed
0.9.19
* Noisegate partially rewritten, defaults adjusted
* Noisegate bug causing spurious gain fluctuations in closed state eliminated
* AmpVTS compression controls adjusted
* influence of total gain on compression in AmpVTS reduced
* documentation polish
0.9.18
* restored ToneStack presets to present the full list
* AmpVTS 'bright' filter given slight resonance
* AmpVTS compression control range widened
0.9.17
* multiple inclusion header guards changed to comply with ISO/IEC 9899:2011
(at the insistence of Markus Elfring)
* PlateX2 fixed to read correct port for damping parameter
(reported by James Morris)
* uninstall removes rdf
* DSP::FIR4f::set_kernel size overflow in default parameter fixed
(reported and isolated by Ricardo Crudo)
* AmpVTS "lowcut" filter changed from 2- to 1-pole
* "HK 20" tonestack renamed to "AK 20"
* AmpVTS lowcut mapping changed, default lowered
* AmpVTS highpass 1 cutoff raised
* lowpass filter added to Noisegate's opening peak detector
* Noisegate not NoiseGate
* Click normal addition limited to idle loop
* NoiseGate logic loop bug fixed, hysteresis added
* documentation polish
0.9.16
* NoiseGate simplified, sped up, gain lowpassed, click bug eliminated
* Sin smoothened, defaults updated
* PhaserII defaults updated
* Fractal defaults updated
* documentation polish
0.9.15
* no-vector-arithmetic compilation fixed
0.9.14
* AutoFilter x/y parameter eliminated
* Fractal hp changed to be configurable, attractors recalibrated
* DSP::Lorenz instantly initialises to useful state
* documentation polish
0.9.13
* Eq4p softens drastic parameter changes by crossfading static filters
* Eq4p employing single v4f filter, slightly quicker
* Eq4p 'off' filter mode
* documentation and interface polish
0.9.12
* non-SSE compilation fixed
0.9.11
* DSP::Roessler instantly initialises to useful state
* Logarithmic port bounds and values fixed to reflect actual intent,
affecting Spice, AutoFilter and ChorusI
* clicking automatic gain fade on activate() eliminated in Saturate
* Dirac merged into Click
* Lorenz and Roessler merged into Fractal
* JVRev removed
* running plugins for zero frames returns without touching state
* CabinetII and III removed
* PhaserII sine LFO and LFO choice port added
* PhaserII fractal modulation extensively revised
* ChorusI rate lower bound slightly increased
* ChorusI delay line length adjusted to accommodate full t+width range
* all Chorus and Phaser plugins removed save for ChorusI and PhaserII
* major documentation revision
* Eq4p parametric equaliser plugin
* RBJ shelving filter prototype implementation fixed
* "2x2" stereo plugin label postfix changed to "X2"
* Eq renamed Eq10
* SIMD implementation updates
* DSP::RBJ coefficient calculation rearranged
* Click bpm range changed, default lowered substantially
0.9.10
* DSP::RMS protected against negative sum of squares
* documentation updates
0.9.9
* OSX compilation configuration refinements
0.9.8
* Spice enabled by default, Spice2x2 added
* AmpVTS default oversampling ratio changed to 4x
* JVRev refinements
* Cabinet gain upper limit reinstated to 24 dB
* AutoFilter modulation slightly adjusted
* more *ChorusII modulation smoothness
* 1st-order IIR lp set_f fix part 2
* 1st-order IIR lp set_f fix part 1
* 1st order low-pass for AutoFilter modulation LFO
* DelayTapA removed
* README updated
* Click 'stick' sound brightened
* moved processor_specific_denormal_measures() to activate(), speedup
0.9.7
* ChorusI is back
* AutoFilter modulation range and default parameter updates
0.9.6
* Click fixed to compile by older g++ versions
0.9.5
* AmpVTS model port moved, renamed to the more apt 'tonestack'
* documentation refinements
* appreciable AmpVTS speedup by going back to sample_t for accumulator
* NoiseRatio attack time control
* sample rate dependencies in NoiseGate removed, time constants revised
* Tonestacks reordered
* Plugin::over_fs
* AmpVTS model setting fixed to follow the correct input
* CabinetIII resurrected
* AmpVTS 'ratio' port renamed to 'over'
* more filters for AutoFilter, ladder stage gain control
* AutoFilter oversampling
* AmpVTS bias in poweramp, dcblock before output
* AutoFilter envelope calculation fixed for fs > 153.6 kHz
* peak/rms selection for Compress
* AmpVTS tuning
0.9.4
* AmpVTS bright mapping revised
* Compress hi-pass removed
* Compress saturation changed from tanh to atan
* beep wave for Click
* selectable oversampling ratio for Compress in saturating mode
* fixed Compress to apply gain before saturation
* replaced sample_func_t with the more apt yield_func_t
* minor cosmetics
* caps-doc is a separate package
* selectable wave for Click, parfiltmodel added
* further smoothened ChorusII modulation
* selectable oversampling ratio for Amp
* moved some compress setup calls from Amp's run() to activate()
* rdf target prerequisite for dist
* Eq Q fixed, flat response at 0 gain
0.9.3
* Smoother modulation for ChorusII
* AmpVTS filters retuned
* correction for ToneStack gain in AmpVTS
* ToneStack models reordered, 'wookie', 'porky', 'HK 20', 'nihon ace' models added
* Amp 'bias' now a filtered function of output power, control removed
* division operation in 1st-order hipass setup replaced by multiplication
* Saturate gain = 0 dB in 'bypass' mode
* Saturate 'rectify' mode
* AmpVTS, Plate control mapping adjusted
0.9.2
* included dsp/polynomials.cc in the tarball
0.9.1
* Lorenz/Roessler rate linked to fs
* AutoFilter replaces SweepVFI
* CabinetIV
* fixed erroneous float promotion of upsampler z padding parameter
* lots of parameter tuning
* many cleanuppies here and there
* SweepVFI/AutoFilter saturating SVFII ladder (instead of oversampled SVFI)
* UniqueIDs moved into interface.cc
* SweepVFI modulation comes as range + x/z now
* GPL v3
* more Phaser notches
* LR filters for Spice
* Saturate inverse gain for approximately constant loudness
* Scape extensively reworked
* further refinements to Chorus and Phaser units for smoother modulation
* SweepVFII removed
* LADSPA_PORT_GROUP
* Compress* input gain removed
* ToneStackLT rolled into ToneStack and eliminated
* fixed w miscalculation in DSP::Sine::set_f with fs given
* AmpPlus/AmpVTS total rewrite
* TubeCompress merged into Compress, for great template goodness
* *Chorus* modulation rate decoupled from samplerate
* tanh approximation, available in the Saturate plugin
* *Chorus* units reworked for smoother modulation and sound
* StereoChorusII2x2 plugin
* JVRev bandwidth filter/control added
* VCO* removed
* HRTF removed
* ChorusI, StereoChorusI, PhaserI removed
* CabinetI removed
* No more AmpStub silliness
* All Amp and Preamp plugins removed, save for AmpVTS
* Incite rechristened Spice
* JVRev blend range normalised to [0..1]
* Plate input value ranges adjusted to uniform [0..1]
* Phaser* spread value range upper bound adjusted to 1 from pi multiples
0.9.0
* White bleached (was slightly pinkish before)
* up+down oversampling functionality rolled into one class
* Incite plugin
* total redesign of the Clip plugin, renamed to Saturate
* NoiseGate plugin
* RBJ prototypes changed to accept biquad instead of coeff. arrays
* various default value changes
* all FIRs changed to use templated kernel size, appreciable
speedup for all oversampled plugins
* reduced the number of arithmetic operations in the tonestack
coefficient update function, speedup for ToneStack and AmpVTS
* TubeCompress2x2 plugin
* TubeCompress plugin
* no more borrowed kernels!
* CabinetII gain adjusted for Mesa and Pro Jr models (much lower now and
more in line with the other models)
* Amp final drive gain reduced slightly to prevent foldover distortion
* SweepVF fractal rate control mapping adjusted
* Pan completely redesigned with Orban-like stereo image synthesis
* Narrower mode switch and mid/side operation added
* Plate parameter ranges modified for a brighter and less reverberant
default sound
* VCOd sync option had to be dropped due to compiler incompatibility
* Lorenz, Roessler fitted with a dc-blocking filter
* all int sample loop variables changed to unsigned, slightest speedup
* Compress2x2 plugin
* Compress plugin replaced with a completely new design
* Phaser feedback port ranges sanitised
* StereoPhaser plugins
* PhaserII gain reduced by 6dB
* "latency" outputs of all plugins removed
* Descriptor array handling changed to disable individual plugins with
relative ease
* fixed instances of g++ -O3 and above compiled code segfaulting,
performance gained everywhere
* documentation reworked extensively
* CEO wave is resampled at runtime from fs = 8kHz source
* CEO mantra changed (now an flite recording)
* Click changed to use modal synthesis to generate the click wavetable,
for improved sound and independency of sample rate
* Plate changed to do delay summation using doubles
* 1st and 2nd order filters changed to use templated types for coefficient
and state storage
* 1st order input hipass added to AmpVTS plugin
* filter 'mode' port added to AutoWah, and renamed to AutoFilter
* fixed improper 'model' labels meant to be 'mode' in the rdf generator
0.4.5
* Narrower plugin added
* fixed 'configure.py' to work with python3
* fixed Sin, Roessler and Lorenz gain smoothing on activation
0.4.4
* had a good time
0.4.3
* basics.h cleanup / comments
* minor Makefile cleanup
* comment cosmetics
* Eq and Eq2x2 per-band Q changed to 1.414 (= 1 octave)
* Eq lowest band default value fixed to read 0
* Niclas' fix for the bessel function implemented
* uninitialised plugin states eliminated thanks to Damon
* linker options for OSX added to the Makefile
0.4.2
* fixed the 'model' port index for AmpVTS in the RDF generator
0.4.1
* cleaned up Eq.h and Eq.cc (many g++ versions choke on the unused code
there)
* changed -O3 to -O2 in the g++ invocation
0.4.0
* ToneStack plugins, by David Yeh
* AmpV + Tone stack plugin, employing David Yeh's fine work
* comment cosmetics
* Amp* denormal protection fixed (or is it, Dave? ;)
* minor code cleanup in Amp.cc
* caps.rdf updated with plugin categories (thanks to Paul Winkler)
* caps.rdf Cabinet* RDF preset labels renamed
* AutoWah plugin
* DSP::RMS reworked, may affect Compress plugin
* DSP::Eq reworked for double precision and denormal protection
* ./configure.py checks SSE availability
* in case of SSE math denormal flush to zero activated for all plugins
* all plugins renamed C* .. instead of CAPS: ..
* Eq modified to play nice with ardour
* Eq2x2
* introduced the Plugin base class, collecting common traits (normal etc)
* getport() -- read access to control ports which is clamped to port bounds
and maps inf and nan to 0 as well
* all LADSPA_HINT_SAMPLE_RATE ports changed to *_LOGARITHMIC because
of broken implementations (no surprise given the vagueness of ladspa.h
regarding this matter) -- this means changed default parameters of the
affected ports, too
* VCO* "latency" output ports removed
* actual activate() call is deferred to first run() after activate()
in order to prevent inadvertent parameter smoothing sweeps during the first
block of audio after activation, this should fix all problems with ardour
(except those caused by denormals or invalid audio input)
* caps.rdf installed by 'make install'
* fixed a bug in tools/make-ps.py that caused the spectrum plots to
be inaccurate for multi-channel plugins
0.3.0
* TwelveAX7_3 changed to clip slightly early in the upper lobe
* Scape plugin added
* plugin names rewritten, prefixed with "CAPS:"
* new ChorusII, StereoChorusII plugins
* Chorus, StereoChorus relabeled, appended 'I' suffix
* new PhaserII plugin (great stuff if I may say so)
* Phaser relabeled, appended 'I' suffix
* new AmpV plugin, based on AmpIII, emulates compression and distortion
modulation through power supply shortcomings, plus lots of fine-tuning
and an additional biquad. We're getting there!
* all Preamp and Amp models fitted with a new 12AX7 model, linear
interpolation of a sample table obtained from spice simulation
0.2.4
* feedback default reverted to 0 for the Chorus units
* fixed Cabinet to switch to correct gain at 'model' control change
* fixed 'model' control in Cabinet to work with a broader range of hosts
* Cabinet name changed to CabinetI
* CabinetII plugin: Cabinet with 32nd order IIR filters, more fidelity
to the original frequency responses, supplied coefficients for 4 of the
most used sample rates
* applied the gcc-4 enabling patch
* SweepVF renamed to SweepVFI
* new SweepVFII plugin, variant of SweepVFI with Q modulated by a
second Lorenz fractal
* dsp/exp2 dumped in favour of libm's exp2(3)
0.2.3
* StereoChorus denormal protection made functional
(Thanks again to S. Savolainen)
* Phaser denormal protected
0.2.2
* Build was _not_ fixed for g++-4.0.
* AmpIV gain control restored to operate as expected
* Chorus/StereoChorus denormal protection (thanks to S. Savolainen)
* a few cosmetic changes elsewhere
0.2.1
* Build fixed for g++-4.0, PPC and AMD64
(Thanks to Niklas Werner, Andreas Jochens and Mario Lang)
* Reverb.* cosmetics
* AmpIV tone controls moved to after initial tube transfer
0.2.0
* denormal protection for Preamp*, Amp*
* Capitalized plugin Names
* PDF now lists audio in- and outputs as well as control inputs, only
gives average CPU rating
* AmpIV: PreampIV + power amp stage
* Plate2x2: Plate with 2-in, 2-out audio routing
* Plate damping and bandwidth controls changed to map to filter fc, fixes
behaviour in hosts that handle the log hint incorrectly
0.1.13
* AmpIII activate() resets the boost filter
0.1.12
* PreampIV band controls fixed to operate as expected
0.1.11
* amps changed back to old tube model :) but new temp & gain behaviour stays
* SweepVF, AmpIII default value adjustments
0.1.10
* HRTF recursion runs in doubles
* Cabinet recursion runs in doubles for much clearer sound
* all amps fitted with a common tube voltage mapping, dsp/TwelveAX7.h
* all amps: temperature and gain controls changed slightly
* all amps declared in one common Amp.h
* Pan echo fixed to be filtered independent of sample rate
* Cabinet cosmetics and activate() from port values fix
* SweepVF fixed to activate() from the current control settings
* rid all *amp* plugins of the initial hi-pass, not needed anymore
* PreampIII and AmpIII more authentic with an rbj lo-shelve, +6 dB > 1.2 kHz
as hinted by circuit analysis
* something_random() removed, stdlib for random generation
0.1.9
* Pan plugin
* 'make depend' instead of 'make dep', uses $(CC) -MM instead of 'makedepend'
* *Chorus, AmpIII, Plate defaults changed
* *Chorus optimizations, reintroduces funny zipper noise when 'feedback' is
non-zero and 't' is changed
* experimental HRTF plugin
* Plate 'blend' goes all the way to wet output only
* dsp/White offers a get_31() method for reduced number of bitshifts needed
* *Chorus delay line tapping changed to employ cubic interpolation, sounds
better
* SweepVF modulation mix algorithm changed to clamp if over-fed, makes
for wider sweeps
0.1.8
* all oversampling plugins use Kaiser windows instead of Blackman-Harris,
for much better performance
* SweepVF modulation range slightly increased
* Cabinet filter loop cosmetics (slight speedup)
* new AmpIII Plugin: Preamp plus power amp emulation
* lowered NOISE_FLOOR (equals 'renormal' number)
0.1.7
* connect ports to lower bound on instantiate()
* Plate delay line lengths raised, sound changed
* Eq activate() fixed to initialize from the current settings
* Preamp* cutoff reverted to 0.1.3 setting, thanks to Ben Saylor for
testing
* old IIR-based Preamp cleaned from the sources
* zipper-noise in *Chorus units for t changes with feedback > 0 eliminated
* all plugin constructor code moved to init() calls
0.1.6
* SweepVF modulation mix algorithm changed to maintain proportion, not
absolute value if x + y + z > 1, for better control
* create $(DEST) directory on make install, pointed out by Daniel James
0.1.5
* fixed delay line length miscalculation in ModLattice
0.1.4
* SweepVF modulation source can be mixed now
* latency port for VCO*
* Lorenz and Roessler get x, y, z mixing knobs
* PreampIV eq bands slightly tuned and coefficients moved into common struct
* Preamp*, VCO* downsampler filter cutoff lowered
* Clip downsampler filter cutoff lowered
* nonsensical audio output bounds removed
* simplified VCO* implementation
* JVRev rewritten for code clarity (funny enough, it also got quicker)
* fixed JVRev to reset its history on activate()
* added purpose, copyright and licensing information to all (i think) files.
* HACKING file
* CHANGES file
0.1.3
* fixed all compilation problems with gcc 3.3, with the patient help
of the lad mailing list community
* dsp/Eq.h SSE assembler code had to go (gcc > 3 doesn't like multi-line
asm, and efficiency and even reliability go down if we allow gcc to
intersperse its 'optimization' code with our asm)
0.1.2
* fixed more compilation problems with gcc >= 3.0
0.1.1
* tried to (but didn't really) fix compilation problem with ladspa.h
0.1.0
* initial release