Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Parsers
MIDI_Parser.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <stddef.h>
4
#include <stdint.h>
5
#include <stdlib.h>
6
7
#include <
Def/Def.hpp
>
8
#include <
Settings/SettingsWrapper.hpp
>
9
10
#include "
MIDIReadEvent.hpp
"
11
#include "
MIDI_MessageTypes.hpp
"
12
13
BEGIN_CS_NAMESPACE
14
16
class
MIDI_Parser
{
17
public
:
19
ChannelMessage
getChannelMessage
()
const
{
return
ChannelMessage
(
midimsg
); }
21
SysCommonMessage
getSysCommonMessage
()
const
{
22
return
SysCommonMessage
(
midimsg
);
23
}
24
25
RealTimeMessage
getRealTimeMessage
()
const
{
return
rtmsg
; }
26
#if IGNORE_SYSEX
28
SysExMessage
getSysExMessage()
const
{
return
{
nullptr
, 0,
Cable_1
}; }
29
#endif
30
31
protected
:
32
MIDIMessage
midimsg
= {0x00, 0x00, 0x00};
33
RealTimeMessage
rtmsg
= {0x00};
34
35
public
:
37
static
bool
isStatus
(uint8_t data) {
return
data & (1 << 7); }
39
static
bool
isData
(uint8_t data) {
return
(data & (1 << 7)) == 0; }
40
};
41
42
END_CS_NAMESPACE
Cable_1
constexpr Cable Cable_1
Definition
Cable.hpp:118
Def.hpp
MIDIReadEvent.hpp
MIDI_MessageTypes.hpp
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:14
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:11
SettingsWrapper.hpp
MIDI_Parser
Base class for MIDI parsers.
Definition
MIDI_Parser.hpp:16
MIDI_Parser::getChannelMessage
ChannelMessage getChannelMessage() const
Get the latest MIDI channel voice message.
Definition
MIDI_Parser.hpp:19
MIDI_Parser::getRealTimeMessage
RealTimeMessage getRealTimeMessage() const
Get the latest MIDI real-time message.
Definition
MIDI_Parser.hpp:25
MIDI_Parser::isData
static bool isData(uint8_t data)
Check if the given byte is a MIDI data byte.
Definition
MIDI_Parser.hpp:39
MIDI_Parser::isStatus
static bool isStatus(uint8_t data)
Check if the given byte is a MIDI header/status byte.
Definition
MIDI_Parser.hpp:37
MIDI_Parser::getSysCommonMessage
SysCommonMessage getSysCommonMessage() const
Get the latest MIDI system common message.
Definition
MIDI_Parser.hpp:21
MIDI_Parser::midimsg
MIDIMessage midimsg
Definition
MIDI_Parser.hpp:32
MIDI_Parser::rtmsg
RealTimeMessage rtmsg
Definition
MIDI_Parser.hpp:33
ChannelMessage
Definition
MIDI_MessageTypes.hpp:205
MIDIMessage
Definition
MIDI_MessageTypes.hpp:115
RealTimeMessage
Definition
MIDI_MessageTypes.hpp:354
SysCommonMessage
Definition
MIDI_MessageTypes.hpp:263
SysExMessage
Definition
MIDI_MessageTypes.hpp:305
Generated by
1.17.0