On Sat, 2007-01-27 at 16:05 +1100, Fraser wrote: > Hi All, > > I've been converting my old VST plugins over to LADSPA and have come > across something in the api which I really miss - the inability separate > the algorithmic to the displayed value of a parameter. > I'm finding this inability is leading to non-ideal programming habits.
There is the LADSPA_HINT_LOGARITHMIC port hint, which does part of what you want - it tells the host that any knob or slider should use a logarithmic mapping, but it doesn't give any display values. In LV2 this will be done with the :scalePoint property, which you can use to label the real value 1 as "0dB", 0.5 as "-3dB" and so on. > Another example - presets > > I have a control that allows an operator to chose one of fifty presets > (say a reverb with small room, medium room, large room, hall etc). I don't > have a choice this time. Internally using an integer to represent the > different presets is fine, it's exactly all I need. > However even though I know what the preset is, I cannot display it's name > back to the user, so our user is left with a set of meaningless numbers > which they must resolve into names by some other means (print the doco out > and stick it on the wall?) Presets are done in LADSPA using the additional library liblrdf, which a number of hosts (though not all) support. "Internal" presets could be done in LV2 using an integer port and scalePoint labels. > Now for a wish. > > GUI - under OSX or windows this isn't such a big drama, there's only one > GUI environment to deal with. under Linux it's a different matter. > > I sometimes think the best thing to do is to provide enough hints to the > host so it can render a more comprehensive gui, if it desires, rather than > the plugin drawing the gui as is traditionally done. This would entail a > few things. There have been some suggestions for GUI "markup" standards for LADSPA, I don't know if any real hosts have supported them. It's not a bad idea as such. Another approach is DSSI (http://dssi.sf.net, an "instrument" extension of the LADSPA spec) which does GUIs using standalone programs distributed with the plugin that communicates with the host using OSC. --ll
signature.asc
Description: This is a digitally signed message part