aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-02-18 00:12:59 +0000
committerDavid Robillard <d@drobilla.net>2013-02-18 00:12:59 +0000
commitbc8f4e16826abcc9a22466a151e1c4d8daf1a365 (patch)
tree649918e5ac0e3e3f4c4d3c07105e145861790bcd
parentfb9e90572dabd73d42435e8b001e57ac891acdf8 (diff)
downloadlv2-bc8f4e16826abcc9a22466a151e1c4d8daf1a365.tar.xz
Remove lv2:Program and all related things.
-rw-r--r--lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl6
-rw-r--r--lv2/lv2plug.in/ns/lv2core/lv2core.ttl55
-rw-r--r--lv2/lv2plug.in/ns/lv2core/manifest.ttl2
-rw-r--r--plugins/eg02-midigate.lv2/midigate.c6
-rw-r--r--plugins/eg02-midigate.lv2/midigate.ttl24
-rw-r--r--wscript2
6 files changed, 9 insertions, 86 deletions
diff --git a/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl b/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl
index b4eb5c3..9e3e256 100644
--- a/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl
+++ b/lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl
@@ -16,14 +16,12 @@
<http://drobilla.net/drobilla#me> ;
doap:maintainer <http://drobilla.net/drobilla#me> ;
doap:release [
- doap:revision "9.2" ;
- doap:created "2013-02-09" ;
+ doap:revision "9.3" ;
+ doap:created "2013-02-17" ;
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 be968f4..dba01ca 100644
--- a/lv2/lv2plug.in/ns/lv2core/lv2core.ttl
+++ b/lv2/lv2plug.in/ns/lv2core/lv2core.ttl
@@ -122,19 +122,6 @@ 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 ;
@@ -232,31 +219,6 @@ 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 ;
@@ -315,23 +277,6 @@ 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 ;
diff --git a/lv2/lv2plug.in/ns/lv2core/manifest.ttl b/lv2/lv2plug.in/ns/lv2core/manifest.ttl
index af55481..b4d3f41 100644
--- a/lv2/lv2plug.in/ns/lv2core/manifest.ttl
+++ b/lv2/lv2plug.in/ns/lv2core/manifest.ttl
@@ -5,5 +5,5 @@
<http://lv2plug.in/ns/lv2core>
a lv2:Specification ;
lv2:minorVersion 9 ;
- lv2:microVersion 1 ;
+ lv2:microVersion 3 ;
rdfs:seeAlso <lv2core.ttl> .
diff --git a/plugins/eg02-midigate.lv2/midigate.c b/plugins/eg02-midigate.lv2/midigate.c
index 3b74bfc..3ed6fbf 100644
--- a/plugins/eg02-midigate.lv2/midigate.c
+++ b/plugins/eg02-midigate.lv2/midigate.c
@@ -47,7 +47,7 @@ typedef struct {
} uris;
unsigned n_active_notes;
- unsigned program;
+ unsigned program; // 0 = normal, 1 = inverted
} Midigate;
static LV2_Handle
@@ -136,6 +136,10 @@ write_output(Midigate* self, uint32_t offset, uint32_t len)
+offset+ is updated and the next event is processed. After the loop the
final chunk from the last event to the end of the cycle is emitted.
+ There is currently no standard way to describe MIDI programs in LV2, so the
+ host has no way of knowing that these programs exist and should be presented
+ to the user. A future version of LV2 will address this shortcoming.
+
This pattern of iterating over input events and writing output along the way
is a common idiom for writing sample accurate output based on event input.
diff --git a/plugins/eg02-midigate.lv2/midigate.ttl b/plugins/eg02-midigate.lv2/midigate.ttl
index 59ac815..e14a329 100644
--- a/plugins/eg02-midigate.lv2/midigate.ttl
+++ b/plugins/eg02-midigate.lv2/midigate.ttl
@@ -15,30 +15,6 @@
lv2:project <http://lv2plug.in/ns/lv2> ;
lv2:requiredFeature urid:map ;
lv2:optionalFeature lv2:hardRTCapable ;
-# Describe program banks so the host can automate and/or present a user
-# interface. Describing supported programs (or any other MIDI event) is not
-# required, but is a good idea since it allows hosts to make better use of
-# plugins. This plugin has a single bank of two programs, which have a
-# (mandatory) label, and an (optional) comment to describe their meaning in
-# more detail.
-#
-# Both programs and the bank have an index, which corresponds to the MIDI bank
-# and program numbers that will activate them. Since there are other ways to
-# change programs (not used here), an index is not strictly required, but must
-# be present to support program changes from MIDI.
- lv2:bank [
- rdfs:label "Default" ;
- lv2:index 0 ;
- lv2:program [
- lv2:index 0 ;
- rdfs:label "Normal" ;
- rdfs:comment "Input is passed through if notes are active."
- ] , [
- lv2:index 1 ;
- rdfs:label "Inverted" ;
- rdfs:comment "Input is passed through if no notes are active."
- ]
- ] ;
# This plugin has three ports. There is an audio input and output as before,
# as well as a new AtomPort. An AtomPort buffer contains an Atom, which is a
# generic container for any type of data. In this case, we want to receive
diff --git a/wscript b/wscript
index 3d960e4..4825233 100644
--- a/wscript
+++ b/wscript
@@ -14,7 +14,7 @@ import waflib.Scripting as Scripting
# Variables for 'waf dist'
APPNAME = 'lv2'
-VERSION = '1.3.2'
+VERSION = '1.3.3'
# Mandatory variables
top = '.'