From bc8f4e16826abcc9a22466a151e1c4d8daf1a365 Mon Sep 17 00:00:00 2001
From: David Robillard
Date: Mon, 18 Feb 2013 00:12:59 +0000
Subject: Remove lv2:Program and all related things.
---
lv2/lv2plug.in/ns/lv2core/lv2core.doap.ttl | 6 ++--
lv2/lv2plug.in/ns/lv2core/lv2core.ttl | 55 ------------------------------
lv2/lv2plug.in/ns/lv2core/manifest.ttl | 2 +-
plugins/eg02-midigate.lv2/midigate.c | 6 +++-
plugins/eg02-midigate.lv2/midigate.ttl | 24 -------------
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,13 +16,11 @@
;
doap:maintainer ;
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."
] , [
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.
""" .
-lv2:Bank
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Bank" ;
- lv2:documentation """
-A bank of programs. See lv2:Program for details.
-
-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].
-""" .
-
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).
""" .
-lv2:Program
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Program" ;
- lv2:documentation """
-A plugin configuration or mode. This can describe MIDI programs, but is
-more general. Implementations MAY support changing programs by any
-mechanism.
-
-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].
-
-Note that a program is an internal plugin mode, not necessarily a complete
-snapshot of plugin state (which is a preset
). 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.
-""" .
-
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.
""" .
-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 @@
a lv2:Specification ;
lv2:minorVersion 9 ;
- lv2:microVersion 1 ;
+ lv2:microVersion 3 ;
rdfs:seeAlso .
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 ;
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 = '.'
--
cgit v1.2.1