| 
   
    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.