diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/eg02-midigate.lv2/midigate.c | 6 | ||||
-rw-r--r-- | plugins/eg02-midigate.lv2/midigate.ttl | 24 |
2 files changed, 5 insertions, 25 deletions
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 |