On Sun, Sep 25, 2011 at 09:52:23AM +0100, Aurélien Leblond wrote:
> I'm porting the AMS internal modules to LV2 plugins to be used in Ingen.
?? You seem to be confusing some things.
AMS modules can have 3 types of ins/outs
1. Audio in/out ports. These are just blocks of samples, same
as e.g. Jack buffers. Some call this 'PCM' but that is a
2. Control in/out ports. These are technically identical to
audio ports (full sample rate), but the signals carried
on them are normally not meant to be audio. How they are
interpreted depends on the module and the particular port.
Frequency control inputs can be linear or log, in the latter
case that means 1/octave. Gain controls can be linear or log,
there is AFAIK no fixed conversion factor for the latter. For
example the VCA module uses 80dB/1 in exponential mode, but
other gain controls may be different.
Control ports are audio rate, but most modules/plugins subsample
some or most of them. They either just use the first value in a
block, or recompute internal paramters based on the last value
in a block and then interpolate them linearly.
Since control signals are (at least officially) at audio rate,
LADPSPA plugins designed to be used in AMS (e.g. mine) will
declare their control inputs as audio inputs.
3. Input ports corresponding to GUI widgets. These are control rate,
read once per block. They can be int or float. For continuous values
the sliders of built-in modules are always linear, any log/exp
conversion is done internally. For plugins this is different, as
a LADSPA can request the host to use a log/exp slider.
Linux-audio-dev mailing list