MIDI Control Surface library for Arduino
|
Go to the documentation of this file.
11 #include <Settings/SettingsWrapper.hpp>
82 [[deprecated(
"Use Control_Surface.send(...) directly, instead of "
83 "Control_Surface.MIDI().send(...)")]]
107 void sendImpl(uint8_t header, uint8_t d1, uint8_t d2, uint8_t cn);
111 void sendImpl(uint8_t header, uint8_t d1, uint8_t cn);
116 void sendImpl(
const uint8_t *data,
size_t length, uint8_t cn);
121 void sendImpl(uint8_t rt, uint8_t cn);
Control_Surface_ & Control_Surface
A predefined instance of the Control Surface to use in the Arduino sketches.
Control_Surface_ & operator=(Control_Surface_ const &)=delete
Copying is not allowed.
Class that routes MIDI messages from a MIDI_Source to a MIDI_Sink.
A super class for object that have to be updated regularly.
MIDI_Sender< Control_Surface_ > & MIDI()
Get a reference to the MIDI sender.
void updateDisplays()
Clear, draw and display all displays.
bool(*)(RealTimeMessage) RealTimeMessageCallback
Callback function type for Real-Time messages.
A class for easily managing timed events.
#define BEGIN_CS_NAMESPACE
A class that reads and filters an analog input.
SysExMessageCallback sysExMessageCallback
Timer< micros > potentiometerTimer
A timer to know when to update the analog inputs.
void disconnectMIDI_Interfaces()
Disconnect Control Surface from the MIDI interfaces it's connected to.
constexpr uint8_t MAX_FPS
The maximum frame rate of the displays.
void updateMidiInput()
Update all MIDI interfaces to receive new MIDI events.
A struct that is both a TrueMIDI_Sink and a TrueMIDI_Source.
void loop()
Update all MIDI elements, send MIDI events and read MIDI input.
static Control_Surface_ & getInstance()
Return the static Control_Surface_ instance.
bool(*)(ChannelMessage) ChannelMessageCallback
Callback function type for channel messages.
void sendImpl(uint8_t header, uint8_t d1, uint8_t d2, uint8_t cn)
Low-level function for sending a 3-byte MIDI message.
Timer< micros > displayTimer
A timer to know when to refresh the displays.
void setMIDIInputCallbacks(ChannelMessageCallback channelMessageCallback, SysExMessageCallback sysExMessageCallback, RealTimeMessageCallback realTimeMessageCallback)
Set the MIDI input callbacks.
bool connectDefaultMIDI_Interface()
Connect Control Surface to the default MIDI interface.
void sinkMIDIfromPipe(ChannelMessage msg) override
Accept an incoming MIDI Channel message.
Statically polymorphic template for classes that send MIDI messages.
Control_Surface_(Control_Surface_ const &)=delete
Copying is not allowed.
void updateInputs()
Update all MIDIInputElements.
RealTimeMessageCallback realTimeMessageCallback
bool(*)(SysExMessage) SysExMessageCallback
Callback function type for SysEx messages.
This class ensures initialization, updating, and interaction between all other classes,...
Control_Surface_()=default
Control_Surface_ is a singleton, so the constructor is private.
constexpr unsigned long FILTERED_INPUT_UPDATE_INTERVAL
The interval between updating filtered analog inputs, in microseconds.
ChannelMessageCallback channelMessageCallback
void begin()
Initialize the Control_Surface.