8#include <Settings/SettingsWrapper.hpp>
101 const char *
prefix =
nullptr)
138 const char *
prefix =
nullptr)
165 const char *
prefix =
nullptr)
228 const char *
getName()
const override {
return "dbg"; }
263 const char *
prefix =
nullptr)
300 const char *
prefix =
nullptr)
329 const char *
prefix =
nullptr)
MIDIReadEvent
Values returned by the MIDI reading functions.
#define BEGIN_CS_NAMESPACE
A super class for object that have to be updated regularly.
A class for debug MIDI interfaces sending and receiving human-readable MIDI messages over a HardwareS...
HardwareSerialDebugMIDI_Interface(HardwareSerial &serial, unsigned long baud=AH::defaultBaudRate, const char *prefix=nullptr)
Construct a new Debug MIDI Interface on the given HardwareSerial interface with the given baud rate.
HardwareSerialDebugMIDI_Interface(HardwareSerial &serial, const char *prefix)
A class for debug MIDI outputs sending human-readable MIDI messages over a HardwareSerial port.
HardwareSerialDebugMIDI_Output(HardwareSerial &serial, const char *prefix)
HardwareSerialDebugMIDI_Output(HardwareSerial &serial, unsigned long baud=AH::defaultBaudRate, const char *prefix=nullptr)
Construct a new Debug MIDI Output on the given HardwareSerial interface with the given baud rate.
Class that parses hexadecimal ASCII text to bytes.
virtual ~MIDIOutputOnly()=default
An abstract class for MIDI interfaces.
ChannelMessage getChannelMessage() const
Get the latest MIDI channel voice message.
RealTimeMessage getRealTimeMessage() const
Get the latest MIDI real-time message.
SysCommonMessage getSysCommonMessage() const
Get the latest MIDI system common message.
Statically polymorphic template for classes that send MIDI messages.
void send(ChannelMessage message)
Send a MIDI Channel Voice message.
Receives MIDI messages from a MIDI pipe.
A class that implements MIDI debug send functions.
void sendSysCommonImpl(Print &, SysCommonMessage)
PrintDebugMIDI_Base(const char *prefix)
void sendRealTimeImpl(Print &, RealTimeMessage)
const char * getPrefix() const
void sendNowImpl(Print &)
void setPrefix(const char *prefix)
Set the prefix to be printed before each message.
void sendChannelMessageImpl(Print &, ChannelMessage)
void sendSysExImpl(Print &, SysExMessage)
A wrapper class for debug MIDI interfaces sending and receiving human-readable MIDI messages over a S...
SerialDebugMIDI_Interface(T &serial, unsigned long baud=AH::defaultBaudRate, const char *prefix=nullptr)
Construct a new Debug MIDI Interface on the given Serial interface with the given baud rate.
void begin() override
Start the Serial interface at the predefined baud rate.
SerialDebugMIDI_Interface(T &serial, const char *prefix)
A wrapper class for debug MIDI outputs sending human-readable MIDI messages over a Serial port of cla...
SerialDebugMIDI_Output(T &serial, unsigned long baud=AH::defaultBaudRate, const char *prefix=nullptr)
Construct a new Debug MIDI Output on the given Serial interface with the given baud rate.
void begin() override
Start the Serial interface at the predefined baud rate.
SerialDebugMIDI_Output(T &serial, const char *prefix)
Parser for Serial MIDI streams (and BLE-MIDI).
SysExMessage getSysExMessage() const
Get the latest SysEx message.
A class for MIDI interfaces sending and receiving human-readable MIDI messages over a Stream.
ChannelMessage getChannelMessage() const
Return the received channel voice message.
RealTimeMessage getRealTimeMessage() const
Return the received real-time message.
void sendChannelMessageImpl(ChannelMessage) override
Low-level function for sending a MIDI channel voice message.
void handleStall() override
Call back that should finish any MIDI messages that are in progress, and un-stall the pipe or MIDI so...
void update() override
Read the MIDI interface and call the callback if a message was received.
void sendNowImpl() override
Low-level function for sending any buffered outgoing MIDI messages.
SysCommonMessage getSysCommonMessage() const
Return the received system common message.
void sendRealTimeImpl(RealTimeMessage) override
Low-level function for sending a MIDI real-time message.
const char * getName() const override
Get the staller's name for debugging purposes.
HexPuller< StreamPuller > hexstream
void sendSysExImpl(SysExMessage) override
Low-level function for sending a system exclusive MIDI message.
void sendSysCommonImpl(SysCommonMessage) override
Low-level function for sending a MIDI system common message.
MIDIReadEvent read()
Try reading and parsing a single incoming MIDI message.
SysExMessage getSysExMessage() const
Return the received system exclusive message.
Stream & getStream() const
StreamDebugMIDI_Interface(Stream &stream, const char *prefix=nullptr)
Construct a debug MIDI interface on the given Stream.
A class for MIDI outputs sending human-readable MIDI messages over a Stream.
void sinkMIDIfromPipe(SysExMessage m) override
Accept an incoming MIDI System Exclusive message.
void sinkMIDIfromPipe(ChannelMessage m) override
Accept an incoming MIDI Channel message.
StreamDebugMIDI_Output(Print &stream, const char *prefix=nullptr)
Print & getStream() const
void sendSysExImpl(SysExMessage)
void sinkMIDIfromPipe(RealTimeMessage m) override
Accept an incoming MIDI Real-Time message.
void sendSysCommonImpl(SysCommonMessage)
void sendChannelMessageImpl(ChannelMessage)
void sendRealTimeImpl(RealTimeMessage)
void sinkMIDIfromPipe(SysCommonMessage m) override
Accept an incoming MIDI System Common message.
A class for debug MIDI interfaces sending and receiving human-readable MIDI messages over the USB CDC...
USBDebugMIDI_Interface(const char *prefix)
USBDebugMIDI_Interface(unsigned long baud=AH::defaultBaudRate, const char *prefix=nullptr)
Construct a USBDebugMIDI_Interface with the given baud rate.
A class for debug MIDI outputs sending human-readable MIDI messages over the USB CDC connection.
USBDebugMIDI_Output(const char *prefix)
USBDebugMIDI_Output(unsigned long baud=AH::defaultBaudRate, const char *prefix=nullptr)
Construct a USBDebugMIDI_Output with the given baud rate.
constexpr unsigned long defaultBaudRate
The default baud rate for debug output.
virtual void handleStall()=0
Call back that should finish any MIDI messages that are in progress, and un-stall the pipe or MIDI so...