30 const auto velocity = helpers.
byte2;
31 const auto needsConversion = (helpers.
byte0 >> 0x4) == 0x9 && velocity == 0;
32 const auto firstByte = needsConversion ? (
uint8_t) ((0x8 << 0x4) | (helpers.
byte0 & 0xf))
54 const auto statusAndChannel = helpers.
byte0;
55 const auto cc = helpers.
byte1;
57 const auto shouldAccumulate = [&]
74 const auto channel = (
uint8_t) (statusAndChannel & 0xf);
75 const auto byte = helpers.
byte2;
81 if (accumulator.addByte (cc,
byte))
83 const auto& bytes = accumulator.getBytes();
84 const auto bank = bytes[0];
85 const auto index = bytes[1];
86 const auto msb = bytes[2];
87 const auto lsb = bytes[3];
89 const auto value = (
uint16_t) (((msb & 0x7f) << 7) | (lsb & 0x7f));
129 const auto valid = bank.isValid();
149 const auto lsb = helpers.
byte1;
150 const auto msb = helpers.
byte2;
162 const auto isStart = cc == 99 || cc == 101;
172 const auto shouldContinue = [&]
176 case 0:
return isStart;
178 case 2:
return cc == 6;
179 case 3:
return cc == 38;
#define byte
Definition blargg_source.h:87
std::array< uint8_t, 4 > bytes
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:156
bool addByte(uint8_t cc, uint8_t byte)
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:160
uint8_t index
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:157
PnKind kind
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:158
std::array< ChannelBanks, 16 > groupBanks
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:185
std::array< ChannelAccumulators, 16 > groupAccumulators
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:182
static PacketX2 processPitchBend(const HelperValues helpers)
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:147
PacketX2 processProgramChange(const HelperValues helpers) const
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:124
bool processControlChange(const HelperValues helpers, PacketX2 &packet)
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:51
static PacketX2 processChannelPressure(const HelperValues helpers)
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:138
static PacketX2 processNoteOnOrOff(const HelperValues helpers)
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:28
static PacketX2 processPolyPressure(const HelperValues helpers)
Definition juce_UMPMidi1ToMidi2DefaultTranslator.cpp:42
@ nrpn
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:127
@ rpn
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:127
static PuglViewHint int value
Definition pugl.h:1708
unsigned short uint16_t
Definition mid.cpp:99
unsigned int uint32_t
Definition mid.cpp:100
unsigned char uint8_t
Definition mid.cpp:98
Definition juce_UMP_test.cpp:26
Packet< 2 > PacketX2
Definition juce_UMPacket.h:186
Definition carla_juce.cpp:31
@ group
Definition juce_AccessibilityRole.h:61
static uint32_t scaleTo32(uint8_t word7Bit)
Definition juce_UMPConversion.h:144
static uint16_t scaleTo16(uint8_t word7Bit)
Definition juce_UMPConversion.h:126
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:130
uint8_t byte0
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:132
uint8_t typeAndGroup
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:131
uint8_t byte2
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:134
uint8_t byte1
Definition juce_UMPMidi1ToMidi2DefaultTranslator.h:133
static constexpr uint32_t bytesToWord(uint8_t a, uint8_t b, uint8_t c, uint8_t d)
Definition juce_UMPUtils.h:38