On Thu, Apr 27, 2006 at 08:39:06AM -0700, Sean Bolton wrote:
Okay, Steve, I trust you have something ready to go
that you feel will
replace it, but I'm still worried. The discussion you and Paul had on
this list sounded to me like you were both conflating the need for
scaling a linear range (widget or MIDI CC) to an exponential one
(e.g. frequency port), with the need to provide unit labels for port
values (e.g. "dBFS"). The two are independent, and I agree with
Dave that the log scaling hint is essential. It does work when bounds
are sensibly specified (i.e. don't include zero), and needs to be
extended -- not dropped -- to handle the other common cases people
try to (ab)use it for.
Sure, the problem is that the log hint doesn't actually do what you want.
The only time I use it is for frequency ports. Extending it so that it can
cover that case would be really hard, and it only covers the one case, so
you may as well just say "this is a frequency".
Frequecies (eg. filter cutoff frequencies) typically go from
0-fs/something, and the LADSPA hint mechanism has no way of indicating
really-close-to-zero-but-not-quite in a way that works reliably. You can
do what Dave does, and remap everthing to 1-2 or similar, but then you
don't get a linear relationship between input values and octaves, which is
what you're after.
I think I used to use it for gain too, but that works even less well, so I
stopped.
So, what you really need is the information about what the port is actualy
representing, that way the hosts can make an intelligent choice about how
to map it to a UI feature. eg. a pitch mapping for frequency inputs, and
an IEC scale for dBs.
If we're going to replace it "the moment
after 'LADSPA2' is finalised",
then we'd better be sure the replacement is ready to go. Can you
tell us more, please?
I worked with some chemists who defined a RDF ontology for SI units, I was
just planning to steal thier design.
You can have a list of units that you want to handle logarithmically,
if that's what you want to do, but I'd rather not encourage people io
implement the Wrong Thing(TM).
If you're concerned about this (I may not have considered all the
implications, I dont have that much experience of host development) we
could discuss it, but I dont want to do that until LADSPA2 is done and
dusted. Too distracting.
- Steve