#include <Control_Surface.h> // Include the Control Surface library
// Instantiate a MIDI over USB interface.
USBMIDI_Interface midi;
// Ignore the name “increment” button, it's simply a button
// class that can detect long and short presses.
IncrementButton btn { 4 }; // кнопка полдключена на 4 пин
IncrementButton btn2 {5};// кнопка полдключена на 5 пин
uint8_t btn1_flg = 0;
uint8_t btn2_flg = 0;
void setup() {
Control_Surface.begin();
btn.begin(); //инициализация работы кнопки 1
btn2.begin(); //инициализация работы кнопки 2
}
void loop() {
Control_Surface.loop();
//поведение для первой кнопки
switch (btn.update()) {
case IncrementButton::ReleasedShort:
Control_Surface.sendCC(28, btn1_flg * 127); //посылаем midi cc 28 при коротком нажатии
btn1_flg = !btn1_flg;
break;
case IncrementButton::IncrementHold:
Control_Surface.sendCC(22, 127); //посылаем midi cc 22 при удержании
break;
}
//поведение для второй кнопки
switch (btn2.update()) {
case IncrementButton::ReleasedShort:
Control_Surface.sendCC(29, btn2_flg * 127); //посылаем midi cc 29 при коротком нажатии
btn2_flg = !btn2_flg;
break;
case IncrementButton::IncrementHold:
Control_Surface.sendCC(26, 127); //посылаем midi cc 26 при удержании
break;
}
}