pull/51/merge
Tristan Rowley 2 weeks ago committed by GitHub
commit 6dc36d1704
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 21
      src/uClock.cpp
  2. 11
      src/uClock.h

@ -183,13 +183,30 @@ void uClockClass::stop()
}
}
void uClockClass::continue_playing() {
if (state == PAUSED) {
start_timer = millis();
if (mode == INTERNAL_CLOCK) {
state = STARTED;
} else {
state = STARTING;
}
if (onClockContinueCallback) {
onClockContinueCallback();
}
}
}
void uClockClass::pause()
{
if (mode == INTERNAL_CLOCK) {
if (state == PAUSED) {
start();
continue_playing();
} else {
stop();
state = PAUSED;
if (onClockPauseCallback) {
onClockPauseCallback();
}
}
}
}

@ -116,6 +116,14 @@ class uClockClass {
onClockStopCallback = callback;
}
void setOnClockContinue(void (*callback)()) {
onClockStartCallback = callback;
}
void setOnClockPause(void (*callback)()) {
onClockPauseCallback = callback;
}
void init();
void setPPQN(PPQNResolution resolution);
@ -127,6 +135,7 @@ class uClockClass {
void start();
void stop();
void pause();
void continue_playing();
void setTempo(float bpm);
float getTempo();
@ -171,6 +180,8 @@ class uClockClass {
void (*onSync24Callback)(uint32_t tick);
void (*onClockStartCallback)();
void (*onClockStopCallback)();
void (*onClockContinueCallback)();
void (*onClockPauseCallback)();
// internal clock control
// uint16_t ppqn;

Loading…
Cancel
Save