Browse Source

main_osp.cc - Log MIDI msg in midi_dispatch directly. stop using buffered MidiLoggerBuffered for that.

MidiLoggerBuffered only for realtime msg's handled in ISR.
master
heck 8 months ago
parent
commit
ae95e03792
  1. 25
      src/main_osp.cc

25
src/main_osp.cc

@ -169,21 +169,33 @@ namespace Heck::OSP {
{ {
switch (msg.type) { switch (msg.type) {
case ld::MidiMessageType::NoteOn: { case ld::MidiMessageType::NoteOn: {
ld::DaisySeed::PrintLine(
"MIDI from seq=%i : NOTE - ch: %i, nr: %i, val: %i",
from_seq,
msg.channel,
msg.AsNoteOn().note,
msg.AsNoteOn().velocity);
if (msg.channel >= 0 && msg.channel < Constants::TRACK_COUNT) { if (msg.channel >= 0 && msg.channel < Constants::TRACK_COUNT) {
tracks[msg.channel].trigger(); tracks[msg.channel].trigger();
} }
} break; } break;
case ld::MidiMessageType::ControlChange: { case ld::MidiMessageType::ControlChange: {
ld::ControlChangeEvent cc = msg.AsControlChange(); ld::DaisySeed::PrintLine(
"MIDI from seq=%i : CC - ch: %i, nr: %i, val: %i",
from_seq,
msg.channel,
msg.AsControlChange().control_number,
msg.AsControlChange().value);
const ld::ControlChangeEvent cc = msg.AsControlChange();
if (State::clear_mode && !from_seq) { if (State::clear_mode && !from_seq) {
ld::ControlChangeEvent cc = msg.AsControlChange();
ld::DaisySeed::PrintLine("Clear: ch: %i, cc: %i", cc.channel, cc.control_number); ld::DaisySeed::PrintLine("Clear: ch: %i, cc: %i", cc.channel, cc.control_number);
sequencer.clear_track_cc(cc.channel, cc.control_number); sequencer.clear_track_cc(cc.channel, cc.control_number);
} else { } else {
if (!from_seq) { if (!from_seq) {
sequencer.midi_in(msg); sequencer.midi_in(msg);
} }
float val_normalized = cc.value / 127.; const float val_normalized = cc.value / 127.;
switch (cc.control_number) { switch (cc.control_number) {
// Pots // Pots
case Constants::MIDI_Mapping::TRACK_PITCH: case Constants::MIDI_Mapping::TRACK_PITCH:
@ -225,6 +237,10 @@ namespace Heck::OSP {
} }
} break; } break;
default: { default: {
ld::DaisySeed::PrintLine(
"UNHANDLED MIDI UNHANDLED MIDI from seq=%i : CC - ch: %i",
from_seq,
msg.channel);
// Other MIDI message // Other MIDI message
} break; } break;
} }
@ -234,9 +250,6 @@ namespace Heck::OSP {
{ {
while (midi.HasEvents()) { while (midi.HasEvents()) {
ld::MidiEvent msg = midi.PopEvent(); ld::MidiEvent msg = midi.PopEvent();
if constexpr (Constants::Developer::LOG_MIDI_UART_POLLING) {
logger_midi.push(msg);
}
midi_dispatch(msg, false); midi_dispatch(msg, false);
} }
} }

Loading…
Cancel
Save