JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::MidiDataConcatenator Class Reference

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

#include <juce_MidiDataConcatenator.h>

Collaboration diagram for juce::MidiDataConcatenator:

Public Member Functions

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

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 isInitialByte (uint8 byte)
 
static bool isRealtimeMessage (uint8 byte)
 
static bool isStatusByte (uint8 byte)
 

Private Attributes

uint8 currentMessage [3]
 
int currentMessageLen = 0
 
MemoryBlock pendingSysexData
 
int pendingSysexSize = 0
 
double pendingSysexTime = 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()

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

References isStatusByte().

Referenced by pushMidiData().

◆ isRealtimeMessage()

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

Referenced by pushMidiData().

◆ isStatusByte()

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

Referenced by isInitialByte(), and processSysex().

◆ 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

Referenced by pushMidiData().

◆ currentMessageLen

int juce::MidiDataConcatenator::currentMessageLen = 0
private

Referenced by pushMidiData(), and reset().

◆ pendingSysexData

MemoryBlock juce::MidiDataConcatenator::pendingSysexData
private

Referenced by processSysex().

◆ pendingSysexSize

int juce::MidiDataConcatenator::pendingSysexSize = 0
private

Referenced by processSysex(), pushMidiData(), and reset().

◆ pendingSysexTime

double juce::MidiDataConcatenator::pendingSysexTime = 0
private

Referenced by processSysex(), and reset().


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