This is handled in LADSPA+RDF and LV2 (aka LADSPA2)
using scalePoints, eg.
http://lv2plug.in/plugins/Amp-example.lv2/amp.ttl, search for
lv2:scalePoint. That one's a silly example, but it makes the point.
Things like "-4 semitones" will be handled by a units extensions, which
will also allow hosts to use things like native gain control sliders for
decibel ports, and BBT controls for time inputs.
This idea is better in some ways, though though overall I prefer doing it
though description, rather than programatically.
- Steve
hmm, wouldn't that mean you need to code something (or include another
library) to parse all that description language making it difficult for
the host coder, and requires learning of a new language for the plugin
developer. seems much simpler and quicker for a plugin developer and host
developer to use a simple callback.
but the localisation is a good idea, but couldn't be handled via gettext
in the usual manner.
the advantage of this method is that it can achieve these goals without
breaking compatibility, further extensions can be added simply by adding
another "layer" of API like this and DSSI do which can be queried by the
host as needed or it can simply fall back if the host or the plugin don't
support it.
seems to me like LV2 has lots of good ideas, but is shooting itself in the
foot with complexity?
- Jez