[LV2] lv2:relation

Stefan Kersten sk at k-hornz.de
Thu Mar 1 03:38:42 PST 2012

On 2/29/12 12:54 AM, David Robillard wrote:
>>> "Parameter" =
>>>   * Identified by URI, has a "value" of any type (one per URI per plugin)
>>>   * Is a property the plugin "understands"
>>>   * Likely to be saved in plugin state
>>>   * Can get/set by sending a message
>>>   * Can be expressed in a control port
>> so this would not necessarily be tied to a port?
> Right.  Mainly, you could set/get one via messages (via an event port)
> as well.  Among other things, this means you could create them
> dynamically.  I like that this is tied in with ports so the abstract
> concept of a "parameter" is not tied to the logistics of ports or
> whatever else.

i have a related problem (i'm not very fluid yet with RDF): for control 
of my audio engine i am thinking about moving from OSC to something more 
structured and flexible such as LV2 atoms and messages.

let's say my engine maintains a tree of nodes where the leaf nodes 
correspond to instances of LV2 plugins. nodes are created and 
manipulated by a client via asynchronous messages and identified via 
unique integer ids.

now if i want to set the value of a control port, i could use a message 
like this:

         a msg:Set ;
         msg:subject [ a myEngine:NodeId ; myEngine:id 12345 ] ;
         msg:body [
             uri:parameter 3.14 ;
         ] ;

in other words, the information of where to send the message (the plugin 
instance with the corresponding node id) should be contained in the 
message itself. is this a viable use of msg:subject? i don't really want 
to make the node ids proper URIs. or would it be better to put the 
message in some higher level container that contains the information 
about where the message should go?


More information about the Devel mailing list