aboutsummaryrefslogtreecommitdiffstats
path: root/lv2
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-02-10 03:21:20 +0000
committerDavid Robillard <d@drobilla.net>2013-02-10 03:21:20 +0000
commit2deb34ec442772f5f68c1818a290748ac5a1ed36 (patch)
tree0e377eb79f909b83c3c69692328df642b86201c5 /lv2
parent401d1e9591633dc5c47ccb8e341b63a423c0ee76 (diff)
downloadlv2-2deb34ec442772f5f68c1818a290748ac5a1ed36.tar.xz
Add lv2:Bank, lv2:Program, and lv2:program for describing programs, including but not limited to MIDI programs.
Diffstat (limited to 'lv2')
-rw-r--r--lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl6
-rw-r--r--lv2/lv2plug.in/ns/lv2core/lv2core.ttl56
2 files changed, 59 insertions, 3 deletions
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,12 +16,14 @@
<http://drobilla.net/drobilla#me> ;
doap:maintainer <http://drobilla.net/drobilla#me> ;
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."
] , [
rdfs:label "Set range of lv2:designation to lv2:Designation."
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.</p>
""" .
+lv2:Bank
+ a rdfs:Class ,
+ owl:Class ;
+ rdfs:label "Bank" ;
+ lv2:documentation """
+<p>A bank of programs. See lv2:Program for details.</p>
+
+<p>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].</p>
+""" .
+
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).</p>
""" .
+lv2:Program
+ a rdfs:Class ,
+ owl:Class ;
+ rdfs:label "Program" ;
+ lv2:documentation """
+<p>A plugin configuration or mode. This can describe MIDI programs, but is
+more general. Implementations MAY support changing programs by any
+mechanism.</p>
+
+<p>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].</p>
+
+<p>Note that a program is an internal plugin mode, not necessarily a complete
+snapshot of plugin state (which is a <q>preset</q>). 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.</p>
+""" .
+
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.</p>
""" .
+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 """
-
<p>The minor version of an LV2 Resource. This, along with lv2:microVersion, is
used to distinguish between different versions of the <q>same</q> resource,
e.g. to load only the bundle with the most recent version of a plugin. An LV2