[LV2] Inheriting plugin properties

Michael Fisher mfisher31 at gmail.com
Tue Jun 25 06:15:11 PDT 2013


On Sun, 2013-06-09 at 16:03 -0400, David Robillard wrote:
> Hello,
> 
> I'm wondering what to do about a problem raised by Ingen's ability to
> run as an LV2 plugin[1], which would be shared by any other system that
> defines the "plugin" in a format dynamically loaded at run-time.
> 
> The problem is the binary.  Currently, Ingen saves a symlink to the
> 'system' ingen_lv2.so, which works locally, but is obviously a problem
> for distributing patches.  What's needed is a way to specify that the
> binary for this plugin is the same as the binary of some other plugin
> (e.g. a template the user must have installed)
> 
> Is this useful for other things as well?  Do we want a simple mechanism
> to inherit from a single plugin
> 
> <>
>     a lv2:Plugin ;
>     lv2:inheritFrom <someplugin> ;
>     lv2:inherit lv2:binary .
> 
> or a more advanced mechanism that allows you to inherit properties on an
> individual basis from several other plugins
> 
> <>
>     a lv2:Plugin ;
>     lv2:binary [
>         a lv2:InheritedProperty ;
>         lv2:from <someplugin>
>     ] .
> 
> or something else?  (There may be existing vocabulary for this somewhere
> but I don't know of any)
> 
> The only immediate problem is lv2:binary because of portability, but if
> we need one at all, a generic property inheritance mechanism seems like
> a good idea.
> 
> Another option would be to put a full description as lv2:binary, which
> could be given a URI, so
> 
> <>
>     a lv2:Plugin ;
>     lv2:binary <urn:mybinary> .
> 
> <urn:mybinary> ;
>     lv2:binary <foo.so> ;
>     lv2:otherUsefulInformation "stuff" .
> 
> This might be useful for specifying platform for portable bundles and
> perhaps other things as well.
> 
> Pretty much any solution probably breaks old hosts, but I am not
> terribly concerned about this.
> 
> Thoughts?
> 
> -dr
> 
> [1] http://drobilla.net/2013/06/08/ingen-as-lv2-in-ardour/
> _______________________________________________
> Devel mailing list
> Devel at lists.lv2plug.in
> http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in

I think something like this would be useful indeed.

What about inheriting the plugin as a whole:
<>
	a <my_plugin_uri> ;

Then just override properties as needed.  Not sure if the above even
makes sense in RDF/Turtle land.




More information about the Devel mailing list