LMMS
Loading...
Searching...
No Matches
juce::universal_midi_packets::BytestreamToUMPDispatcher Class Reference

#include <juce_UMPDispatcher.h>

Public Member Functions

 BytestreamToUMPDispatcher (PacketProtocol pp, int storageSize)
void reset ()
template<typename PacketCallbackFunction>
void dispatch (const uint8_t *begin, const uint8_t *end, double timestamp, PacketCallbackFunction &&callback)

Private Attributes

MidiDataConcatenator concatenator
GenericUMPConverter converter

Detailed Description

Parses a stream of bytes representing a sequence of bytestream-encoded MIDI 1.0 messages, converting the messages to UMP format and passing the packets to a user-provided callback as they become ready.

@tags{Audio}

Constructor & Destructor Documentation

◆ BytestreamToUMPDispatcher()

juce::universal_midi_packets::BytestreamToUMPDispatcher::BytestreamToUMPDispatcher ( PacketProtocol pp,
int storageSize )
inlineexplicit

Initialises the dispatcher.

Channel messages will be converted to the requested protocol format pp. storageSize bytes will be allocated to store incomplete messages.

Member Function Documentation

◆ dispatch()

template<typename PacketCallbackFunction>
void juce::universal_midi_packets::BytestreamToUMPDispatcher::dispatch ( const uint8_t * begin,
const uint8_t * end,
double timestamp,
PacketCallbackFunction && callback )
inline

Calls callback with a View of each converted packet as it becomes ready.

Parameters
beginthe first byte in a range of bytes representing bytestream-encoded MIDI messages.
endone-past the last byte in a range of bytes representing bytestream-encoded MIDI messages.
timestampa timestamp to apply to the created packets.
callbacka callback which will be passed a View pointing to each new packet as it becomes ready.

◆ reset()

void juce::universal_midi_packets::BytestreamToUMPDispatcher::reset ( )
inline

Member Data Documentation

◆ concatenator

MidiDataConcatenator juce::universal_midi_packets::BytestreamToUMPDispatcher::concatenator
private

◆ converter

GenericUMPConverter juce::universal_midi_packets::BytestreamToUMPDispatcher::converter
private

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