MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / fillMessagePropertiesFromData

Method fillMessagePropertiesFromData

Source/MIDI/CtrlrMidiMessage.cpp:290–404  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

288}
289
290Result CtrlrMidiMessage::fillMessagePropertiesFromData(const MemoryBlock &data)
291{
292 CtrlrMidiMessageEx mex(MidiMessage(data.getData(), (int)data.getSize()));
293
294 if (mex.m.isController())
295 {
296 messageType = CC;
297 setProperty (Ids::midiMessageType, CC);
298 setProperty (Ids::midiMessageChannel, mex.m.getChannel());
299 setProperty (Ids::midiMessageCtrlrNumber, mex.m.getControllerNumber());
300 setProperty (Ids::midiMessageCtrlrValue, mex.m.getControllerValue());
301
302 return (Result::ok());
303 }
304 else if (mex.m.isAftertouch())
305 {
306 messageType = Aftertouch;
307 setProperty (Ids::midiMessageType, Aftertouch);
308 setProperty (Ids::midiMessageChannel, mex.m.getChannel());
309 setProperty (Ids::midiMessageCtrlrNumber, mex.m.getNoteNumber());
310 setProperty (Ids::midiMessageCtrlrValue, mex.m.getAfterTouchValue());
311
312 return (Result::ok());
313 }
314 else if (mex.m.isNoteOn())
315 {
316 messageType = NoteOn;
317 setProperty (Ids::midiMessageType, NoteOn);
318 setProperty (Ids::midiMessageChannel, mex.m.getChannel());
319 setProperty (Ids::midiMessageCtrlrNumber, mex.m.getNoteNumber());
320 setProperty (Ids::midiMessageCtrlrValue, mex.m.getVelocity());
321
322 return (Result::ok());
323 }
324 else if (mex.m.isNoteOff())
325 {
326 messageType = NoteOff;
327 setProperty (Ids::midiMessageType, NoteOff);
328 setProperty (Ids::midiMessageChannel, mex.m.getChannel());
329 setProperty (Ids::midiMessageCtrlrNumber, mex.m.getNoteNumber());
330 setProperty (Ids::midiMessageCtrlrValue, mex.m.getVelocity());
331
332 return (Result::ok());
333 }
334 else if (mex.m.isChannelPressure())
335 {
336 messageType = ChannelPressure;
337 setProperty (Ids::midiMessageType, ChannelPressure);
338 setProperty (Ids::midiMessageChannel, mex.m.getChannel());
339 setProperty (Ids::midiMessageCtrlrValue, mex.m.getChannelPressureValue());
340
341 return (Result::ok());
342 }
343 else if (mex.m.isProgramChange())
344 {
345 messageType = ProgramChange;
346 setProperty (Ids::midiMessageType, ProgramChange);
347 setProperty (Ids::midiMessageChannel, mex.m.getChannel());

Callers

nothing calls this directly

Calls 15

MidiMessageFunction · 0.85
setPropertyFunction · 0.85
isControllerMethod · 0.80
getControllerNumberMethod · 0.80
getControllerValueMethod · 0.80
isAftertouchMethod · 0.80
getNoteNumberMethod · 0.80
getAfterTouchValueMethod · 0.80
getVelocityMethod · 0.80
isNoteOffMethod · 0.80
isChannelPressureMethod · 0.80

Tested by

no test coverage detected