#pragma once #include #include #include BEGIN_CS_NAMESPACE template class ProgramChanger : public Selectable { public: ProgramChanger(const Array &programs, MIDIChannelCable channelCN) : programs(programs), channelCN(channelCN) {} void select(setting_t setting) override { setting = this->validateSetting(setting); Control_Surface.sendProgramChange(channelCN, programs[setting]); } private: Array programs; MIDIChannelCable channelCN; }; END_CS_NAMESPACE