92 auto lowerZone =
layout.getLowerZone();
93 if (lowerZone.isActive())
95 lowerZone.perNotePitchbendRange,
96 lowerZone.masterPitchbendRange),
99 auto upperZone =
layout.getUpperZone();
100 if (upperZone.isActive())
102 upperZone.perNotePitchbendRange,
103 upperZone.masterPitchbendRange),
118 :
UnitTest (
"MPEMessages class", UnitTestCategories::midi)
121 void runTest()
override
123 beginTest (
"add zone");
130 0xb0, 0x64, 0x06, 0xb0, 0x65, 0x00, 0xb0, 0x06, 0x07,
131 0xb1, 0x64, 0x00, 0xb1, 0x65, 0x00, 0xb1, 0x06, 0x30,
132 0xb0, 0x64, 0x00, 0xb0, 0x65, 0x00, 0xb0, 0x06, 0x02
142 0xbf, 0x64, 0x06, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x05,
143 0xbe, 0x64, 0x00, 0xbe, 0x65, 0x00, 0xbe, 0x06, 0x60,
144 0xbf, 0x64, 0x00, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x00
151 beginTest (
"set per-note pitchbend range");
155 const uint8
expectedBytes[] = { 0xb1, 0x64, 0x00, 0xb1, 0x65, 0x00, 0xb1, 0x06, 0x60 };
161 beginTest (
"set master pitchbend range");
165 const uint8
expectedBytes[] = { 0xbf, 0x64, 0x00, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x3c };
170 beginTest (
"clear all zones");
174 const uint8
expectedBytes[] = { 0xb0, 0x64, 0x06, 0xb0, 0x65, 0x00, 0xb0, 0x06, 0x00,
175 0xbf, 0x64, 0x06, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x00
181 beginTest (
"set complete state");
185 layout.setLowerZone (7, 96, 0);
191 0xb0, 0x64, 0x06, 0xb0, 0x65, 0x00, 0xb0, 0x06, 0x00,
192 0xbf, 0x64, 0x06, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x00,
193 0xb0, 0x64, 0x06, 0xb0, 0x65, 0x00, 0xb0, 0x06, 0x07,
194 0xb1, 0x64, 0x00, 0xb1, 0x65, 0x00, 0xb1, 0x06, 0x60,
195 0xb0, 0x64, 0x00, 0xb0, 0x65, 0x00, 0xb0, 0x06, 0x00,
196 0xbf, 0x64, 0x06, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x07,
197 0xbe, 0x64, 0x00, 0xbe, 0x65, 0x00, 0xbe, 0x06, 0x30,
198 0xbf, 0x64, 0x00, 0xbf, 0x65, 0x00, 0xbf, 0x06, 0x02
226 std::size_t dataSize = (std::size_t)
midiMessage.getRawDataSize();
237static MPEMessagesTests MPEMessagesUnitTests;
ElementType * data() noexcept
static MidiBuffer setUpperZone(int numMemberChannels=0, int perNotePitchbendRange=48, int masterPitchbendRange=2)
static MidiBuffer setUpperZoneMasterPitchbendRange(int masterPitchbendRange=2)
static MidiBuffer clearAllZones()
static MidiBuffer setZoneLayout(MPEZoneLayout layout)
static MidiBuffer setLowerZone(int numMemberChannels=0, int perNotePitchbendRange=48, int masterPitchbendRange=2)
static MidiBuffer clearUpperZone()
static MidiBuffer clearLowerZone()
static const int zoneLayoutMessagesRpnNumber
static MidiBuffer setLowerZoneMasterPitchbendRange(int masterPitchbendRange=2)
static MidiBuffer setLowerZonePerNotePitchbendRange(int perNotePitchbendRange=48)
static MidiBuffer setUpperZonePerNotePitchbendRange(int perNotePitchbendRange=48)
void addEvents(const MidiBuffer &otherBuffer, int startSample, int numSamples, int sampleDeltaToAdd)
static MidiBuffer generate(MidiRPNMessage message)