aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/midi
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/midi')
-rw-r--r--lv2/midi/manifest.ttl9
-rw-r--r--lv2/midi/midi.h248
-rw-r--r--lv2/midi/midi.meta.ttl153
-rw-r--r--lv2/midi/midi.ttl366
4 files changed, 0 insertions, 776 deletions
diff --git a/lv2/midi/manifest.ttl b/lv2/midi/manifest.ttl
deleted file mode 100644
index f141936..0000000
--- a/lv2/midi/manifest.ttl
+++ /dev/null
@@ -1,9 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/midi>
- a lv2:Specification ;
- lv2:minorVersion 1 ;
- lv2:microVersion 10 ;
- rdfs:seeAlso <midi.ttl> .
-
diff --git a/lv2/midi/midi.h b/lv2/midi/midi.h
deleted file mode 100644
index 2c70f0c..0000000
--- a/lv2/midi/midi.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- Copyright 2012-2016 David Robillard <d@drobilla.net>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-#ifndef LV2_MIDI_H
-#define LV2_MIDI_H
-
-/**
- @defgroup midi MIDI
- @ingroup lv2
-
- Definitions of standard MIDI messages.
-
- See <http://lv2plug.in/ns/ext/midi> for details.
-
- @{
-*/
-
-#include <stdbool.h>
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// clang-format off
-
-#define LV2_MIDI_URI "http://lv2plug.in/ns/ext/midi" ///< http://lv2plug.in/ns/ext/midi
-#define LV2_MIDI_PREFIX LV2_MIDI_URI "#" ///< http://lv2plug.in/ns/ext/midi#
-
-#define LV2_MIDI__ActiveSense LV2_MIDI_PREFIX "ActiveSense" ///< http://lv2plug.in/ns/ext/midi#ActiveSense
-#define LV2_MIDI__Aftertouch LV2_MIDI_PREFIX "Aftertouch" ///< http://lv2plug.in/ns/ext/midi#Aftertouch
-#define LV2_MIDI__Bender LV2_MIDI_PREFIX "Bender" ///< http://lv2plug.in/ns/ext/midi#Bender
-#define LV2_MIDI__ChannelPressure LV2_MIDI_PREFIX "ChannelPressure" ///< http://lv2plug.in/ns/ext/midi#ChannelPressure
-#define LV2_MIDI__Chunk LV2_MIDI_PREFIX "Chunk" ///< http://lv2plug.in/ns/ext/midi#Chunk
-#define LV2_MIDI__Clock LV2_MIDI_PREFIX "Clock" ///< http://lv2plug.in/ns/ext/midi#Clock
-#define LV2_MIDI__Continue LV2_MIDI_PREFIX "Continue" ///< http://lv2plug.in/ns/ext/midi#Continue
-#define LV2_MIDI__Controller LV2_MIDI_PREFIX "Controller" ///< http://lv2plug.in/ns/ext/midi#Controller
-#define LV2_MIDI__MidiEvent LV2_MIDI_PREFIX "MidiEvent" ///< http://lv2plug.in/ns/ext/midi#MidiEvent
-#define LV2_MIDI__NoteOff LV2_MIDI_PREFIX "NoteOff" ///< http://lv2plug.in/ns/ext/midi#NoteOff
-#define LV2_MIDI__NoteOn LV2_MIDI_PREFIX "NoteOn" ///< http://lv2plug.in/ns/ext/midi#NoteOn
-#define LV2_MIDI__ProgramChange LV2_MIDI_PREFIX "ProgramChange" ///< http://lv2plug.in/ns/ext/midi#ProgramChange
-#define LV2_MIDI__QuarterFrame LV2_MIDI_PREFIX "QuarterFrame" ///< http://lv2plug.in/ns/ext/midi#QuarterFrame
-#define LV2_MIDI__Reset LV2_MIDI_PREFIX "Reset" ///< http://lv2plug.in/ns/ext/midi#Reset
-#define LV2_MIDI__SongPosition LV2_MIDI_PREFIX "SongPosition" ///< http://lv2plug.in/ns/ext/midi#SongPosition
-#define LV2_MIDI__SongSelect LV2_MIDI_PREFIX "SongSelect" ///< http://lv2plug.in/ns/ext/midi#SongSelect
-#define LV2_MIDI__Start LV2_MIDI_PREFIX "Start" ///< http://lv2plug.in/ns/ext/midi#Start
-#define LV2_MIDI__Stop LV2_MIDI_PREFIX "Stop" ///< http://lv2plug.in/ns/ext/midi#Stop
-#define LV2_MIDI__SystemCommon LV2_MIDI_PREFIX "SystemCommon" ///< http://lv2plug.in/ns/ext/midi#SystemCommon
-#define LV2_MIDI__SystemExclusive LV2_MIDI_PREFIX "SystemExclusive" ///< http://lv2plug.in/ns/ext/midi#SystemExclusive
-#define LV2_MIDI__SystemMessage LV2_MIDI_PREFIX "SystemMessage" ///< http://lv2plug.in/ns/ext/midi#SystemMessage
-#define LV2_MIDI__SystemRealtime LV2_MIDI_PREFIX "SystemRealtime" ///< http://lv2plug.in/ns/ext/midi#SystemRealtime
-#define LV2_MIDI__Tick LV2_MIDI_PREFIX "Tick" ///< http://lv2plug.in/ns/ext/midi#Tick
-#define LV2_MIDI__TuneRequest LV2_MIDI_PREFIX "TuneRequest" ///< http://lv2plug.in/ns/ext/midi#TuneRequest
-#define LV2_MIDI__VoiceMessage LV2_MIDI_PREFIX "VoiceMessage" ///< http://lv2plug.in/ns/ext/midi#VoiceMessage
-#define LV2_MIDI__benderValue LV2_MIDI_PREFIX "benderValue" ///< http://lv2plug.in/ns/ext/midi#benderValue
-#define LV2_MIDI__binding LV2_MIDI_PREFIX "binding" ///< http://lv2plug.in/ns/ext/midi#binding
-#define LV2_MIDI__byteNumber LV2_MIDI_PREFIX "byteNumber" ///< http://lv2plug.in/ns/ext/midi#byteNumber
-#define LV2_MIDI__channel LV2_MIDI_PREFIX "channel" ///< http://lv2plug.in/ns/ext/midi#channel
-#define LV2_MIDI__chunk LV2_MIDI_PREFIX "chunk" ///< http://lv2plug.in/ns/ext/midi#chunk
-#define LV2_MIDI__controllerNumber LV2_MIDI_PREFIX "controllerNumber" ///< http://lv2plug.in/ns/ext/midi#controllerNumber
-#define LV2_MIDI__controllerValue LV2_MIDI_PREFIX "controllerValue" ///< http://lv2plug.in/ns/ext/midi#controllerValue
-#define LV2_MIDI__noteNumber LV2_MIDI_PREFIX "noteNumber" ///< http://lv2plug.in/ns/ext/midi#noteNumber
-#define LV2_MIDI__pressure LV2_MIDI_PREFIX "pressure" ///< http://lv2plug.in/ns/ext/midi#pressure
-#define LV2_MIDI__programNumber LV2_MIDI_PREFIX "programNumber" ///< http://lv2plug.in/ns/ext/midi#programNumber
-#define LV2_MIDI__property LV2_MIDI_PREFIX "property" ///< http://lv2plug.in/ns/ext/midi#property
-#define LV2_MIDI__songNumber LV2_MIDI_PREFIX "songNumber" ///< http://lv2plug.in/ns/ext/midi#songNumber
-#define LV2_MIDI__songPosition LV2_MIDI_PREFIX "songPosition" ///< http://lv2plug.in/ns/ext/midi#songPosition
-#define LV2_MIDI__status LV2_MIDI_PREFIX "status" ///< http://lv2plug.in/ns/ext/midi#status
-#define LV2_MIDI__statusMask LV2_MIDI_PREFIX "statusMask" ///< http://lv2plug.in/ns/ext/midi#statusMask
-#define LV2_MIDI__velocity LV2_MIDI_PREFIX "velocity" ///< http://lv2plug.in/ns/ext/midi#velocity
-
-// clang-format on
-
-/**
- MIDI Message Type.
-
- This includes both voice messages (which have a channel) and system messages
- (which do not), as well as a sentinel value for invalid messages. To get
- the type of a message suitable for use in a switch statement, use
- lv2_midi_get_type() on the status byte.
-*/
-typedef enum {
- LV2_MIDI_MSG_INVALID = 0, /**< Invalid Message */
- LV2_MIDI_MSG_NOTE_OFF = 0x80, /**< Note Off */
- LV2_MIDI_MSG_NOTE_ON = 0x90, /**< Note On */
- LV2_MIDI_MSG_NOTE_PRESSURE = 0xA0, /**< Note Pressure */
- LV2_MIDI_MSG_CONTROLLER = 0xB0, /**< Controller */
- LV2_MIDI_MSG_PGM_CHANGE = 0xC0, /**< Program Change */
- LV2_MIDI_MSG_CHANNEL_PRESSURE = 0xD0, /**< Channel Pressure */
- LV2_MIDI_MSG_BENDER = 0xE0, /**< Pitch Bender */
- LV2_MIDI_MSG_SYSTEM_EXCLUSIVE = 0xF0, /**< System Exclusive Begin */
- LV2_MIDI_MSG_MTC_QUARTER = 0xF1, /**< MTC Quarter Frame */
- LV2_MIDI_MSG_SONG_POS = 0xF2, /**< Song Position */
- LV2_MIDI_MSG_SONG_SELECT = 0xF3, /**< Song Select */
- LV2_MIDI_MSG_TUNE_REQUEST = 0xF6, /**< Tune Request */
- LV2_MIDI_MSG_CLOCK = 0xF8, /**< Clock */
- LV2_MIDI_MSG_START = 0xFA, /**< Start */
- LV2_MIDI_MSG_CONTINUE = 0xFB, /**< Continue */
- LV2_MIDI_MSG_STOP = 0xFC, /**< Stop */
- LV2_MIDI_MSG_ACTIVE_SENSE = 0xFE, /**< Active Sensing */
- LV2_MIDI_MSG_RESET = 0xFF /**< Reset */
-} LV2_Midi_Message_Type;
-
-/**
- Standard MIDI Controller Numbers.
-*/
-typedef enum {
- LV2_MIDI_CTL_MSB_BANK = 0x00, /**< Bank Selection */
- LV2_MIDI_CTL_MSB_MODWHEEL = 0x01, /**< Modulation */
- LV2_MIDI_CTL_MSB_BREATH = 0x02, /**< Breath */
- LV2_MIDI_CTL_MSB_FOOT = 0x04, /**< Foot */
- LV2_MIDI_CTL_MSB_PORTAMENTO_TIME = 0x05, /**< Portamento Time */
- LV2_MIDI_CTL_MSB_DATA_ENTRY = 0x06, /**< Data Entry */
- LV2_MIDI_CTL_MSB_MAIN_VOLUME = 0x07, /**< Main Volume */
- LV2_MIDI_CTL_MSB_BALANCE = 0x08, /**< Balance */
- LV2_MIDI_CTL_MSB_PAN = 0x0A, /**< Panpot */
- LV2_MIDI_CTL_MSB_EXPRESSION = 0x0B, /**< Expression */
- LV2_MIDI_CTL_MSB_EFFECT1 = 0x0C, /**< Effect1 */
- LV2_MIDI_CTL_MSB_EFFECT2 = 0x0D, /**< Effect2 */
- LV2_MIDI_CTL_MSB_GENERAL_PURPOSE1 = 0x10, /**< General Purpose 1 */
- LV2_MIDI_CTL_MSB_GENERAL_PURPOSE2 = 0x11, /**< General Purpose 2 */
- LV2_MIDI_CTL_MSB_GENERAL_PURPOSE3 = 0x12, /**< General Purpose 3 */
- LV2_MIDI_CTL_MSB_GENERAL_PURPOSE4 = 0x13, /**< General Purpose 4 */
- LV2_MIDI_CTL_LSB_BANK = 0x20, /**< Bank Selection */
- LV2_MIDI_CTL_LSB_MODWHEEL = 0x21, /**< Modulation */
- LV2_MIDI_CTL_LSB_BREATH = 0x22, /**< Breath */
- LV2_MIDI_CTL_LSB_FOOT = 0x24, /**< Foot */
- LV2_MIDI_CTL_LSB_PORTAMENTO_TIME = 0x25, /**< Portamento Time */
- LV2_MIDI_CTL_LSB_DATA_ENTRY = 0x26, /**< Data Entry */
- LV2_MIDI_CTL_LSB_MAIN_VOLUME = 0x27, /**< Main Volume */
- LV2_MIDI_CTL_LSB_BALANCE = 0x28, /**< Balance */
- LV2_MIDI_CTL_LSB_PAN = 0x2A, /**< Panpot */
- LV2_MIDI_CTL_LSB_EXPRESSION = 0x2B, /**< Expression */
- LV2_MIDI_CTL_LSB_EFFECT1 = 0x2C, /**< Effect1 */
- LV2_MIDI_CTL_LSB_EFFECT2 = 0x2D, /**< Effect2 */
- LV2_MIDI_CTL_LSB_GENERAL_PURPOSE1 = 0x30, /**< General Purpose 1 */
- LV2_MIDI_CTL_LSB_GENERAL_PURPOSE2 = 0x31, /**< General Purpose 2 */
- LV2_MIDI_CTL_LSB_GENERAL_PURPOSE3 = 0x32, /**< General Purpose 3 */
- LV2_MIDI_CTL_LSB_GENERAL_PURPOSE4 = 0x33, /**< General Purpose 4 */
- LV2_MIDI_CTL_SUSTAIN = 0x40, /**< Sustain Pedal */
- LV2_MIDI_CTL_PORTAMENTO = 0x41, /**< Portamento */
- LV2_MIDI_CTL_SOSTENUTO = 0x42, /**< Sostenuto */
- LV2_MIDI_CTL_SOFT_PEDAL = 0x43, /**< Soft Pedal */
- LV2_MIDI_CTL_LEGATO_FOOTSWITCH = 0x44, /**< Legato Foot Switch */
- LV2_MIDI_CTL_HOLD2 = 0x45, /**< Hold2 */
- LV2_MIDI_CTL_SC1_SOUND_VARIATION = 0x46, /**< SC1 Sound Variation */
- LV2_MIDI_CTL_SC2_TIMBRE = 0x47, /**< SC2 Timbre */
- LV2_MIDI_CTL_SC3_RELEASE_TIME = 0x48, /**< SC3 Release Time */
- LV2_MIDI_CTL_SC4_ATTACK_TIME = 0x49, /**< SC4 Attack Time */
- LV2_MIDI_CTL_SC5_BRIGHTNESS = 0x4A, /**< SC5 Brightness */
- LV2_MIDI_CTL_SC6 = 0x4B, /**< SC6 */
- LV2_MIDI_CTL_SC7 = 0x4C, /**< SC7 */
- LV2_MIDI_CTL_SC8 = 0x4D, /**< SC8 */
- LV2_MIDI_CTL_SC9 = 0x4E, /**< SC9 */
- LV2_MIDI_CTL_SC10 = 0x4F, /**< SC10 */
- LV2_MIDI_CTL_GENERAL_PURPOSE5 = 0x50, /**< General Purpose 5 */
- LV2_MIDI_CTL_GENERAL_PURPOSE6 = 0x51, /**< General Purpose 6 */
- LV2_MIDI_CTL_GENERAL_PURPOSE7 = 0x52, /**< General Purpose 7 */
- LV2_MIDI_CTL_GENERAL_PURPOSE8 = 0x53, /**< General Purpose 8 */
- LV2_MIDI_CTL_PORTAMENTO_CONTROL = 0x54, /**< Portamento Control */
- LV2_MIDI_CTL_E1_REVERB_DEPTH = 0x5B, /**< E1 Reverb Depth */
- LV2_MIDI_CTL_E2_TREMOLO_DEPTH = 0x5C, /**< E2 Tremolo Depth */
- LV2_MIDI_CTL_E3_CHORUS_DEPTH = 0x5D, /**< E3 Chorus Depth */
- LV2_MIDI_CTL_E4_DETUNE_DEPTH = 0x5E, /**< E4 Detune Depth */
- LV2_MIDI_CTL_E5_PHASER_DEPTH = 0x5F, /**< E5 Phaser Depth */
- LV2_MIDI_CTL_DATA_INCREMENT = 0x60, /**< Data Increment */
- LV2_MIDI_CTL_DATA_DECREMENT = 0x61, /**< Data Decrement */
- LV2_MIDI_CTL_NRPN_LSB = 0x62, /**< Non-registered Parameter Number */
- LV2_MIDI_CTL_NRPN_MSB = 0x63, /**< Non-registered Parameter Number */
- LV2_MIDI_CTL_RPN_LSB = 0x64, /**< Registered Parameter Number */
- LV2_MIDI_CTL_RPN_MSB = 0x65, /**< Registered Parameter Number */
- LV2_MIDI_CTL_ALL_SOUNDS_OFF = 0x78, /**< All Sounds Off */
- LV2_MIDI_CTL_RESET_CONTROLLERS = 0x79, /**< Reset Controllers */
- LV2_MIDI_CTL_LOCAL_CONTROL_SWITCH = 0x7A, /**< Local Control Switch */
- LV2_MIDI_CTL_ALL_NOTES_OFF = 0x7B, /**< All Notes Off */
- LV2_MIDI_CTL_OMNI_OFF = 0x7C, /**< Omni Off */
- LV2_MIDI_CTL_OMNI_ON = 0x7D, /**< Omni On */
- LV2_MIDI_CTL_MONO1 = 0x7E, /**< Mono1 */
- LV2_MIDI_CTL_MONO2 = 0x7F /**< Mono2 */
-} LV2_Midi_Controller;
-
-/**
- Return true iff `msg` is a MIDI voice message (which has a channel).
-*/
-static inline bool
-lv2_midi_is_voice_message(const uint8_t* msg)
-{
- return msg[0] >= 0x80 && msg[0] < 0xF0;
-}
-
-/**
- Return true iff `msg` is a MIDI system message (which has no channel).
-*/
-static inline bool
-lv2_midi_is_system_message(const uint8_t* msg)
-{
- switch (msg[0]) {
- case 0xF4:
- case 0xF5:
- case 0xF7:
- case 0xF9:
- case 0xFD:
- return false;
- default:
- return (msg[0] & 0xF0) == 0xF0;
- }
-}
-
-/**
- Return the type of a MIDI message.
- @param msg Pointer to the start (status byte) of a MIDI message.
-*/
-static inline LV2_Midi_Message_Type
-lv2_midi_message_type(const uint8_t* msg)
-{
- if (lv2_midi_is_voice_message(msg)) {
- return (LV2_Midi_Message_Type)(msg[0] & 0xF0);
- }
-
- if (lv2_midi_is_system_message(msg)) {
- return (LV2_Midi_Message_Type)msg[0];
- }
-
- return LV2_MIDI_MSG_INVALID;
-}
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-/**
- @}
-*/
-
-#endif /* LV2_MIDI_H */
diff --git a/lv2/midi/midi.meta.ttl b/lv2/midi/midi.meta.ttl
deleted file mode 100644
index 7efdb01..0000000
--- a/lv2/midi/midi.meta.ttl
+++ /dev/null
@@ -1,153 +0,0 @@
-@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#> .
-
-<http://lv2plug.in/ns/ext/midi>
- a doap:Project ;
- doap:license <http://opensource.org/licenses/isc> ;
- doap:name "LV2 MIDI" ;
- doap:shortdesc "A normalised definition of raw MIDI." ;
- doap:maintainer <http://drobilla.net/drobilla#me> ;
- doap:created "2006-00-00" ;
- doap:developer <http://lv2plug.in/ns/meta#larsl> ,
- <http://drobilla.net/drobilla#me> ;
- doap:release [
- doap:revision "1.10" ;
- doap:created "2019-02-03" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.16.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix incorrect range of midi:chunk."
- ]
- ]
- ] , [
- doap:revision "1.8" ;
- doap:created "2012-10-14" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Use consistent label style."
- ] , [
- rdfs:label "Add midi:binding and midi:channel predicates."
- ] , [
- rdfs:label "Add midi:HexByte datatype for status bytes and masks."
- ] , [
- rdfs:label "Remove non-standard midi:Tick message type."
- ] , [
- rdfs:label "Add C definitions for message types and standard controllers."
- ] , [
- rdfs:label "Fix definition of SystemExclusive status byte."
- ]
- ]
- ] , [
- doap:revision "1.6" ;
- doap:created "2012-04-17" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.0.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add class definitions for various message types."
- ] , [
- rdfs:label "Document how to serialise a MidiEvent to a string."
- ] , [
- rdfs:label "Merge with unified LV2 package."
- ]
- ]
- ] , [
- doap:revision "1.4" ;
- doap:created "2011-11-21" ;
- doap:file-release <http://lv2plug.in/spec/lv2-midi-1.4.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Update packaging."
- ] , [
- rdfs:label "Improve documentation."
- ]
- ]
- ] , [
- doap:revision "1.2" ;
- doap:created "2011-05-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-midi-1.2.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add build system for installation."
- ] , [
- rdfs:label "Switch to ISC license."
- ]
- ]
- ] , [
- doap:revision "1.0" ;
- doap:created "2010-10-04" ;
- doap:file-release <http://lv2plug.in/spec/lv2-midi-1.0.tar.gz> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- 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
-[Event](event.html#Event).
-
-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 .
-
-midi:MidiEvent
- 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 .
-
-midi:statusMask
- lv2:documentation """
-
-This is a status byte with the lower nibble set to zero.
-
-"""^^lv2:Markdown .
-
diff --git a/lv2/midi/midi.ttl b/lv2/midi/midi.ttl
deleted file mode 100644
index 81f3495..0000000
--- a/lv2/midi/midi.ttl
+++ /dev/null
@@ -1,366 +0,0 @@
-@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
-@prefix ev: <http://lv2plug.in/ns/ext/event#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-<http://lv2plug.in/ns/ext/midi>
- a owl:Ontology ;
- rdfs:label "LV2 MIDI" ;
- rdfs:comment "A normalised definition of raw MIDI." ;
- rdfs:seeAlso <midi.h> ,
- <midi.meta.ttl> .
-
-midi:ActiveSense
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemRealtime ;
- rdfs:label "Active Sense" ;
- rdfs:comment "MIDI active sense message." ;
- midi:status "FE"^^xsd:hexBinary .
-
-midi:Aftertouch
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Aftertouch" ;
- rdfs:comment "MIDI aftertouch message." ;
- midi:statusMask "A0"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ;
- midi:property midi:noteNumber
- ] , [
- midi:byteNumber 1 ;
- midi:property midi:pressure
- ] .
-
-midi:Bender
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Bender" ;
- rdfs:comment "MIDI bender message." ;
- midi:statusMask "E0"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ,
- 1 ;
- midi:property midi:benderValue
- ] .
-
-midi:ChannelPressure
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Channel Pressure" ;
- rdfs:comment "MIDI channel pressure message." ;
- midi:statusMask "D0"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ;
- midi:property midi:pressure
- ] .
-
-midi:Chunk
- a rdfs:Class ;
- rdfs:label "Chunk" ;
- rdfs:comment "A sequence of contiguous bytes in a MIDI message." .
-
-midi:Clock
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemRealtime ;
- rdfs:label "Clock" ;
- rdfs:comment "MIDI clock message." ;
- midi:status "F8"^^xsd:hexBinary .
-
-midi:Continue
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemRealtime ;
- rdfs:label "Continue" ;
- rdfs:comment "MIDI continue message." ;
- midi:status "FB"^^xsd:hexBinary .
-
-midi:Controller
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Controller" ;
- rdfs:comment "MIDI controller change message." ;
- midi:statusMask "B0"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ;
- midi:property midi:controllerNumber
- ] , [
- midi:byteNumber 1 ;
- midi:property midi:controllerValue
- ] .
-
-midi:HexByte
- a rdfs:Datatype ;
- owl:onDatatype xsd:hexBinary ;
- owl:withRestrictions (
- [
- xsd:maxInclusive "FF"
- ]
- ) ;
- rdfs:label "Hex Byte" ;
- rdfs:comment "A hexadecimal byte, which has a value <= FF." .
-
-midi:MidiEvent
- a rdfs:Class ,
- rdfs:Datatype ;
- rdfs:subClassOf ev:Event ,
- atom:Atom ;
- owl:onDatatype xsd:hexBinary ;
- rdfs:label "MIDI Message" ;
- rdfs:comment "A single raw MIDI message." .
-
-midi:NoteOff
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Note Off" ;
- rdfs:comment "MIDI note off message." ;
- midi:statusMask "80"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ;
- midi:property midi:noteNumber
- ] , [
- midi:byteNumber 1 ;
- midi:property midi:velocity
- ] .
-
-midi:NoteOn
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Note On" ;
- rdfs:comment "MIDI note on message." ;
- midi:statusMask "90"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ;
- midi:property midi:noteNumber
- ] , [
- midi:byteNumber 1 ;
- midi:property midi:velocity
- ] .
-
-midi:ProgramChange
- a rdfs:Class ;
- rdfs:subClassOf midi:VoiceMessage ;
- rdfs:label "Program Change" ;
- rdfs:comment "MIDI program change message." ;
- midi:statusMask "C0"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ;
- midi:property midi:programNumber
- ] .
-
-midi:QuarterFrame
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemCommon ;
- rdfs:label "Quarter Frame" ;
- rdfs:comment "MIDI quarter frame message." ;
- midi:status "F1"^^xsd:hexBinary .
-
-midi:Reset
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemRealtime ;
- rdfs:label "Reset" ;
- rdfs:comment "MIDI reset message." ;
- midi:status "FF"^^xsd:hexBinary .
-
-midi:SongPosition
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemCommon ;
- rdfs:label "Song Position" ;
- rdfs:comment "MIDI song position pointer message." ;
- midi:status "F2"^^xsd:hexBinary ;
- midi:chunk [
- midi:byteNumber 0 ,
- 1 ;
- midi:property midi:songPosition
- ] .
-
-midi:SongSelect
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemCommon ;
- rdfs:label "Song Select" ;
- rdfs:comment "MIDI song select message." ;
- midi:status "F3"^^xsd:hexBinary .
-
-midi:Start
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemRealtime ;
- rdfs:label "Start" ;
- rdfs:comment "MIDI start message." ;
- midi:status "FA"^^xsd:hexBinary .
-
-midi:Stop
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemRealtime ;
- rdfs:label "Stop" ;
- rdfs:comment "MIDI stop message." ;
- midi:status "FC"^^xsd:hexBinary .
-
-midi:SystemCommon
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemMessage ;
- rdfs:label "System Common" ;
- rdfs:comment "MIDI system common message." .
-
-midi:SystemExclusive
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemMessage ;
- rdfs:label "System Exclusive" ;
- rdfs:comment "MIDI system exclusive message." ;
- midi:status "F0"^^xsd:hexBinary .
-
-midi:SystemMessage
- a rdfs:Class ;
- rdfs:subClassOf midi:MidiEvent ;
- rdfs:label "System Message" ;
- rdfs:comment "MIDI system message." ;
- midi:statusMask "F0"^^xsd:hexBinary .
-
-midi:SystemRealtime
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemMessage ;
- rdfs:label "System Realtime" ;
- rdfs:comment "MIDI system realtime message." .
-
-midi:TuneRequest
- a rdfs:Class ;
- rdfs:subClassOf midi:SystemCommon ;
- rdfs:label "Tune Request" ;
- rdfs:comment "MIDI tune request message." ;
- midi:status "F6"^^xsd:hexBinary .
-
-midi:VoiceMessage
- a rdfs:Class ;
- rdfs:subClassOf midi:MidiEvent ;
- rdfs:label "Voice Message" ;
- rdfs:comment "MIDI voice message." ;
- midi:statusMask "F0"^^xsd:hexBinary .
-
-midi:benderValue
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "bender value" ;
- rdfs:range xsd:short ;
- rdfs:comment "MIDI pitch bender message (-8192 to 8192)." .
-
-midi:binding
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range midi:MidiEvent ;
- rdfs:label "binding" ;
- rdfs:comment "The MIDI event to bind a parameter to." .
-
-midi:byteNumber
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:label "byte number" ;
- rdfs:domain midi:Chunk ;
- rdfs:range xsd:unsignedByte ;
- rdfs:comment "The 0-based index of a byte which is part of this chunk." .
-
-midi:channel
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "MIDI channel" ;
- rdfs:range xsd:unsignedByte ;
- rdfs:comment "The channel number of a MIDI message." .
-
-midi:chunk
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range midi:Chunk ;
- rdfs:label "MIDI chunk" ;
- rdfs:comment "A chunk of a MIDI message." .
-
-midi:controllerNumber
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "MIDI controller number" ;
- rdfs:range xsd:byte ;
- rdfs:comment "The numeric ID of a controller (0 to 127)." .
-
-midi:controllerValue
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "MIDI controller value" ;
- rdfs:range xsd:byte ;
- rdfs:comment "The value of a controller (0 to 127)." .
-
-midi:noteNumber
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "note number" ;
- rdfs:range xsd:byte ;
- rdfs:comment "The numeric ID of a note (0 to 127)." .
-
-midi:pressure
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "key pressure" ;
- rdfs:range xsd:byte ;
- rdfs:comment "Key pressure (0 to 127)." .
-
-midi:programNumber
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "program number" ;
- rdfs:range xsd:byte ;
- rdfs:comment "The numeric ID of a program (0 to 127)." .
-
-midi:property
- a rdf:Property ,
- owl:ObjectProperty ,
- owl:FunctionalProperty ;
- rdfs:label "property" ;
- rdfs:domain midi:Chunk ;
- rdfs:range rdf:Property ;
- rdfs:comment "The property this chunk represents." .
-
-midi:songNumber
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "song number" ;
- rdfs:range xsd:byte ;
- rdfs:comment "The numeric ID of a song (0 to 127)." .
-
-midi:songPosition
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "song position" ;
- rdfs:range xsd:short ;
- rdfs:comment "Song position in MIDI beats (16th notes) (-8192 to 8192)." .
-
-midi:status
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "status byte" ;
- rdfs:range midi:HexByte ;
- rdfs:comment "The exact status byte for a message of this type." .
-
-midi:statusMask
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "status mask" ;
- rdfs:range midi:HexByte ;
- rdfs:comment "The status byte for a message of this type on channel 1." .
-
-midi:velocity
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "velocity" ;
- rdfs:range midi:HexByte ;
- rdfs:comment "The velocity of a note message (0 to 127)." .
-