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

#include <juce_UMPMidi1ToMidi2DefaultTranslator.h>

Classes

struct  HelperValues
class  PnAccumulator
class  Bank

Public Member Functions

 Midi1ToMidi2DefaultTranslator ()=default
template<typename PacketCallback>
void dispatch (const View &v, PacketCallback &&callback)
void reset ()

Private Types

enum class  PnKind { nrpn , rpn }
using ChannelAccumulators = std::array<PnAccumulator, 16>
using ChannelBanks = std::array<Bank, 16>

Private Member Functions

bool processControlChange (const HelperValues helpers, PacketX2 &packet)
PacketX2 processProgramChange (const HelperValues helpers) const

Static Private Member Functions

static PacketX2 processNoteOnOrOff (const HelperValues helpers)
static PacketX2 processPolyPressure (const HelperValues helpers)
static PacketX2 processChannelPressure (const HelperValues helpers)
static PacketX2 processPitchBend (const HelperValues helpers)

Private Attributes

std::array< ChannelAccumulators, 16 > groupAccumulators
std::array< ChannelBanks, 16 > groupBanks

Detailed Description

Translates a series of MIDI 1 Universal MIDI Packets to corresponding MIDI 2 packets.

@tags{Audio}

Member Typedef Documentation

◆ ChannelAccumulators

using juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::ChannelAccumulators = std::array<PnAccumulator, 16>
private

◆ ChannelBanks

using juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::ChannelBanks = std::array<Bank, 16>
private

Member Enumeration Documentation

◆ PnKind

enum class juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::PnKind
strongprivate
Enumerator
nrpn 
rpn 

Constructor & Destructor Documentation

◆ Midi1ToMidi2DefaultTranslator()

juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::Midi1ToMidi2DefaultTranslator ( )
default

Member Function Documentation

◆ dispatch()

template<typename PacketCallback>
void juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::dispatch ( const View & v,
PacketCallback && callback )
inline

Converts MIDI 1 Universal MIDI Packets to corresponding MIDI 2 packets, calling callback with each converted packet.

In some cases (such as RPN/NRPN messages) multiple MIDI 1 packets will convert to a single MIDI 2 packet. In these cases, the translator will accumulate the full message internally, and send a single callback with the completed message, once all the individual MIDI 1 packets have been processed.

◆ processChannelPressure()

PacketX2 juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::processChannelPressure ( const HelperValues helpers)
staticprivate

◆ processControlChange()

bool juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::processControlChange ( const HelperValues helpers,
PacketX2 & packet )
private

◆ processNoteOnOrOff()

PacketX2 juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::processNoteOnOrOff ( const HelperValues helpers)
staticprivate

◆ processPitchBend()

PacketX2 juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::processPitchBend ( const HelperValues helpers)
staticprivate

◆ processPolyPressure()

PacketX2 juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::processPolyPressure ( const HelperValues helpers)
staticprivate

◆ processProgramChange()

PacketX2 juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::processProgramChange ( const HelperValues helpers) const
private

◆ reset()

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

Member Data Documentation

◆ groupAccumulators

std::array<ChannelAccumulators, 16> juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::groupAccumulators
private

◆ groupBanks

std::array<ChannelBanks, 16> juce::universal_midi_packets::Midi1ToMidi2DefaultTranslator::groupBanks
private

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