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