cs-midi-docs/docs/examples/01-output/19-program-changer.md

42 lines
720 B
Markdown

# ProgramChanger
Sends different program changes based on selector state.
> Original: `Program-Changer.ino`
```cpp pico
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
#include <cs_midi.h>
using namespace cs;
BluetoothMIDI_Interface midi;
ProgramChanger<4> programChanger {
{{
MIDI_PC::Acoustic_Grand_Piano,
MIDI_PC::Rock_Organ,
MIDI_PC::Steel_Drums,
MIDI_PC::Pad_2,
}},
Channel_1,
};
IncrementDecrementSelector<4> selector {
programChanger,
{2, 3},
Wrap::Wrap,
};
int main() {
stdio_init_all();
if (cyw43_arch_init()) return 1;
Control_Surface.begin();
while (true) {
Control_Surface.loop();
sleep_ms(1);
}
}
```