Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::midi::RawMidiParserState Struct Reference

#include <raw_midi_parser.hpp>

Public Types

enum class  DropReason { none , overflow , reset , aborted }

Public Member Functions

void reserve_sysex (std::size_t worst_case_bytes)
 Prepare internal SysEx storage for realtime use.
void reset_sysex () noexcept
 Discard an incomplete message while retaining prepared capacity.

Public Attributes

std::vector< uint8_t > sysex_buffer
bool sysex_in_progress = false
uint8_t running_status = 0
uint8_t pending_status = 0
uint8_t pending_data [2] = {}
std::size_t pending_count = 0
std::size_t pending_expected = 0
std::size_t maximum_sysex_bytes = kRawMidiSysexLimit
DropReason last_drop_reason = DropReason::none

Member Enumeration Documentation

◆ DropReason

Enumerator
none 
overflow 
reset 
aborted 

Member Function Documentation

◆ reserve_sysex()

void pulp::midi::RawMidiParserState::reserve_sysex ( std::size_t worst_case_bytes)
inline

Prepare internal SysEx storage for realtime use.

The reserve includes the leading F0 and trailing F7 bytes. This sets the admission bound and discards partial SysEx; call only during non-RT configuration. Aggregate copies do not preserve reserved vector capacity: reserve each copied instance before RT use.

◆ reset_sysex()

void pulp::midi::RawMidiParserState::reset_sysex ( )
inlinenoexcept

Discard an incomplete message while retaining prepared capacity.

Member Data Documentation

◆ last_drop_reason

DropReason pulp::midi::RawMidiParserState::last_drop_reason = DropReason::none

◆ maximum_sysex_bytes

std::size_t pulp::midi::RawMidiParserState::maximum_sysex_bytes = kRawMidiSysexLimit

◆ pending_count

std::size_t pulp::midi::RawMidiParserState::pending_count = 0

◆ pending_data

uint8_t pulp::midi::RawMidiParserState::pending_data[2] = {}

◆ pending_expected

std::size_t pulp::midi::RawMidiParserState::pending_expected = 0

◆ pending_status

uint8_t pulp::midi::RawMidiParserState::pending_status = 0

◆ running_status

uint8_t pulp::midi::RawMidiParserState::running_status = 0

◆ sysex_buffer

std::vector<uint8_t> pulp::midi::RawMidiParserState::sysex_buffer

◆ sysex_in_progress

bool pulp::midi::RawMidiParserState::sysex_in_progress = false

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