std1.0.0-beta-7 SafeC docs

std :: audio::midi

Struct std::MidiParser

#include <std/audio/midi.h> source

struct MidiParser {
    unsigned char running;
    unsigned char msg[3];
    int have;
    int need;
    struct MidiMsg last;
    []unsigned char sysex;
    unsigned long sysex_len;
    int in_sysex;
    int sysex_overflow;
}

A byte-stream parser: running status, real-time bytes interleaved with other messages, sysex reassembly into a caller-owned buffer. Allocation- free; safe on a real-time thread.

Fields

§unsigned char runningsource

current running status (0 = none)

§unsigned char msg[3]source
§int havesource

bytes in msg

§int needsource

bytes msg needs

§struct MidiMsg lastsource

the last complete short message

§[]unsigned char sysexsource

sysex buffer (empty: sysex dropped)

§unsigned long sysex_lensource
§int in_sysexsource
§int sysex_overflowsource

Methods

§static struct MidiParser new([]unsigned char sysex_buf)source · definition

'sysex_buf' receives reassembled sysex messages (F0 .. F7); pass an empty slice to drop them.

§int feed(int byte)source · definition

One byte in; MIDI_PARSE_*.

§struct MidiMsg message() constsource · definition
§unsigned long sysex_length() constsource · definition
§[]const unsigned char sysex_message() constsource · definition

The last complete sysex (after MIDI_PARSE_SYSEX): sysex[0..sysex_len].

§void reset()source · definition