From 2deb34ec442772f5f68c1818a290748ac5a1ed36 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 10 Feb 2013 03:21:20 +0000 Subject: Add lv2:Bank, lv2:Program, and lv2:program for describing programs, including but not limited to MIDI programs. --- lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl | 6 ++-- lv2/lv2plug.in/ns/lv2core/lv2core.ttl | 56 +++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 3 deletions(-) (limited to 'lv2') diff --git a/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl b/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl index 4fe9f3a..b4eb5c3 100644 --- a/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl +++ b/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl @@ -16,11 +16,13 @@ ; doap:maintainer ; doap:release [ - doap:revision "9.1" ; - doap:created "2013-01-10" ; + doap:revision "9.2" ; + doap:created "2013-02-09" ; dcs:changeset [ dcs:item [ rdfs:label "Add lv2:EnvelopePlugin class." + ] , [ + rdfs:label "Add lv2:Bank, lv2:Program, and lv2:program for describing programs, including but not limited to MIDI programs." ] , [ rdfs:label "Add lv2:control for designating primary event-based control ports." ] , [ diff --git a/lv2/lv2plug.in/ns/lv2core/lv2core.ttl b/lv2/lv2plug.in/ns/lv2core/lv2core.ttl index 8bfd6ec..be968f4 100644 --- a/lv2/lv2plug.in/ns/lv2core/lv2core.ttl +++ b/lv2/lv2plug.in/ns/lv2core/lv2core.ttl @@ -122,6 +122,19 @@ which of these classes the functions belong, define new classes for them, or otherwise precisely describe their threading rules.

""" . +lv2:Bank + a rdfs:Class , + owl:Class ; + rdfs:label "Bank" ; + lv2:documentation """ +

A bank of programs. See lv2:Program for details.

+ +

A Bank MUST have an rdfs:label giving a short label suitable for +presentation in a user interface, and SHOULD have an rdfs:comment if a more +detailed description is available. For MIDI compatibility, a bank SHOULD have +an lv2:index within [0,127].

+""" . + lv2:PluginBase a rdfs:Class , owl:Class ; @@ -219,6 +232,31 @@ necessarily refer to the same port on all plugins with a given URI (i.e. the index for a port may differ between plugin binaries).

""" . +lv2:Program + a rdfs:Class , + owl:Class ; + rdfs:label "Program" ; + lv2:documentation """ +

A plugin configuration or mode. This can describe MIDI programs, but is +more general. Implementations MAY support changing programs by any +mechanism.

+ +

A program MUST have an rdfs:label giving a short label suitable for +presentation in a user interface, and SHOULD have an rdfs:comment if a more +detailed description is available. For MIDI compatibility, a program SHOULD +have an lv2:index within [0,127].

+ +

Note that a program is an internal plugin mode, not necessarily a complete +snapshot of plugin state (which is a preset). The currently active +program is a parameter, lv2:program. Programs allow plugins to implement +internal configurations opaque to the host; in particular, a program does not +define control input values. The distinction is analogous to hardware that +supports program changes but also has physical controls that can not be changed +by software. However, a program MAY be associated with a preset, or one +resource may be both a program and a preset, to support completely changing a +plugin instance's state via a program change.

+""" . + lv2:InputPort a rdfs:Class , owl:Class ; @@ -277,6 +315,23 @@ versa. Hosts SHOULD take care to prevent data from a CVPort port from being used as audio.

""" . +lv2:bank + a rdf:Property , + owl:ObjectProperty , + lv2:Parameter ; + rdfs:domain lv2:PluginBase ; + rdfs:range lv2:Bank ; + rdfs:label "bank" ; + rdfs:comment "A supported bank of programs, or the currently active bank." . + +lv2:program + a rdf:Property , + owl:ObjectProperty , + lv2:Parameter ; + rdfs:range lv2:Program ; + rdfs:label "program" ; + rdfs:comment "A program in a bank, or the currently active program." . + lv2:port a rdf:Property , owl:ObjectProperty ; @@ -312,7 +367,6 @@ lv2:minorVersion rdfs:range xsd:nonNegativeInteger ; rdfs:label "minor version" ; lv2:documentation """ -

The minor version of an LV2 Resource. This, along with lv2:microVersion, is used to distinguish between different versions of the same resource, e.g. to load only the bundle with the most recent version of a plugin. An LV2 -- cgit v1.2.1