From bc8f4e16826abcc9a22466a151e1c4d8daf1a365 Mon Sep 17 00:00:00 2001
From: David Robillard <d@drobilla.net>
Date: Mon, 18 Feb 2013 00:12:59 +0000
Subject: Remove lv2:Program and all related things.

---
 plugins/eg02-midigate.lv2/midigate.c   |  6 +++++-
 plugins/eg02-midigate.lv2/midigate.ttl | 24 ------------------------
 2 files changed, 5 insertions(+), 25 deletions(-)

(limited to 'plugins')

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
-- 
cgit v1.2.1