52 std::array<uint8_t, 8> bytes{{}};
53 bytes[0] = (0x3 << 0x4) |
group;
54 bytes[1] = (
uint8_t) (status << 0x4) | numBytes;
56 std::memcpy (bytes.data() + 2,
data, numBytes);
58 std::array<uint32_t, 2> words;
62 for (
auto&
word : words)
74 jassert (numBytes <= 16 - dataStart);
76 std::array<uint8_t, 16> bytes{{}};
77 bytes[0] = (0x5 << 0x4) |
group;
78 bytes[1] = (
uint8_t) (status << 0x4) | numBytes;
80 std::memcpy (bytes.data() + dataStart,
data, numBytes);
82 std::array<uint32_t, 4> words;
86 for (
auto&
word : words)
112 .withU8<2> (
code & 0x7f);
119 .withU8<2> (pos & 0x7f)
120 .withU8<3> ((pos >> 7) & 0x7f);
127 .withU8<2> (song & 0x7f);
179 .withChannel (channel)
180 .withU8<2> (note & 0x7f)
181 .withU8<3> (velocity & 0x7f);
191 .withChannel (channel)
192 .withU8<2> (note & 0x7f)
193 .withU8<3> (velocity & 0x7f);
203 .withChannel (channel)
204 .withU8<2> (note & 0x7f)
205 .withU8<3> (pressure & 0x7f);
215 .withChannel (channel)
217 .withU8<3> (
value & 0x7f);
226 .withChannel (channel)
227 .withU8<2> (program & 0x7f);
236 .withChannel (channel)
237 .withU8<2> (pressure & 0x7f);
246 .withChannel (channel)
247 .withU8<2> (pitchbend & 0x7f)
248 .withU8<3> ((pitchbend >> 7) & 0x7f);
287 .withChannel (channel)
288 .withU8<2> (note & 0x7f)
301 .withChannel (channel)
302 .withU8<2> (note & 0x7f)
315 .withChannel (channel)
316 .withU8<2> (bank & 0x7f)
317 .withU8<3> (index & 0x7f)
329 .withChannel (channel)
330 .withU8<2> (bank & 0x7f)
331 .withU8<3> (index & 0x7f)
343 .withChannel (channel)
344 .withU8<2> (bank & 0x7f)
345 .withU8<3> (index & 0x7f)
357 .withChannel (channel)
358 .withU8<2> (bank & 0x7f)
359 .withU8<3> (index & 0x7f)
370 .withChannel (channel)
371 .withU8<2> (note & 0x7f)
392 .withChannel (channel)
393 .withU8<2> (note & 0x7f)
394 .withU8<3> ((
uint8_t) attribute)
395 .withU16<2> (velocity)
396 .withU16<3> (attributeValue);
408 .withChannel (channel)
409 .withU8<2> (note & 0x7f)
410 .withU8<3> ((
uint8_t) attribute)
411 .withU16<2> (velocity)
412 .withU16<3> (attributeValue);
422 .withChannel (channel)
423 .withU8<2> (note & 0x7f)
434 .withChannel (channel)
448 .withChannel (channel)
449 .withU8<3> (optionFlags)
452 .withU8<7> (bankLsb);
461 .withChannel (channel)
471 .withChannel (channel)
482 .withChannel (channel)
484 .withU8<3> (optionFlags);
Controller controller
Definition main.C:5
static uint32 bigEndianInt(const void *bytes) noexcept
Definition ByteOrder.h:239
static PuglViewHint int value
Definition pugl.h:1708
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< 4 > PacketX4
Definition juce_UMPacket.h:188
Packet< 1 > PacketX1
Definition juce_UMPacket.h:185
Packet< 2 > PacketX2
Definition juce_UMPacket.h:186
Definition carla_juce.cpp:31
@ group
Definition juce_AccessibilityRole.h:61
short word
Definition private.h:22
Definition juce_UMPFactory.h:40
static PacketX2 makeSysEx(uint8_t group, uint8_t status, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:45
static PacketX1 makeV1()
Definition juce_UMPFactory.h:42
static PacketX4 makeSysEx8(uint8_t group, uint8_t status, uint8_t numBytes, uint8_t dataStart, const uint8_t *data)
Definition juce_UMPFactory.h:68
static PacketX1 makeSystem()
Definition juce_UMPFactory.h:41
static PacketX2 makeV2()
Definition juce_UMPFactory.h:43
Definition juce_UMPFactory.h:37
static PacketX2 makeRelativeRegisteredControllerV2(uint8_t group, uint8_t channel, uint8_t bank, uint8_t index, uint32_t data)
Definition juce_UMPFactory.h:335
static PacketX1 makeStart(uint8_t group)
Definition juce_UMPFactory.h:142
static PacketX2 makeChannelPressureV2(uint8_t group, uint8_t channel, uint32_t data)
Definition juce_UMPFactory.h:455
static PacketX4 makeSysEx8Start(uint8_t group, uint8_t numBytes, uint8_t streamId, const uint8_t *data)
Definition juce_UMPFactory.h:496
static PacketX2 makeSysExIn1Packet(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:251
static PacketX1 makeActiveSensing(uint8_t group)
Definition juce_UMPFactory.h:160
static PacketX2 makeRegisteredControllerV2(uint8_t group, uint8_t channel, uint8_t bank, uint8_t index, uint32_t data)
Definition juce_UMPFactory.h:307
static PacketX1 makeJRClock(uint8_t group, uint16_t time)
Definition juce_UMPFactory.h:98
static PacketX2 makeNoteOffV2(uint8_t group, uint8_t channel, uint8_t note, NoteAttributeKind attribute, uint16_t velocity, uint16_t attributeValue)
Definition juce_UMPFactory.h:383
static PacketX2 makeControlChangeV2(uint8_t group, uint8_t channel, uint8_t controller, uint32_t data)
Definition juce_UMPFactory.h:427
static PacketX1 makeNoteOnV1(uint8_t group, uint8_t channel, uint8_t note, uint8_t velocity)
Definition juce_UMPFactory.h:184
static PacketX1 makeNoteOffV1(uint8_t group, uint8_t channel, uint8_t note, uint8_t velocity)
Definition juce_UMPFactory.h:172
static PacketX2 makeProgramChangeV2(uint8_t group, uint8_t channel, uint8_t optionFlags, uint8_t program, uint8_t bankMsb, uint8_t bankLsb)
Definition juce_UMPFactory.h:439
static PacketX1 makePolyPressureV1(uint8_t group, uint8_t channel, uint8_t note, uint8_t pressure)
Definition juce_UMPFactory.h:196
static PacketX2 makeNoteOnV2(uint8_t group, uint8_t channel, uint8_t note, NoteAttributeKind attribute, uint16_t velocity, uint16_t attributeValue)
Definition juce_UMPFactory.h:399
static PacketX1 makeTimeCode(uint8_t group, uint8_t code)
Definition juce_UMPFactory.h:108
static PacketX2 makeRelativeAssignableControllerV2(uint8_t group, uint8_t channel, uint8_t bank, uint8_t index, uint32_t data)
Definition juce_UMPFactory.h:349
static PacketX1 makeProgramChangeV1(uint8_t group, uint8_t channel, uint8_t program)
Definition juce_UMPFactory.h:220
static PacketX1 makeTimingClock(uint8_t group)
Definition juce_UMPFactory.h:136
static PacketX4 makeMixedDataSetHeader(uint8_t group, uint8_t dataSetId, const uint8_t *data)
Definition juce_UMPFactory.h:520
static PacketX2 makeRegisteredPerNoteControllerV2(uint8_t group, uint8_t channel, uint8_t note, uint8_t controller, uint32_t data)
Definition juce_UMPFactory.h:279
static PacketX1 makeNoop(uint8_t group)
Definition juce_UMPFactory.h:93
static PacketX1 makePitchBend(uint8_t group, uint8_t channel, uint16_t pitchbend)
Definition juce_UMPFactory.h:240
static PacketX1 makeJRTimestamp(uint8_t group, uint16_t time)
Definition juce_UMPFactory.h:103
NoteAttributeKind
Definition juce_UMPFactory.h:376
static PacketX2 makePitchBendV2(uint8_t group, uint8_t channel, uint32_t data)
Definition juce_UMPFactory.h:465
static PacketX1 makeContinue(uint8_t group)
Definition juce_UMPFactory.h:148
static PacketX2 makeSysExContinue(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:265
static PacketX1 makeControlChangeV1(uint8_t group, uint8_t channel, uint8_t controller, uint8_t value)
Definition juce_UMPFactory.h:208
static PacketX2 makeSysExEnd(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:272
static PacketX4 makeSysEx8End(uint8_t group, uint8_t numBytes, uint8_t streamId, const uint8_t *data)
Definition juce_UMPFactory.h:512
static PacketX2 makePerNoteManagementV2(uint8_t group, uint8_t channel, uint8_t note, uint8_t optionFlags)
Definition juce_UMPFactory.h:475
static PacketX1 makeSongPositionPointer(uint8_t group, uint16_t pos)
Definition juce_UMPFactory.h:115
static PacketX2 makeAssignableControllerV2(uint8_t group, uint8_t channel, uint8_t bank, uint8_t index, uint32_t data)
Definition juce_UMPFactory.h:321
static PacketX2 makePerNotePitchBendV2(uint8_t group, uint8_t channel, uint8_t note, uint32_t data)
Definition juce_UMPFactory.h:363
static PacketX4 makeSysEx8Continue(uint8_t group, uint8_t numBytes, uint8_t streamId, const uint8_t *data)
Definition juce_UMPFactory.h:504
static PacketX1 makeReset(uint8_t group)
Definition juce_UMPFactory.h:166
static PacketX4 makeDataSetPayload(uint8_t group, uint8_t dataSetId, const uint8_t *data)
Definition juce_UMPFactory.h:527
static PacketX2 makeAssignablePerNoteControllerV2(uint8_t group, uint8_t channel, uint8_t note, uint8_t controller, uint32_t data)
Definition juce_UMPFactory.h:293
static PacketX4 makeSysEx8in1Packet(uint8_t group, uint8_t numBytes, uint8_t streamId, const uint8_t *data)
Definition juce_UMPFactory.h:488
static PacketX2 makePolyPressureV2(uint8_t group, uint8_t channel, uint8_t note, uint32_t data)
Definition juce_UMPFactory.h:415
static PacketX1 makeTuneRequest(uint8_t group)
Definition juce_UMPFactory.h:130
static PacketX1 makeSongSelect(uint8_t group, uint8_t song)
Definition juce_UMPFactory.h:123
static PacketX1 makeChannelPressureV1(uint8_t group, uint8_t channel, uint8_t pressure)
Definition juce_UMPFactory.h:230
static PacketX1 makeStop(uint8_t group)
Definition juce_UMPFactory.h:154
static PacketX2 makeSysExStart(uint8_t group, uint8_t numBytes, const uint8_t *data)
Definition juce_UMPFactory.h:258