FastLED 3.9.15
Loading...
Searching...
No Matches

◆ launchCallback()

template<class Transport, class Settings, class Platform>
void MidiInterface< Transport, Settings, Platform >::launchCallback ( )
private

Definition at line 1294 of file MIDI.hpp.

1295{
1297
1298 // The order is mixed to allow frequent messages to trigger their callback faster.
1299 switch (mMessage.type)
1300 {
1301 // Notes
1302 case NoteOff: if (mNoteOffCallback != nullptr) mNoteOffCallback(mMessage.channel, mMessage.data1, mMessage.data2); break;
1303 case NoteOn: if (mNoteOnCallback != nullptr) mNoteOnCallback(mMessage.channel, mMessage.data1, mMessage.data2); break;
1304
1305 // Real-time messages
1306 case Clock: if (mClockCallback != nullptr) mClockCallback(); break;
1307 case Start: if (mStartCallback != nullptr) mStartCallback(); break;
1308 case Tick: if (mTickCallback != nullptr) mTickCallback(); break;
1309 case Continue: if (mContinueCallback != nullptr) mContinueCallback(); break;
1310 case Stop: if (mStopCallback != nullptr) mStopCallback(); break;
1311 case ActiveSensing: if (mActiveSensingCallback != nullptr) mActiveSensingCallback(); break;
1312
1313 // Continuous controllers
1314 case ControlChange: if (mControlChangeCallback != nullptr) mControlChangeCallback(mMessage.channel, mMessage.data1, mMessage.data2); break;
1315 case PitchBend: if (mPitchBendCallback != nullptr) mPitchBendCallback(mMessage.channel, (int)((mMessage.data1 & 0x7f) | ((mMessage.data2 & 0x7f) << 7)) + MIDI_PITCHBEND_MIN); break;
1316 case AfterTouchPoly: if (mAfterTouchPolyCallback != nullptr) mAfterTouchPolyCallback(mMessage.channel, mMessage.data1, mMessage.data2); break;
1318
1319 case ProgramChange: if (mProgramChangeCallback != nullptr) mProgramChangeCallback(mMessage.channel, mMessage.data1); break;
1320 case SystemExclusive: if (mSystemExclusiveCallback != nullptr) mSystemExclusiveCallback(mMessage.sysexArray, mMessage.getSysExSize()); break;
1321
1322 // Occasional messages
1324 case SongPosition: if (mSongPositionCallback != nullptr) mSongPositionCallback(unsigned((mMessage.data1 & 0x7f) | ((mMessage.data2 & 0x7f) << 7))); break;
1325 case SongSelect: if (mSongSelectCallback != nullptr) mSongSelectCallback(mMessage.data1); break;
1326 case TuneRequest: if (mTuneRequestCallback != nullptr) mTuneRequestCallback(); break;
1327
1328 case SystemReset: if (mSystemResetCallback != nullptr) mSystemResetCallback(); break;
1329
1330 case InvalidType:
1331 default:
1332 break; // LCOV_EXCL_LINE - Unreacheable code, but prevents unhandled case warning.
1333 }
1334}
ContinueCallback mContinueCallback
Definition MIDI.h:231
AfterTouchPolyCallback mAfterTouchPolyCallback
Definition MIDI.h:218
ActiveSensingCallback mActiveSensingCallback
Definition MIDI.h:233
TimeCodeQuarterFrameCallback mTimeCodeQuarterFrameCallback
Definition MIDI.h:224
ControlChangeCallback mControlChangeCallback
Definition MIDI.h:219
void(* mMessageCallback)(const MidiMessage &message)
Definition MIDI.h:214
TickCallback mTickCallback
Definition MIDI.h:230
TuneRequestCallback mTuneRequestCallback
Definition MIDI.h:227
ClockCallback mClockCallback
Definition MIDI.h:228
SongSelectCallback mSongSelectCallback
Definition MIDI.h:226
StopCallback mStopCallback
Definition MIDI.h:232
NoteOnCallback mNoteOnCallback
Definition MIDI.h:217
SongPositionCallback mSongPositionCallback
Definition MIDI.h:225
AfterTouchChannelCallback mAfterTouchChannelCallback
Definition MIDI.h:221
SystemResetCallback mSystemResetCallback
Definition MIDI.h:234
StartCallback mStartCallback
Definition MIDI.h:229
SystemExclusiveCallback mSystemExclusiveCallback
Definition MIDI.h:223
ProgramChangeCallback mProgramChangeCallback
Definition MIDI.h:220
MidiMessage mMessage
Definition MIDI.h:283
PitchBendCallback mPitchBendCallback
Definition MIDI.h:222
NoteOffCallback mNoteOffCallback
Definition MIDI.h:216
The main class for MIDI handling. It is templated over the type of serial port to provide abstraction...
Definition MIDI.h:55

References ActiveSensing, AfterTouchChannel, AfterTouchPoly, Clock, Continue, ControlChange, InvalidType, mActiveSensingCallback, mAfterTouchChannelCallback, mAfterTouchPolyCallback, mClockCallback, mContinueCallback, mControlChangeCallback, MIDI_PITCHBEND_MIN, mMessage, mMessageCallback, mNoteOffCallback, mNoteOnCallback, mPitchBendCallback, mProgramChangeCallback, mSongPositionCallback, mSongSelectCallback, mStartCallback, mStopCallback, mSystemExclusiveCallback, mSystemResetCallback, mTickCallback, mTimeCodeQuarterFrameCallback, mTuneRequestCallback, NoteOff, NoteOn, PitchBend, ProgramChange, SongPosition, SongSelect, Start, Stop, SystemExclusive, SystemReset, Tick, TimeCodeQuarterFrame, and TuneRequest.

Referenced by parse(), and read().

+ Here is the caller graph for this function: