[This is a conversation Francois and I have been having this morning.
There is a general problem with LADSPA wrapper plugins that create
plugins from other sources. Its not possible for them to pick unique IDs
as they dont know what has been assigned and what hasn't]
On Tue, Mar 18, 2003 at 10:14:44AM +0100, Francois Dechelle wrote:
That reminds
me, there was another issue that Thomas raised, theres
currently no way to create a one-time unique LADSPA id, which I guess you
would need for this to work reliably.
Yes, it is something that I need. The problem is that the jmaxladspa
plugin is not a unique plugin: the number of plugins it defines is
variable (it is the number of .jmax files that are in LADSPA_PATH
directories).
A temporary solution would be to allocate to the jMax plugin a range of
unique IDs and that no more than this range patches can be loaded. What
do you think about it?
Thats OK as a quick fix, but it doesn't solve the broader problem, if you
save state from a host using jMax LADSPA plugins then it wont necceserily
be the same set when you reload.
I think LADSPA needs self assigned ID's, if the UID space were bigger we
could just reseve the top bit for self assigned stuff and hash unique
strings to fill it, but as its only 32bits thats not enough space.
Apart from this solution, I don't see how to do
it.
Agreed, without a change to LADSPA I dont think its possible.
One solution could be to use a reserved ID range to flag that the ID isn't
globally unique, but the label string (not name) is, so hosts should save
state aginst the label not the ID. It has very dodgy semantics though.
A better solution would be to expand the ID space to 64bits, and reserve
the top bit's worth, which is plenty, but will break binary compatibility
of course.
Another question: is there a plan to get plugin port
values that are not
floats? More precisely, I am thinking of transforming a patch that does
granular synthesis into a plugin. But this patch needs a sound file
name. How can I pass it to the LADSPA plugin?
You can't. I think this is thought to be outside the remit of LADSPA.
BTW, do you think we should discuss this on jMax
mailing list or on
linux-audio-dev?
Yes, both probably, but I've forgotten what email address I subscribed to
the jMax list with. I guess I should resubscribe. I'l CC this to l-a-d in
the meantime.
- Steve