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
misnomer.
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.
Thanks, I think it makes things way clearer!
What's confusing me so far is that I ported the VCO2 module, but with
exactly the same setup, the VCO2 LV2 in Ingen sounds out of tune
compared to the one in AMS. I thought it was due to some kind of
needed convertion, but maybe I'll go back to my code to double check I
didn't make any mistakes!
The note builtin in Ingen uses Hz for frequency. Anything else is
completely insane :)
There is a converter plugin in 'omins' which I need to port to LV2 as
well one of these days...
-dr