From 1fe67bec4f81ed98bf73d5d5e7fe12b39814630d Mon Sep 17 00:00:00 2001 From: Eric Sherman Date: Fri, 6 Aug 2021 03:10:36 -0400 Subject: [PATCH] makes changes requested in #232 discussion --- src/MIDI.h | 4 +--- src/MIDI.hpp | 18 +++++--------- test/unit-tests/tests/unit-tests_MidiThru.cpp | 24 ------------------- 3 files changed, 7 insertions(+), 39 deletions(-) diff --git a/src/MIDI.h b/src/MIDI.h index 7d4d64b..995202b 100644 --- a/src/MIDI.h +++ b/src/MIDI.h @@ -236,8 +236,6 @@ private: // MIDI Soft Thru public: - inline bool getThruState() const; - using ThruFilterCallback = bool (*)(const MidiMessage& inMessage); using ThruMapCallback = MidiMessage (*)(const MidiMessage& inMessage); inline MidiInterface& turnThruOn(ThruFilterCallback fptr = thruOn); @@ -254,7 +252,7 @@ public: } private: - void thruFilter(); + void processThru(); static inline bool thruOn(const MidiMessage& inMessage) { (void)inMessage; return true; } static inline bool thruOff(const MidiMessage& inMessage) { (void)inMessage; return false; } static inline MidiMessage thruEcho(const MidiMessage& inMessage) { return inMessage; } diff --git a/src/MIDI.hpp b/src/MIDI.hpp index db3afd5..0cca12a 100644 --- a/src/MIDI.hpp +++ b/src/MIDI.hpp @@ -816,7 +816,7 @@ inline bool MidiInterface::read(Channel inChannel if (channelMatch) launchCallback(); - thruFilter(); + processThru(); return channelMatch; } @@ -1397,13 +1397,7 @@ void MidiInterface::launchCallback() */ template -inline bool MidiInterface::getThruState() const -{ - return mThruFilterCallback != thruOff; -} - -template -inline MidiInterface& MidiInterface::turnThruOn(ThruFilterCallback fptr) +inline void MidiInterface::turnThruOn(ThruFilterCallback fptr) { mThruFilterCallback = fptr; return *this; @@ -1425,7 +1419,7 @@ inline MidiInterface& MidiInterface -void MidiInterface::thruFilter() +void MidiInterface::processThru() { if (!mThruFilterCallback(mMessage)) return; @@ -1433,7 +1427,7 @@ void MidiInterface::thruFilter() MidiMessage thruMessage = mThruMapCallback(mMessage); // First, check if the received message is Channel - if (mMessage.type >= NoteOff && mMessage.type <= PitchBend) + if (thruMessage.type >= NoteOff && thruMessage.type <= PitchBend) { send(thruMessage.type, thruMessage.data1, @@ -1443,7 +1437,7 @@ void MidiInterface::thruFilter() else { // Send the message to the output - switch (mMessage.type) + switch (thruMessage.type) { // Real Time and 1 byte case Clock: @@ -1453,7 +1447,7 @@ void MidiInterface::thruFilter() case ActiveSensing: case SystemReset: case TuneRequest: - sendRealTime(mMessage.type); + sendRealTime(thruMessage.type); break; case SystemExclusive: diff --git a/test/unit-tests/tests/unit-tests_MidiThru.cpp b/test/unit-tests/tests/unit-tests_MidiThru.cpp index 27319a7..b89c262 100644 --- a/test/unit-tests/tests/unit-tests_MidiThru.cpp +++ b/test/unit-tests/tests/unit-tests_MidiThru.cpp @@ -59,30 +59,6 @@ MidiMessage thruMapNoteOnFullVelocity(const MidiMessage& inMessage) // ----------------------------------------------------------------------------- -TEST(MidiThru, defaultValues) -{ - EXPECT_EQ(midi.getThruState(), true); - midi.begin(); // Should not change the state - EXPECT_EQ(midi.getThruState(), true); -} - -TEST(MidiThru, beginEnablesThru) -{ - midi.turnThruOff(); - EXPECT_EQ(midi.getThruState(), false); - midi.begin(); - EXPECT_EQ(midi.getThruState(), true); -} - -TEST(MidiThru, setGet) -{ - midi.turnThruOff(); - EXPECT_EQ(midi.getThruState(), false); - - midi.turnThruOn(); - EXPECT_EQ(midi.getThruState(), true); -} - TEST(MidiThru, off) { midi.begin(MIDI_CHANNEL_OMNI);