Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Parsers
MIDIReadEvent.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <stdint.h>
4
5
#include <
AH/PrintStream/PrintStream.hpp
>
6
#include <
Settings/NamespaceSettings.hpp
>
7
8
BEGIN_CS_NAMESPACE
9
11
enum class
MIDIReadEvent
: uint8_t {
12
NO_MESSAGE
= 0,
13
CHANNEL_MESSAGE
= 1,
14
SYSEX_MESSAGE
= 2,
15
REALTIME_MESSAGE
= 3,
16
SYSEX_CHUNK
= 4,
17
SYSCOMMON_MESSAGE
= 5,
18
};
19
20
inline
FlashString_t
enum_to_string
(
MIDIReadEvent
evt) {
21
switch
(evt) {
22
case
MIDIReadEvent::NO_MESSAGE
:
return
F(
"NO_MESSAGE"
);
23
case
MIDIReadEvent::CHANNEL_MESSAGE
:
return
F(
"CHANNEL_MESSAGE"
);
24
case
MIDIReadEvent::SYSEX_MESSAGE
:
return
F(
"SYSEX_MESSAGE"
);
25
case
MIDIReadEvent::REALTIME_MESSAGE
:
return
F(
"REALTIME_MESSAGE"
);
26
case
MIDIReadEvent::SYSEX_CHUNK
:
return
F(
"SYSEX_CHUNK"
);
27
case
MIDIReadEvent::SYSCOMMON_MESSAGE
:
return
F(
"SYSCOMMON_MESSAGE"
);
28
default
:
return
F(
"<invalid>"
);
29
}
30
}
31
32
inline
Print &
operator<<
(Print &p,
MIDIReadEvent
evt) {
33
return
p <<
enum_to_string
(evt);
34
}
35
36
END_CS_NAMESPACE
FlashString_t
std::remove_reference< decltype(*F(""))>::type * FlashString_t
Definition
Arduino-Wrapper.h:18
MIDIReadEvent
MIDIReadEvent
Values returned by the MIDI reading functions.
Definition
MIDIReadEvent.hpp:11
MIDIReadEvent::CHANNEL_MESSAGE
@ CHANNEL_MESSAGE
A MIDI Channel message was received.
Definition
MIDIReadEvent.hpp:13
MIDIReadEvent::SYSEX_CHUNK
@ SYSEX_CHUNK
An incomplete System Exclusive message.
Definition
MIDIReadEvent.hpp:16
MIDIReadEvent::SYSCOMMON_MESSAGE
@ SYSCOMMON_MESSAGE
A MIDI System Common message was received.
Definition
MIDIReadEvent.hpp:17
MIDIReadEvent::NO_MESSAGE
@ NO_MESSAGE
No new messages were received.
Definition
MIDIReadEvent.hpp:12
MIDIReadEvent::SYSEX_MESSAGE
@ SYSEX_MESSAGE
A MIDI System Exclusive message was received.
Definition
MIDIReadEvent.hpp:14
MIDIReadEvent::REALTIME_MESSAGE
@ REALTIME_MESSAGE
A MIDI Real-Time message was received.
Definition
MIDIReadEvent.hpp:15
enum_to_string
FlashString_t enum_to_string(MIDIReadEvent evt)
Definition
MIDIReadEvent.hpp:20
operator<<
Print & operator<<(Print &p, MIDIReadEvent evt)
Definition
MIDIReadEvent.hpp:32
PrintStream.hpp
NamespaceSettings.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
Generated by
1.17.0