a MIDI 1.0 byte stream into its messages, the state between two bytes: write(const uint8_t* bytes, uint8_t size) takes each as it completes - a channel voice or system common message whole, its status resolved by running status, a real time byte alone wherever it falls, a system exclusive in pieces of up to three bytes with its F0 and F7 among them, which a status byte other than real time ends with an F7; a data byte without status and an F7 outside a system exclusive are dropped. A byte completes two pieces at most.
More...
#include <dx_midi.h>
a MIDI 1.0 byte stream into its messages, the state between two bytes: write(const uint8_t* bytes, uint8_t size) takes each as it completes - a channel voice or system common message whole, its status resolved by running status, a real time byte alone wherever it falls, a system exclusive in pieces of up to three bytes with its F0 and F7 among them, which a status byte other than real time ends with an F7; a data byte without status and an F7 outside a system exclusive are dropped. A byte completes two pieces at most.
◆ operator ()()
template<typename write_t>
| void dx::midi::parser::operator ()(uint8_t byte, write_t&& write) |
|
inline |
◆ byte
| uint8_t dx::midi::parser::byte[3]{} |
◆ count
the bytes collected in byte[]
◆ status
the running status, 0xf0 while a system exclusive runs
The documentation for this struct was generated from the following file: