From f1f0ef41ce585a3b88007c85f3ca67c232ac503b Mon Sep 17 00:00:00 2001 From: Francois Best Date: Thu, 27 Oct 2016 08:11:29 +0200 Subject: [PATCH] Using new definitions for Thru. --- src/MIDI.h | 8 ++--- src/MIDI.hpp | 30 +++++++--------- test/unit-tests/tests/unit-tests_MidiThru.cpp | 36 +++++++++---------- 3 files changed, 34 insertions(+), 40 deletions(-) diff --git a/src/MIDI.h b/src/MIDI.h index cb3fa83..aa318cf 100644 --- a/src/MIDI.h +++ b/src/MIDI.h @@ -205,12 +205,12 @@ private: // MIDI Soft Thru public: - inline MidiFilterMode getFilterMode() const; + inline Thru::Mode getFilterMode() const; inline bool getThruState() const; - inline void turnThruOn(MidiFilterMode inThruFilterMode = Full); + inline void turnThruOn(Thru::Mode inThruFilterMode = Thru::Full); inline void turnThruOff(); - inline void setThruFilterMode(MidiFilterMode inThruFilterMode); + inline void setThruFilterMode(Thru::Mode inThruFilterMode); private: void thruFilter(byte inChannel); @@ -237,7 +237,7 @@ private: unsigned mCurrentRpnNumber; unsigned mCurrentNrpnNumber; bool mThruActivated : 1; - MidiFilterMode mThruFilterMode : 7; + Thru::Mode mThruFilterMode : 7; MidiMessage mMessage; diff --git a/src/MIDI.hpp b/src/MIDI.hpp index 4fc2655..57da760 100644 --- a/src/MIDI.hpp +++ b/src/MIDI.hpp @@ -42,7 +42,7 @@ inline MidiInterface::MidiInterface(SerialPort& inSerial) , mCurrentRpnNumber(0xffff) , mCurrentNrpnNumber(0xffff) , mThruActivated(true) - , mThruFilterMode(Full) + , mThruFilterMode(Thru::Full) { mNoteOffCallback = 0; mNoteOnCallback = 0; @@ -107,7 +107,7 @@ void MidiInterface::begin(Channel inChannel) mMessage.data1 = 0; mMessage.data2 = 0; - mThruFilterMode = Full; + mThruFilterMode = Thru::Full; mThruActivated = true; } @@ -1250,20 +1250,20 @@ void MidiInterface::launchCallback() /*! \brief Set the filter for thru mirroring \param inThruFilterMode a filter mode - @see MidiFilterMode + @see Thru::Mode */ template -void MidiInterface::setThruFilterMode(MidiFilterMode inThruFilterMode) +void MidiInterface::setThruFilterMode(Thru::Mode inThruFilterMode) { mThruFilterMode = inThruFilterMode; - if (mThruFilterMode != Off) + if (mThruFilterMode != Thru::Off) mThruActivated = true; else mThruActivated = false; } template -MidiFilterMode MidiInterface::getFilterMode() const +Thru::Mode MidiInterface::getFilterMode() const { return mThruFilterMode; } @@ -1275,7 +1275,7 @@ bool MidiInterface::getThruState() const } template -void MidiInterface::turnThruOn(MidiFilterMode inThruFilterMode) +void MidiInterface::turnThruOn(Thru::Mode inThruFilterMode) { mThruActivated = true; mThruFilterMode = inThruFilterMode; @@ -1285,7 +1285,7 @@ template void MidiInterface::turnThruOff() { mThruActivated = false; - mThruFilterMode = Off; + mThruFilterMode = Thru::Off; } /*! @} */ // End of doc group MIDI Thru @@ -1300,7 +1300,7 @@ template void MidiInterface::thruFilter(Channel inChannel) { // If the feature is disabled, don't do anything. - if (!mThruActivated || (mThruFilterMode == Off)) + if (!mThruActivated || (mThruFilterMode == Thru::Off)) return; // First, check if the received message is Channel @@ -1312,14 +1312,14 @@ void MidiInterface::thruFilter(Channel inChannel) // Now let's pass it to the output switch (mThruFilterMode) { - case Full: + case Thru::Full: send(mMessage.type, mMessage.data1, mMessage.data2, mMessage.channel); break; - case SameChannel: + case Thru::SameChannel: if (filter_condition) { send(mMessage.type, @@ -1329,7 +1329,7 @@ void MidiInterface::thruFilter(Channel inChannel) } break; - case DifferentChannel: + case Thru::DifferentChannel: if (!filter_condition) { send(mMessage.type, @@ -1339,12 +1339,6 @@ void MidiInterface::thruFilter(Channel inChannel) } break; - case Off: - // Do nothing. - // Technically it's impossible to get there because - // the case was already tested earlier. - break; - default: break; } diff --git a/test/unit-tests/tests/unit-tests_MidiThru.cpp b/test/unit-tests/tests/unit-tests_MidiThru.cpp index 31c9bd6..8f301dc 100644 --- a/test/unit-tests/tests/unit-tests_MidiThru.cpp +++ b/test/unit-tests/tests/unit-tests_MidiThru.cpp @@ -30,10 +30,10 @@ TEST(MidiThru, defaultValues) MidiInterface midi(serial); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::Full); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Full); midi.begin(); // Should not change the state EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::Full); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Full); } TEST(MidiThru, beginEnablesThru) @@ -43,10 +43,10 @@ TEST(MidiThru, beginEnablesThru) midi.turnThruOff(); EXPECT_EQ(midi.getThruState(), false); - EXPECT_EQ(midi.getFilterMode(), midi::Off); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Off); midi.begin(); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::Full); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Full); } TEST(MidiThru, setGet) @@ -56,30 +56,30 @@ TEST(MidiThru, setGet) midi.turnThruOff(); EXPECT_EQ(midi.getThruState(), false); - EXPECT_EQ(midi.getFilterMode(), midi::Off); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Off); midi.turnThruOn(); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::Full); - midi.turnThruOn(midi::SameChannel); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Full); + midi.turnThruOn(midi::Thru::SameChannel); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::SameChannel); - midi.turnThruOn(midi::DifferentChannel); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::SameChannel); + midi.turnThruOn(midi::Thru::DifferentChannel); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::DifferentChannel); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::DifferentChannel); - midi.setThruFilterMode(midi::Full); + midi.setThruFilterMode(midi::Thru::Full); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::Full); - midi.setThruFilterMode(midi::SameChannel); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Full); + midi.setThruFilterMode(midi::Thru::SameChannel); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::SameChannel); - midi.setThruFilterMode(midi::DifferentChannel); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::SameChannel); + midi.setThruFilterMode(midi::Thru::DifferentChannel); EXPECT_EQ(midi.getThruState(), true); - EXPECT_EQ(midi.getFilterMode(), midi::DifferentChannel); - midi.setThruFilterMode(midi::Off); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::DifferentChannel); + midi.setThruFilterMode(midi::Thru::Off); EXPECT_EQ(midi.getThruState(), false); - EXPECT_EQ(midi.getFilterMode(), midi::Off); + EXPECT_EQ(midi.getFilterMode(), midi::Thru::Off); } END_UNNAMED_NAMESPACE