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-