LV2 MIDI Events

URI:
http://lv2plug.in/ns/ext/midi
Revision:
1 (2008-08-11)
Maintainer(s):
Dave Robillard
Lars Luthman
Namespaces:
doaphttp://usefulinc.com/ns/doap#
lv2http://lv2plug.in/ns/lv2core#
lv2evhttp://lv2plug.in/ns/ext/events#
midihttp://lv2plug.in/ns/ext/midi#
rdfshttp://www.w3.org/2000/01/rdf-schema#

About this Document

This document describes "LV2 MIDI Events" (http://lv2plug.in/ns/ext/midi), an LV2 related specification. Comments are welcome, please direct discussion to devel@lists.lv2plug.in.

See also:

Contents

  1. Description
  2. Index
  3. Documentation
  4. References

1. Description

Defines an LV2 event type for standard raw MIDI

2. Index

Classes
MidiEvent,

3. Reference

Class midi:MidiEvent

LV2 MIDI event
A single raw (sequence of bytes) MIDI event. These events are equivalent to standard MIDI events, with the following restrictions to ease the burden on plugin authors:
  • Running status is not allowed. Every event must have its own status byte.
  • 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.
  • "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.
  • 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.
  • 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.
Sub-class of
http://lv2plug.in/ns/ext/events#Event

4. References

IETF RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels . Internet Engineering Task Force, 1997.


Automatically generated from midi.ttl by lv2specgen at 2009-11-12 01:12 UTC

This document is content-negotiated. If you request it with Accept: application/x-turtle you will get the description in Turtle. Also supported: application/rdf+xml, application/json, text/plain