Skip to content

Instantly share code, notes, and snippets.

@jahudka
Created October 25, 2023 17:47
Show Gist options
  • Save jahudka/6a501d9e30e570dcfd7dfaa2b60eed6a to your computer and use it in GitHub Desktop.
Save jahudka/6a501d9e30e570dcfd7dfaa2b60eed6a to your computer and use it in GitHub Desktop.
WVR backing track player
#include <WVR.h>
#include <wvr_pins.h>
#include <button.h>
WVR wvr;
Button* btnWifi;
Button* btnPlay;
Button* btnPrev;
Button* btnNext;
uint8_t track = 0;
void handleWifi() {
wvr.toggleWifi();
}
void handlePrev() {
track -= (track > 0);
}
void handleNext() {
track += (track < 99);
}
void handlePlay() {
wvr.play(0, track, 127);
}
void setup() {
wvr.useFTDI = false;
wvr.useUsbMidi = false;
wvr.begin();
wvr.resetPin(D0); // btnWifi
wvr.resetPin(D1); // btnPrev
wvr.resetPin(D2); // btnNext
wvr.resetPin(D11); // btnPlay
btnWifi = new Button(D0, FALLING, 250);
btnWifi->onPress(handleWifi);
btnPrev = new Button(D1, FALLING, 250);
btnPrev->onPress(handlePrev);
btnNext = new Button(D2, FALLING, 250);
btnNext->onPress(handleNext);
btnPlay = new Button(D11, FALLING, 500, true);
btnPlay->onPress(handlePlay);
}
void loop() {
vTaskDelete(NULL);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment