[LAD] LADSPA plugin behavior and naming, and more general questions

Steve Harris steve at plugin.org.uk
Tue Apr 15 09:34:43 UTC 2008

On 15 Apr 2008, at 03:33, Justin Smith wrote:
> As a learning exercise, I made a LADSPA plugin that adds its inputs. I
> figured it would be reasonable to call such a thing '+'. Some plugin  
> hosts
> don't like that (I was less surprised by the ones that could not  
> handle the
> name '<'). This is the LADSPA_Descriptor.Label property. ladspa.h says
> "Labels must not contain white-space characters.". Is it  
> unreasonable to
> expect to be able to have symbols as plugin labels, or parts of plugin
> labels? So this is more of a "what do you think" then a right/wrong  
> answer
> kind of thing.

Well, best practice is to stick to things that all hosts can handle,  
but the hosts seem to be buggy here. LV2 requires that symbols match / 
[a-z][a-z0-9]*/i or something like that, so they can be used as  
symbols in programming languages.

> Also, though ladspa.h does not say I cannot write my plugin library  
> in such
> a way as to create resources shared by all the instances of my plugins
> within one host (say, a shared OSC connection?), would that be  
> acceptable?
> Would that break hosts? What about per plugin GUI? If I just made a  
> Makefile
> variable for a GUI to launch for a ladspa plugin, if I did not want  
> the
> overhead of the full DSSI interface (or if I wanted to use the  
> plugin in a
> non DSSI compatible host), would that be beyond the pale for a LADSPA
> plugin?

Plugins can have shared resources, several of mine do, one even uses  
SHM to share resources between hosts. You have to be quite careful,  
and you'll need to use locking to make sure that two plugins don't try  
to access the same resource at the same time - the host is allowed to  
call plugins methods in parallel.

- Steve

More information about the Linux-audio-dev mailing list