added Tick (0xF9)

This commit is contained in:
lathoub 2020-03-22 23:03:39 +01:00
parent ef878344cd
commit 050e9c9160
3 changed files with 16 additions and 8 deletions

View File

@ -113,6 +113,7 @@ public:
inline void sendClock() { sendRealTime(Clock); };
inline void sendStart() { sendRealTime(Start); };
inline void sendStop() { sendRealTime(Stop); };
inline void sendTick() { sendRealTime(Tick); };
inline void sendContinue() { sendRealTime(Continue); };
inline void sendActiveSensing() { sendRealTime(ActiveSensing); };
inline void sendSystemReset() { sendRealTime(SystemReset); };
@ -198,6 +199,7 @@ public:
inline void setHandleTuneRequest(TuneRequestCallback fptr) { mTuneRequestCallback = fptr; }
inline void setHandleClock(ClockCallback fptr) { mClockCallback = fptr; }
inline void setHandleStart(StartCallback fptr) { mStartCallback = fptr; }
inline void setHandleTick(TickCallback fptr) { mTickCallback = fptr; }
inline void setHandleContinue(ContinueCallback fptr) { mContinueCallback = fptr; }
inline void setHandleStop(StopCallback fptr) { mStopCallback = fptr; }
inline void setHandleActiveSensing(ActiveSensingCallback fptr) { mActiveSensingCallback = fptr; }
@ -224,6 +226,7 @@ private:
TuneRequestCallback mTuneRequestCallback = nullptr;
ClockCallback mClockCallback = nullptr;
StartCallback mStartCallback = nullptr;
TickCallback mTickCallback = nullptr;
ContinueCallback mContinueCallback = nullptr;
StopCallback mStopCallback = nullptr;
ActiveSensingCallback mActiveSensingCallback = nullptr;

View File

@ -831,6 +831,7 @@ bool MidiInterface<Transport, Settings, Platform>::parse()
case Continue:
case Stop:
case Clock:
case Tick:
case ActiveSensing:
case SystemReset:
case TuneRequest:
@ -922,6 +923,7 @@ bool MidiInterface<Transport, Settings, Platform>::parse()
{
case Clock:
case Start:
case Tick:
case Continue:
case Stop:
case ActiveSensing:
@ -1280,6 +1282,7 @@ void MidiInterface<Transport, Settings, Platform>::disconnectCallbackFromType(Mi
case TuneRequest: mTuneRequestCallback = nullptr; break;
case Clock: mClockCallback = nullptr; break;
case Start: mStartCallback = nullptr; break;
case Tick: mTickCallback = nullptr; break;
case Continue: mContinueCallback = nullptr; break;
case Stop: mStopCallback = nullptr; break;
case ActiveSensing: mActiveSensingCallback = nullptr; break;
@ -1307,6 +1310,7 @@ void MidiInterface<Transport, Settings, Platform>::launchCallback()
// Real-time messages
case Clock: if (mClockCallback != nullptr) mClockCallback(); break;
case Start: if (mStartCallback != nullptr) mStartCallback(); break;
case Tick: if (mTickCallback != nullptr) mTickCallback(); break;
case Continue: if (mContinueCallback != nullptr) mContinueCallback(); break;
case Stop: if (mStopCallback != nullptr) mStopCallback(); break;
case ActiveSensing: if (mActiveSensingCallback != nullptr) mActiveSensingCallback(); break;

View File

@ -81,6 +81,7 @@ using SongSelectCallback = void (*)(byte songnumber);
using TuneRequestCallback = void (*)(void);
using ClockCallback = void (*)(void);
using StartCallback = void (*)(void);
using TickCallback = void (*)(void);
using ContinueCallback = void (*)(void);
using StopCallback = void (*)(void);
using ActiveSensingCallback = void (*)(void);
@ -92,13 +93,13 @@ using SystemResetCallback = void (*)(void);
enum MidiType: uint8_t
{
InvalidType = 0x00, ///< For notifying errors
NoteOff = 0x80, ///< Note Off
NoteOn = 0x90, ///< Note On
AfterTouchPoly = 0xA0, ///< Polyphonic AfterTouch
ControlChange = 0xB0, ///< Control Change / Channel Mode
ProgramChange = 0xC0, ///< Program Change
AfterTouchChannel = 0xD0, ///< Channel (monophonic) AfterTouch
PitchBend = 0xE0, ///< Pitch Bend
NoteOff = 0x80, ///< Channel Message - Note Off
NoteOn = 0x90, ///< Channel Message - Note On
AfterTouchPoly = 0xA0, ///< Channel Message - Polyphonic AfterTouch
ControlChange = 0xB0, ///< Channel Message - Control Change / Channel Mode
ProgramChange = 0xC0, ///< Channel Message - Program Change
AfterTouchChannel = 0xD0, ///< Channel Message - Channel (monophonic) AfterTouch
PitchBend = 0xE0, ///< Channel Message - Pitch Bend
SystemExclusive = 0xF0, ///< System Exclusive
SystemExclusiveStart = SystemExclusive, ///< System Exclusive Start
TimeCodeQuarterFrame = 0xF1, ///< System Common - MIDI Time Code Quarter Frame
@ -110,7 +111,7 @@ enum MidiType: uint8_t
SystemExclusiveEnd = 0xF7, ///< System Exclusive End
Clock = 0xF8, ///< System Real Time - Timing Clock
Undefined_F9 = 0xF9,
Tick = Undefined_F9,
Tick = Undefined_F9, ///< System Real Time - Timing Tick (1 tick = 10 milliseconds)
Start = 0xFA, ///< System Real Time - Start
Continue = 0xFB, ///< System Real Time - Continue
Stop = 0xFC, ///< System Real Time - Stop