From ae95e03792f25418994a67dcac119d0a053a562d Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 7 Nov 2024 21:07:52 +0100 Subject: [PATCH] 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. --- src/main_osp.cc | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main_osp.cc b/src/main_osp.cc index 274f04a..27a2ad9 100644 --- a/src/main_osp.cc +++ b/src/main_osp.cc @@ -169,21 +169,33 @@ namespace Heck::OSP { { switch (msg.type) { 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) { tracks[msg.channel].trigger(); } } break; 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) { - ld::ControlChangeEvent cc = msg.AsControlChange(); ld::DaisySeed::PrintLine("Clear: ch: %i, cc: %i", cc.channel, cc.control_number); sequencer.clear_track_cc(cc.channel, cc.control_number); } else { if (!from_seq) { sequencer.midi_in(msg); } - float val_normalized = cc.value / 127.; + const float val_normalized = cc.value / 127.; switch (cc.control_number) { // Pots case Constants::MIDI_Mapping::TRACK_PITCH: @@ -225,6 +237,10 @@ namespace Heck::OSP { } } break; default: { + ld::DaisySeed::PrintLine( + "UNHANDLED MIDI UNHANDLED MIDI from seq=%i : CC - ch: %i", + from_seq, + msg.channel); // Other MIDI message } break; } @@ -234,9 +250,6 @@ namespace Heck::OSP { { while (midi.HasEvents()) { ld::MidiEvent msg = midi.PopEvent(); - if constexpr (Constants::Developer::LOG_MIDI_UART_POLLING) { - logger_midi.push(msg); - } midi_dispatch(msg, false); } }