aboutsummaryrefslogtreecommitdiffstats
path: root/ext/midi.lv2/midi.ttl
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-11-05 00:34:05 +0000
committerDavid Robillard <d@drobilla.net>2011-11-05 00:34:05 +0000
commitf143549d7958495320c107e5682f54b021a482df (patch)
treeb09f345d8ce0e73108a18fce7ff28ca6076e23e7 /ext/midi.lv2/midi.ttl
parent063f67b9922d5826d0dbf4ba40feff516f947fcd (diff)
downloadlv2-f143549d7958495320c107e5682f54b021a482df.tar.xz
Update wording of MIDI extension to be more correct and generic (Event, Atom, etc.)
Diffstat (limited to 'ext/midi.lv2/midi.ttl')
-rw-r--r--ext/midi.lv2/midi.ttl86
1 files changed, 44 insertions, 42 deletions
diff --git a/ext/midi.lv2/midi.ttl b/ext/midi.lv2/midi.ttl
index 9621aa8..c63b8c2 100644
--- a/ext/midi.lv2/midi.ttl
+++ b/ext/midi.lv2/midi.ttl
@@ -14,65 +14,67 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix lv2ev: <http://lv2plug.in/ns/ext/event#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@prefix ev: <http://lv2plug.in/ns/ext/event#> .
+@prefix foaf: <http://xmlns.com/foaf/0.1/> .
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<http://lv2plug.in/ns/ext/midi>
a lv2:Specification ;
doap:license <http://opensource.org/licenses/isc-license> ;
- doap:name "LV2 MIDI Events" ;
- doap:shortdesc "A data type for raw MIDI." ;
- doap:release [
- doap:revision "1.2" ;
- doap:created "2011-05-21"
- ] ;
+ doap:name "LV2 MIDI" ;
+ doap:shortdesc "A data type for raw MIDI." ;
+ doap:release [
+ doap:revision "1.3" ;
+ doap:created "2011-11-04"
+ ] ;
doap:maintainer [
a foaf:Person ;
foaf:name "David Robillard" ;
foaf:homepage <http://drobilla.net/> ;
rdfs:seeAlso <http://drobilla.net/drobilla.xrdf>
- ] , [
+ ] ;
+ doap:developer [
a foaf:Person ;
foaf:name "Lars Luthman" ;
- ] .
+ foaf:mbox <mailto:lars.luthman@gmail.com>
+ ] ;
+ lv2:documentation """
+This extension defines a data type for a MIDI message (<a
+href="#MidiEvent">MidiEvent</a>), which is normalized for fast and convenient
+processing by plugins. It is particularly useful as the payload of an <a
+href="http://lv2plug.in/ns/ext/atom#Atom">Atom</a> or <a
+href="http://lv2plug.in/ns/ext/event#Event">Event</a>.
+""" .
-midi:MidiEvent a rdfs:Class ;
- rdfs:label "LV2 MIDI event" ;
- rdfs:subClassOf lv2ev:Event ;
+midi:MidiEvent
+ a rdfs:Class ;
+ rdfs:label "LV2 MIDI message." ;
+ rdfs:subClassOf ev:Event ,
+ atom:Atom ;
lv2:documentation """
-<p>A single raw (sequence of bytes) MIDI event.</p>
+<p>A single raw MIDI message (i.e. a sequence of bytes).</p>
-<p>These events are equivalent to standard MIDI events, with the following
-restrictions to ease the burden on plugin authors:</p>
+<p>These is equivalent to a standard MIDI messages, except with the following
+restrictions to simplify handling:</p>
<ul>
- <li>Running status is not allowed. Every event must have its own status
- byte.</li>
-
- <li>Note On events with velocity 0 are not allowed. These events are
- equivalent to Note Off in standard MIDI streams, but in order to make
- plugins and hosts easier to write, as well as more efficient, only proper
- Note Off events are allowed as Note Off.</li>
+ <li>Running status is not allowed, every message must have its own status
+ byte.</li>
- <li>"Realtime events" (status bytes 0xF8 to 0xFF) are allowed, but may
- not occur inside other events like they are allowed to in hardware MIDI
- streams.</li>
+ <li>Note On messages with velocity 0 are not allowed. These messages are
+ equivalent to Note Off in standard MIDI streams, but here only proper Note
+ Off messages are allowed.</li>
- <li>All events must be fully contained in a single data buffer, i.e. events
- may not "wrap around" by storing the first few bytes in one buffer and
- then wait for the next run() call to store the rest of the event. If
- there isn't enough space in the current data buffer to store an event,
- the event will either have to wait until next run() call, be ignored,
- or compensated for in some more clever way.</li>
+ <li>"Realtime messages" (status bytes 0xF8 to 0xFF) are allowed, but may
+ not occur inside other messages like they can in standard MIDI streams.</li>
- <li>All events must be valid MIDI events. This means for example that
- only the first byte in each event (the status byte) may have the eighth
- bit set, that Note On and Note Off events are always 3 bytes long etc.
- The MIDI writer (host or plugin) is responsible for writing valid MIDI
- events to the buffer, and the MIDI reader (plugin or host) can assume that
- all events are valid.</li>
+ <li>All messages are complete valid MIDI messages. This means, for example,
+ that only the first byte in each event (the status byte) may have the eighth
+ bit set, that Note On and Note Off events are always 3 bytes long, etc.
+ Where messages are communicated, the writer is responsible for writing valid
+ messages, and the reader may assume that all events are valid.</li>
</ul>
""" .