On Fri, Mar 05, 2004 at 04:11:35 +0100, Dr. Matthias Nagorni wrote:
On Fri, 5 Mar 2004, Steve Harris wrote:
OK, thats a reasonable definition for
enumerations, but its missing the
non-ionteger eqivalent, "scale points" or whatever you want to callthem,
eg in ringmod_2i1o(1188) "Modulation depth (0=none, 1=AM, 2=RM)" input,
control, 0 to 2, default 0. its not an integer control, its a continuous
valued control with specific meanings at specific points. Another example
is an oscilator control knob in LFO modules with contiunous varition
through sine, tri, saw, square.
I'l grant you that this case is less common, but its still one of the
"neccesary" control types.
First: In general I don't understand why the difficulties to fix problem 2
(continuos controls with certain meanings) should prevent us from solving
problem 1 (the enumerations) where Fons already suggested a perfect solution.
They are the same problem - annotating certain values with labels. If you
solve one and not the other something is very wrong. I see Tim has just
posted a solution to both but I havent looked at it yet.
Moreover, as you already granted, problem 2 is less
severe.
Less common, thats different.
Usually the meaning of certain points is displayed in
the port name (as in
the examples you mentioned). I don't know of any plugin where there are
more than 3 defined points, so the string won't be too long for this and
using just a slider control seems fine.
The same as enumerations then?
I dont think
what you're prosoing is an unacceptably bad hack (though I
dont think its a good one either), but I do think the RDF solution is
much cleaner.
So, will that make it into the next LADSPA spec ?
It doesnt need to, its metadata. All it requires is that the hosts that
want those features parse the RDF - thats not all the hosts (though the
majority allready do) and it doesnt require any changes to ladspa.h.
- Steve