Control Surface  1.1.1
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
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition: Settings/NamespaceSettings.hpp:9
Selectable.hpp
Selectable
Definition: Selectable.hpp:11
Control_Surface_::MIDI
MIDI_Interface & MIDI()
Get the MIDI interface of the Control Surface.
Definition: Control_Surface_Class.cpp:58
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
ProgramChanger::programs
const Array< uint8_t, N > programs
Definition: ProgramChanger.hpp:22
Control_Surface_Class.hpp
ProgramChanger::channelCN
const MIDICNChannel channelCN
Definition: ProgramChanger.hpp:23
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:176
MIDICNChannel
A class for saving a MIDI channel and cable number.
Definition: MIDICNChannelAddress.hpp:19
ProgramChanger::ProgramChanger
ProgramChanger(const Array< uint8_t, N > &programs, MIDICNChannel channelCN)
Definition: ProgramChanger.hpp:13
setting_t
uint8_t setting_t
The type used for Selectors.
Definition: Def.hpp:50
ProgramChanger::select
void select(setting_t setting) override
Definition: ProgramChanger.hpp:16
MIDI_Interface::sendPC
void sendPC(MIDICNChannelAddress address)
Send a MIDI Program Change event.
Definition: MIDI_Interface.cpp:85