Browse Source

split midi_dispatch into subfunctions

master
heck 8 months ago
parent
commit
3292cba8cd
  1. 37
      src/main_osp.cc

37
src/main_osp.cc

@ -165,12 +165,11 @@ namespace Heck::OSP {
}
}
void midi_dispatch(ld::MidiEvent msg, bool from_seq)
void midi_dispatch_note(ld::MidiEvent msg, bool from_seq)
{
switch (msg.type) {
case ld::MidiMessageType::NoteOn: {
ld::DaisySeed::PrintLine(
"MIDI from seq=%i : NOTE - ch: %i, nr: %i, val: %i",
"[%i] MIDI from seq=%i : NOTE - ch: %i, nr: %i, val: %i",
ld::System::GetNow(),
from_seq,
msg.channel,
msg.AsNoteOn().note,
@ -178,10 +177,13 @@ namespace Heck::OSP {
if (msg.channel >= 0 && msg.channel < Constants::TRACK_COUNT) {
tracks[msg.channel].trigger();
}
} break;
case ld::MidiMessageType::ControlChange: {
}
void midi_dispatch_cc(ld::MidiEvent msg, bool from_seq)
{
ld::DaisySeed::PrintLine(
"MIDI from seq=%i : CC - ch: %i, nr: %i, val: %i",
"[%i] MIDI from seq=%i : CC - ch: %i, nr: %i, val: %i",
ld::System::GetNow(),
from_seq,
msg.channel,
msg.AsControlChange().control_number,
@ -235,14 +237,25 @@ namespace Heck::OSP {
break;
}
}
} break;
default: {
}
void midi_dispatch(ld::MidiEvent msg, bool from_seq)
{
switch (msg.type) {
case ld::MidiMessageType::NoteOn:
midi_dispatch_note(msg, from_seq);
break;
case ld::MidiMessageType::ControlChange:
midi_dispatch_cc(msg, from_seq);
break;
default:
// Other MIDI message
ld::DaisySeed::PrintLine(
"UNHANDLED MIDI UNHANDLED MIDI from seq=%i : CC - ch: %i",
"[%i] UNHANDLED MIDI UNHANDLED MIDI from seq=%i : CC - ch: %i",
ld::System::GetNow(),
from_seq,
msg.channel);
// Other MIDI message
} break;
break;
}
}

Loading…
Cancel
Save