I've updated the LADSPA page, header file and example plugins. See 
http://www.muse.demon.co.uk/ladspa.html. Three changes:

(1) Hints:

I've included a whole load of 'hints' that the plugin may provide to the 
host to help the user control the plugin (e.g. in a GUI). I've found six 
different hints to include and there are details I don't like (float ranges 
for stepped values are particularly scary). I'm interested in suggestions 
about this can be tidied up.

It does seem a little 'heavy' - the weight of the header has definitely 
increased, but I suppose the data is very easy for the plugin developer to 
work out and the host can choose to ignore it anyway.

(2) Const:

I've included some extra 'const' modifiers to tighten up data access.

(3) C++:

I've checked out the behaviour of LADSPA with C++. No changes were required 
to load C plugins into C++ (MN now has a nice little LADSPA plugin loader). 
C++ plugins turned out to need 'extern "C"' prototyping of the descriptor() 
function, so I've included this in the header file to make this happen 
automatically. The example plugins and hosts now work fine if they are 
compiled with C++ rather than C.

For those of you who have been asking about C++ wrapper classes for LADSPA 
loading, it really does turn out to be trivial (now that the header file 
has been changed). Just nick the dlopen() and dlsym() code etc from the 
example hosts and tweak to your heart's content.

-

Does this all look alright to everyone?

-- Richard

Reply via email to