cs-midi-docs/docs/examples/04-banks/04-many-buttons-selector.md

630 B

ManyButtonsSelector

One button per bank for direct bank selection.

#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
#include <cs_midi.h>

using namespace cs;

BluetoothMIDI_Interface midi;

Bank<4> bank(2);

Bankable::CCValue<4> ccVal {
    {bank, BankType::ChangeAddress},
    {16, Channel_1},
};

ManyButtonsSelector<4> selector {
    bank,
    {2, 3, 4, 5},
};

int main() {
    stdio_init_all();
    if (cyw43_arch_init()) return 1;
    Control_Surface.begin();
    while (true) {
        Control_Surface.loop();
        uint8_t val = ccVal.getValue();
        (void)val;
        sleep_ms(1);
    }
}