On Sun, 2006-04-23 at 09:29 +0100, Steve Harris wrote:
http://plugin.org.uk/ladspa2/
First of all, I realised I was being cheeky by adding a feature I wanted
(units), while refusing to consider anyone elses! So, I removed the units
property from the Amp plugin. I'm happy to consider it a testcase and I
will make a schema for it and start using it when/if LADSPA2 gets OKd by
the community.
I made 2 actual ABI changes:
The path of the directory/bundle is passed to instantiate(). This is
neccessary to make it actually useful. It could have been passed to other
methods, but that seemed most appropriate.
"The BundlePath parameter is a string of the path to the plugin's
.ladspa2 bundle directory, it SHOULD not include the trailing /."
Might as well s/SHOULD/MUST/ so the plugin doesn't have to deal with it.
If it's just SHOULD there's not much point in wasting space mentioning
it.
Just an initial thought: how about adding a similar parameter for a
host-provided-things directory? This in combination with the
HostFeatures would allow a host to provide almost anything to plugins,
like a realtime memory allocator lib, some kind of shared memory scheme
for a GUI extension, etc. etc. Much more extensible without having to
break the ABI. Thoughts?
For some potential features, like Fons' polyphonic
control ports, it's hard
for the plugin to detect wether the host is using the feature or not. I
added an array of URIs to instantiate() that lets the host tell the plugin
what hints etc. it supports. The plugin can then refuse to instantiate or
fall back if it doesn't like the featureset.
I think this is an awesome idea, FWIW.
-DR-