dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::midi::parser Struct Reference

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>

Public Member Functions

template<typename write_t>
void operator ()(uint8_t byte, write_t&& write)

Public Attributes

uint8_t byte [3] {}
uint8_t count{}
 the bytes collected in byte[]
uint8_t status{}
 the running status, 0xf0 while a system exclusive runs

Detailed Description

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.

Member Function Documentation

◆ operator ()()

template<typename write_t>
void dx::midi::parser::operator ()(uint8_t byte, write_t&& write)
inline
Here is the call graph for this function:

Member Data Documentation

◆ byte

uint8_t dx::midi::parser::byte[3]{}

◆ count

uint8_t dx::midi::parser::count{}

the bytes collected in byte[]

◆ status

uint8_t dx::midi::parser::status{}

the running status, 0xf0 while a system exclusive runs


The documentation for this struct was generated from the following file: