|
LMMS
|
#include <juce_UMPMidi1ToBytestreamTranslator.h>
Public Member Functions | |
| Midi1ToBytestreamTranslator (int initialBufferSize) | |
| void | reset () |
| template<typename MessageCallback> | |
| void | dispatch (const View &packet, double time, MessageCallback &&callback) |
Static Public Member Functions | |
| static MidiMessage | fromUmp (const PacketX1 &m, double time=0) |
Private Member Functions | |
| template<typename MessageCallback> | |
| void | processSysEx (const PacketX2 &packet, double time, MessageCallback &&callback) |
| void | pushBytes (const PacketX2 &packet) |
| void | startSysExMessage (double time) |
| template<typename MessageCallback> | |
| void | terminateSysExMessage (MessageCallback &&callback) |
Static Private Member Functions | |
| static bool | shouldPacketTerminateSysExEarly (uint32_t firstWord) |
| static SysEx7::Kind | getSysEx7Kind (uint32_t word) |
| static bool | isJROrNOP (uint32_t word) |
| static bool | isSysExContinuation (uint32_t word) |
| static bool | isSystemRealTime (uint32_t word) |
Private Attributes | |
| std::vector< uint8_t > | pendingSysExData |
| double | pendingSysExTime = 0.0 |
Parses a raw stream of uint32_t holding a series of Universal MIDI Packets using the MIDI 1.0 Protocol, converting to plain (non-UMP) MidiMessages.
@tags{Audio}
|
inlineexplicit |
Ensures that there is room in the internal buffer for a sysex message of at least initialBufferSize bytes.
|
inline |
Converts a Universal MIDI Packet using the MIDI 1.0 Protocol to an equivalent MidiMessage. Accumulates SysEx packets into a single MidiMessage, as appropriate.
| packet | a packet which is using the MIDI 1.0 Protocol. |
| Time | the timestamp to be applied to these messages. |
| callback | a callback which will be called with each converted MidiMessage. |
|
inlinestatic |
Converts from a Universal MIDI Packet to MIDI 1 bytestream format.
This is only capable of converting a single Universal MIDI Packet to an equivalent bytestream MIDI message. This function cannot understand multi-packet messages, like SysEx7 messages.
To convert multi-packet messages, use Midi1ToBytestreamTranslator to convert from a UMP MIDI 1.0 stream, or ToBytestreamDispatcher to convert from both MIDI 2.0 and MIDI 1.0.
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
Clears the concatenator.
|
inlinestaticprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |