[linux-audio-dev] +momentary, consolidated (ladspa.h.diff)

Alfons Adriaensen fons.adriaensen at alcatel.be
Tue Mar 9 05:50:03 EST 2004

On Tue, Mar 09, 2004 at 04:29:55AM +0100, Tim Goetze wrote:

> what makes you presume an LFO is always running at audio rate? running
> a network at 64 or 32 frames blocksize is common, and good enough for
> many k-rate (control) signals.
> there also are a lot of other good k-rate sources besides LFOs.

LADSPA does already clearly indicate if a port is CONTROL or AUDIO.

Another aspect of this is that the period size set by the audio interface
or JACK need not necessarily correspond to a soft synth's internal control
rate. CSound is one example of this. The new AMS I'm currently thinking
about will be another. In this case the designer has the choice of either

- calling plugins at the real control rate, and allow the use of LADSPA
  control ports to carry LF signals (LF0, ENV, ...)
- or call the plugins at a much lower rate, map LADPSA control ports
  to widgets only, and not allow them to be routed.

The LADSPA spec does not clearly define which of the two is intended.

> suppose you want to trigger twice, in two consecutive run() cycles.
> you have to 'bring the line down' inbetween to accomplish this if you
> only have MOMENTARY, not TRIGGER. how do you do it? you have to split
> the first run() cycle into two to bring the line down before you can
> bring it up again.

OK, not having TRIGGER halfs the control bandwidth. But if your event 
frequency is approaching the control rate or even half of it, you will
run into trouble anyway, as the events will be quantised in time in a
way you'd probably not expect. It just means the k-rate is too low for
the application at hand.


More information about the linux-audio-dev mailing list