LV2 MIDI Events
- URI:
- http://lv2plug.in/ns/ext/midi
- Revision:
- 1 (2008-08-11)
- Maintainer(s):
Dave Robillard
Lars Luthman
- Namespaces:
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
- Description
- Index
- Documentation
- References
1. Description
Defines an LV2 event type for standard raw MIDI
2. Index
- Classes
- MidiEvent,
3. Reference
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.
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