diff options
-rw-r--r-- | lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl | 6 | ||||
-rw-r--r-- | lv2/lv2plug.in/ns/lv2core/lv2core.ttl | 55 | ||||
-rw-r--r-- | lv2/lv2plug.in/ns/lv2core/manifest.ttl | 2 | ||||
-rw-r--r-- | plugins/eg02-midigate.lv2/midigate.c | 6 | ||||
-rw-r--r-- | plugins/eg02-midigate.lv2/midigate.ttl | 24 | ||||
-rw-r--r-- | wscript | 2 |
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 @@ -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 = '.' |