Control Surface  1.2.0
MIDI Control Surface library for Arduino
ProgramChanger.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include <Def/Def.hpp>
6 
8 
10 template <setting_t N>
11 class ProgramChanger : public Selectable<N> {
12  public:
15 
16  void select(setting_t setting) override {
17  setting = this->validateSetting(setting);
19  }
20 
21  private:
24 };
25 
Def.hpp
MIDIChannelCN
A class for saving a MIDI channel and cable number.
Definition: MIDIAddress.hpp:19
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:9
Selectable.hpp
Selectable
Definition: Selectable.hpp:11
ProgramChanger::channelCN
MIDIChannelCN channelCN
Definition: ProgramChanger.hpp:23
ProgramChanger
TODO: move to different folder?
Definition: ProgramChanger.hpp:11
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:10
Selectable::validateSetting
static setting_t validateSetting(setting_t setting)
Definition: Selectable.hpp:19
MIDI_Sender::sendPC
void sendPC(MIDIAddress address)
Send a MIDI Program Change event.
Definition: MIDI_Interface.ipp:79
Control_Surface_Class.hpp
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition: Array.hpp:36
Control_Surface
Control_Surface_ & Control_Surface
A predefined instance of the Control Surface to use in the Arduino sketches.
Definition: Control_Surface_Class.cpp:203
setting_t
uint8_t setting_t
The type used for Selectors.
Definition: Def.hpp:50
ProgramChanger::ProgramChanger
ProgramChanger(const Array< uint8_t, N > &programs, MIDIChannelCN channelCN)
Definition: ProgramChanger.hpp:13
ProgramChanger::select
void select(setting_t setting) override
Definition: ProgramChanger.hpp:16
ProgramChanger::programs
Array< uint8_t, N > programs
Definition: ProgramChanger.hpp:22