path: root/lv2/midi/midi.meta.ttl
diff options
authorDavid Robillard <d@drobilla.net>2020-03-22 16:36:44 +0100
committerDavid Robillard <d@drobilla.net>2020-04-10 19:46:04 +0200
commit430284545345539c9ffb31df889debac1d3888b5 (patch)
treedc9bb1f32f0d6fe34a7339221389048e199f14a5 /lv2/midi/midi.meta.ttl
parentc4514483da1ab4f49148f9c4fe4ff5b559323217 (diff)
Move documentation to metadata files and convert it to Markdown
Diffstat (limited to 'lv2/midi/midi.meta.ttl')
1 files changed, 60 insertions, 1 deletions
diff --git a/lv2/midi/midi.meta.ttl b/lv2/midi/midi.meta.ttl
index 24b2a04..7efdb01 100644
--- a/lv2/midi/midi.meta.ttl
+++ b/lv2/midi/midi.meta.ttl
@@ -1,6 +1,8 @@
@prefix dcs: <http://ontologi.es/doap-changeset#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@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#> .
@@ -90,5 +92,62 @@
rdfs:label "Initial release."
- ] .
+ ] ;
+ lv2:documentation """
+This specification defines a data type for a MIDI message, midi:MidiEvent,
+which is normalised for fast and convenient real-time processing. MIDI is the
+<q>Musical Instrument Digital Interface</q>, a ubiquitous binary standard for
+controlling digital music devices.
+For plugins that process MIDI (or other situations where MIDI is sent via a
+generic transport) the main type defined here, midi:MidiEvent, can be mapped to
+an integer and used as the type of an LV2 [Atom](atom.html#Atom) or
+This specification also defines a complete vocabulary for the MIDI standard,
+except for standard controller numbers. These descriptions are detailed enough
+to express any MIDI message as properties.
+"""^^lv2:Markdown .
+ lv2:documentation """
+A single raw MIDI message (a sequence of bytes).
+This is equivalent to a standard MIDI messages, except with the following
+restrictions to simplify handling:
+ * Running status is not allowed, every message must have its own status byte.
+ * 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.
+ * "Realtime messages" (status bytes 0xF8 to 0xFF) are allowed, but may not
+ occur inside other messages like they can in standard MIDI streams.
+ * 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.
+If a midi:MidiEvent is serialised to a string, the format should be
+xsd:hexBinary, for example:
+ :::turtle
+ [] eg:someEvent "901A01"^^midi:MidiEvent .
+"""^^lv2:Markdown .
+ lv2:documentation """
+This is a status byte with the lower nibble set to zero.
+"""^^lv2:Markdown .