42 template <
typename PacketCallbackFunction>
45 const auto*
data =
m.getRawData();
46 const auto firstByte =
data[0];
47 const auto size =
m.getRawDataSize();
49 if (firstByte != 0xf0)
55 case 0:
return 0xff000000;
56 case 1:
return 0xffff0000;
57 case 2:
return 0xffffff00;
58 case 3:
return 0xffffffff;
64 const auto extraByte = (
uint8_t) ((((firstByte & 0xf0) == 0xf0) ? 0x1 : 0x2) << 0x4);
70 const auto numSysExBytes =
m.getSysExDataSize();
72 auto* dataOffset =
m.getSysExData();
81 constexpr auto byteIncrement = 6;
83 for (
auto i = numSysExBytes;
i > 0;
i -= byteIncrement, dataOffset += byteIncrement)
87 if (
i == numSysExBytes)
90 if (
i <= byteIncrement)
96 const auto bytesNow = std::min (byteIncrement,
i);
97 const auto packet =
func (0, (
uint8_t) bytesNow, dataOffset);
119 const auto shifted = (
uint8_t) (word7Bit << 0x1);
120 const auto repeat = (
uint8_t) (word7Bit & 0x3f);
121 const auto mask = (
uint8_t) (word7Bit <= 0x40 ? 0x0 : 0xff);
122 return (
uint8_t) (shifted | ((repeat >> 5) &
mask));
128 const auto shifted = (
uint16_t) (word7Bit << 0x9);
129 const auto repeat = (
uint16_t) (word7Bit & 0x3f);
130 const auto mask = (
uint16_t) (word7Bit <= 0x40 ? 0x0 : 0xffff);
131 return (
uint16_t) (shifted | (((repeat << 3) | (repeat >> 3)) &
mask));
137 const auto shifted = (
uint16_t) (word14Bit << 0x2);
138 const auto repeat = (
uint16_t) (word14Bit & 0x1fff);
139 const auto mask = (
uint16_t) (word14Bit <= 0x2000 ? 0x0 : 0xffff);
146 const auto shifted = (
uint32_t) (word7Bit << 0x19);
147 const auto repeat = (
uint32_t) (word7Bit & 0x3f);
148 const auto mask = (
uint32_t) (word7Bit <= 0x40 ? 0x0 : 0xffffffff);
149 return (
uint32_t) (shifted | (((repeat << 19)
153 | (repeat >> 5)) &
mask));
159 const auto shifted = (
uint32_t) (word14Bit << 0x12);
160 const auto repeat = (
uint32_t) (word14Bit & 0x1fff);
161 const auto mask = (
uint32_t) (word14Bit <= 0x2000 ? 0x0 : 0xffffffff);
162 return (
uint32_t) (shifted | (((repeat << 5) | (repeat >> 8)) &
mask));
189 template <
typename Callback>
192 const auto firstWord =
v[0];
210 const auto statusAndChannel = (
uint8_t) ((firstWord >> 0x10) & 0xff);
211 const auto byte2 = (
uint8_t) ((firstWord >> 0x08) & 0xff);
216 const auto needsCorrection = status == 0x9 && byte3 == 0;
217 const auto correctedByte = (
uint8_t) (needsCorrection ? 1 : byte3);
219 const auto shouldIgnore = status == 0xb && [&]
250 const auto statusAndChannel = (
uint8_t) ((firstWord >> 0x10) & 0xff);
264 const auto ccX = (
uint8_t) (status == 0x2 ? 101 : 99);
265 const auto ccY = (
uint8_t) (status == 0x2 ? 100 : 98);
277 for (
const auto& packet : packets)
288 const auto secondWord =
v[1];
296 for (
const auto& packet : packets)
312 const auto statusAndChannel = (
uint8_t) ((firstWord >> 0x10) & 0xff);
static const unsigned long mask[]
Definition bitwise.c:31
Definition juce_MidiMessage.h:35
const uint32_t * data() const noexcept
Definition juce_UMPacket.h:174
Definition juce_UMPackets.h:42
void add(const View &v)
Definition juce_UMPackets.h:51
Definition juce_UMPView.h:46
unsigned * m
Definition inflate.c:1559
unsigned v[N_MAX]
Definition inflate.c:1584
register unsigned i
Definition inflate.c:1575
JSAMPIMAGE data
Definition jpeglib.h:945
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< 1 > PacketX1
Definition juce_UMPacket.h:185
Definition carla_juce.cpp:31
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback void arg jack_client_t jack_port_t port void(* func)(const char *))
Definition juce_linux_JackAudio.cpp:67
Definition juce_UMPConversion.h:37
static uint16_t scaleTo14(uint32_t word32Bit)
Definition juce_UMPConversion.h:178
static uint16_t scaleTo16(uint16_t word14Bit)
Definition juce_UMPConversion.h:135
static uint16_t scaleTo14(uint16_t word16Bit)
Definition juce_UMPConversion.h:175
static void midi2ToMidi1DefaultTranslation(const View &v, Callback &&callback)
Definition juce_UMPConversion.h:190
static void toMidi1(const MidiMessage &m, Packets &packets)
Definition juce_UMPConversion.h:111
static uint32_t scaleTo32(uint8_t word7Bit)
Definition juce_UMPConversion.h:144
static uint32_t scaleTo32(uint16_t word14Bit)
Definition juce_UMPConversion.h:157
static uint16_t scaleTo16(uint8_t word7Bit)
Definition juce_UMPConversion.h:126
static uint8_t scaleTo7(uint16_t word16Bit)
Definition juce_UMPConversion.h:169
static uint8_t scaleTo8(uint8_t word7Bit)
Definition juce_UMPConversion.h:117
static uint8_t scaleTo7(uint8_t word8Bit)
Definition juce_UMPConversion.h:166
static void toMidi1(const MidiMessage &m, PacketCallbackFunction &&callback)
Definition juce_UMPConversion.h:43
static uint8_t scaleTo7(uint32_t word32Bit)
Definition juce_UMPConversion.h:172
static PacketX2 makeSysExIn1Packet(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:251
static PacketX2 makeSysExContinue(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:265
static PacketX2 makeSysExEnd(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:272
static PacketX2 makeSysExStart(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:258
static uint32_t getNumPacketsRequiredForDataSize(uint32_t)
Definition juce_UMPSysEx7.cpp:28
static constexpr uint8_t getStatus(uint32_t w) noexcept
Definition juce_UMPUtils.h:110
static constexpr uint32_t bytesToWord(uint8_t a, uint8_t b, uint8_t c, uint8_t d)
Definition juce_UMPUtils.h:38
static constexpr uint8_t getGroup(uint32_t w) noexcept
Definition juce_UMPUtils.h:109
static constexpr uint8_t getChannel(uint32_t w) noexcept
Definition juce_UMPUtils.h:111
static constexpr uint8_t getMessageType(uint32_t w) noexcept
Definition juce_UMPUtils.h:108
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004