[LV2] lv2_descriptor() considered harmful

David Robillard d at drobilla.net
Sat Feb 25 13:17:01 PST 2012


On Sat, 2012-02-25 at 20:23 +0100, Martin wrote:
> Hi!
> 
> > out of curiosity, how do you generate the code at runtime?
> 
> I think I don't at all (at least no compiled code).
> I use a precompiled .so for a fixed amount of inputs and outputs and 
> only assign new names and control value ranges in the rdf files. 
> Everything needed for them is parsed from the source code (of a non 
> compiled language) which is run by the shared object. So the only 
> generated code are the .ttl files which is not created at run time (I do 
> that using a shell script in advance). Inside the shared object 
> everything stays the same, except for a unique uri per plugin. (didn't 
> try if it works with a non unique though...)

This sounds like a dynmanifest problem, though I suppose you could
literally write Turtle files to the bundle at discovery.  I never
considered that.  It's a bit crazy, particularly since such a bundle
couldn't be installed to the system path.

> My solution for now is compiling the .so for each bundle. Maybe patching 
> the binary to replace the URL would be a solution too...
> 
> >
> > i'd second that request; for a host i'm working on i created an extension
> > specifically for this but it would be nicer to have a "standard" mechanism.
> 
> :)

I very strongly suggest you *not* release code using some unknown
discovery mechanism.  There's hardly a point in using a generic plugin
interface (i.e. LV2) at all, then.

Many people need such a thing, we should just agree on one and put it in
the core.

-dr





More information about the Devel mailing list