Re: [linux-audio-dev] LADSPA GUI Issues

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] LADSPA GUI Issues
From: Jim Coker (jcoker_AT_jguru.com)
Date: Fri Mar 17 2000 - 19:40:42 EST


David Olofson wrote:
>
> On Sun, 12 Mar 2000, Kai Vehmanen wrote:
> > On Sun, 12 Mar 2000, David Olofson wrote:
> >
> > > I think it's a good idea to have "soft" ranges, but I still think
> > > that the "recommended" range should be somewhat standardized, so that
> > > a wildly experimenting user can see some similarity in how different
> > [...]
> > > Signed:
> > > -1.0 <= value <= 1.0
> > > Unsigned:
> > > 0.0 <= value <= 1.0
> >
> > Hmm, I understand what you're aiming at. Still, I'd prefer to
> > have meaningful control values. For instance, if I load
> > a filter plugin, I want to specify the cutoff-freq using Hz
> > (eg. 400Hz). You can always use the range recommendation to
> > scale the control values to a more standard range....
>

FWIW, Kyma uses a range of [-1.0-1.0] for untyped control
values. Then most typed values (pitch, time) have a base
representation as a 24-bit number (for example, #of samples
for time), and a series of convertion utils (Smalltalk
methods) to make things easier to deal with: "1.0 s" means
1.0 seconds "1.0 s asSamples" converts that into a number
of samples. "66 nn hz" converts Midi note 66 into it's hertz
value. One unusual thing about Kyma is that one is never
completely sure of the base representation for some types
(such as pitch).

Supercollider uses floating point values for event values
and audio values. The "normal" audio range is [-1.0-1.0], but
since all audio is 32-bit fp, you can "overload" things quite
a bit and get away with it. Event values for pitch and time
have a base type of seconds and hz, both as floating pt numbers.
And there are also conversion routines for converting between
MIDI note values and such. [James -- feel free to correct me here]

So, I'd suggest using a full floating point range w/ a base type
for values that need them (time, pitch), and have each control
specify a legal range (possibly w/ automatic clipping), change
granularity (for integer-valued parameters), view type (for
pitch, this could be hz, MIDI nn, etc.), linear vs.
exponential response (for mapping graphic control actions to values),
and initial value (if necessary).

Jim


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Mar 18 2000 - 03:13:15 EST