[linux-audio-dev] LADSPA Extension for Extra GUI Data

Dave Robillard drobilla at connect.carleton.ca
Sun Jun 25 20:30:40 UTC 2006


On Mon, 2006-06-19 at 19:31 +1000, Jez Kabanov wrote:
> >
> > The idea itself isn't stupid, but the implementation is.. let's say less
> > than wise.
> >
> > (Consider my personal blatant bias, but...) I'd suggest taking a look at
> > LV2.  There is a data file you can add all this information to (whatever
> > information you want to), without defining any APIs, changing any host
> > code, etc, etc.
> >
> > You definitely shouldn't have to break binary compatibility of things
> > just to add some hints for hosts, this is the problem LV2 is meant to
> > solve...
> >
> > -DR-
> while i'm no expert in this area, i'm having some trouble understanding 
> your rationale.
> 
> how is it breaking binary compatibility?
> is binary compatibility even an issue?
> 
> shouldn't the host just look for the plugin and load it and check for 
> the existence of a symbol,
> if it exists then call it,  otherwise it doesn't and everything is just 
> as it was.
> 
> the host never need know anything about the binary structure of the 
> plugin except to know that there's a function called "ladspa_descriptor",
> adding ladgui certainly doesn't stop old hosts from loading and using 
> the plugin,
> 
> i've modified nekobee to use ladgui and it runs exactly as it used to in 
> an unmodified rosegarden,
> so how is binary compatibilty an issue?
> 
> whereas LV2 breaks compatibilty with old plugins (this seems like more 
> of an issue to me), adds a lot of complexity and requires the host to 
> use an additional liblv2 library.

Basically all you've added is port grouping.  Sure, there's no binary
breakage now - no kidding, you havn't had to change anything yet.  All
you've done is added a bunch of metadata that has no reason to be in
binary code at all, but you've done it in a way that's going to break
horribly as soon as you try to add something.

Plus, it's completely useless for GUIs in a separate process, while LV2
is not (it's just a data file, anything can load it, it's not even
architechture dependent).

Just my two cents, but definitely not the right thing.

-DR-




More information about the Linux-audio-dev mailing list