LMMS
Loading...
Searching...
No Matches
juce::MidiDataConcatenator Class Reference

#include <juce_MidiDataConcatenator.h>

Public Member Functions

 MidiDataConcatenator (int initialBufferSize)
void reset ()
template<typename UserDataType, typename CallbackType>
void pushMidiData (const void *inputData, int numBytes, double time, UserDataType *input, CallbackType &callback)

Private Member Functions

template<typename UserDataType, typename CallbackType>
void processSysex (const uint8 *&d, int &numBytes, double time, UserDataType *input, CallbackType &callback)

Static Private Member Functions

static bool isRealtimeMessage (uint8 byte)
static bool isStatusByte (uint8 byte)
static bool isInitialByte (uint8 byte)

Private Attributes

uint8 currentMessage [3]
int currentMessageLen = 0
MemoryBlock pendingSysexData
double pendingSysexTime = 0
int pendingSysexSize = 0

Detailed Description

Helper class that takes chunks of incoming midi bytes, packages them into messages, and dispatches them to a midi callback.

@tags{Audio}

Constructor & Destructor Documentation

◆ MidiDataConcatenator()

juce::MidiDataConcatenator::MidiDataConcatenator ( int initialBufferSize)
inline

Member Function Documentation

◆ isInitialByte()

bool juce::MidiDataConcatenator::isInitialByte ( uint8 byte)
inlinestaticprivate

◆ isRealtimeMessage()

bool juce::MidiDataConcatenator::isRealtimeMessage ( uint8 byte)
inlinestaticprivate

◆ isStatusByte()

bool juce::MidiDataConcatenator::isStatusByte ( uint8 byte)
inlinestaticprivate

◆ processSysex()

template<typename UserDataType, typename CallbackType>
void juce::MidiDataConcatenator::processSysex ( const uint8 *& d,
int & numBytes,
double time,
UserDataType * input,
CallbackType & callback )
inlineprivate

◆ pushMidiData()

template<typename UserDataType, typename CallbackType>
void juce::MidiDataConcatenator::pushMidiData ( const void * inputData,
int numBytes,
double time,
UserDataType * input,
CallbackType & callback )
inline

◆ reset()

void juce::MidiDataConcatenator::reset ( )
inline

Member Data Documentation

◆ currentMessage

uint8 juce::MidiDataConcatenator::currentMessage[3]
private

◆ currentMessageLen

int juce::MidiDataConcatenator::currentMessageLen = 0
private

◆ pendingSysexData

MemoryBlock juce::MidiDataConcatenator::pendingSysexData
private

◆ pendingSysexSize

int juce::MidiDataConcatenator::pendingSysexSize = 0
private

◆ pendingSysexTime

double juce::MidiDataConcatenator::pendingSysexTime = 0
private

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