From 88e108657a724f4caee85341be2e901e88e13884 Mon Sep 17 00:00:00 2001 From: Tristan Rowley Date: Fri, 11 Apr 2025 23:47:02 +0100 Subject: [PATCH] (untested) add user callbacks for 'pause' and 'continue' --- src/uClock.cpp | 6 ++++++ src/uClock.h | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/uClock.cpp b/src/uClock.cpp index 0fc802d..ee8f114 100755 --- a/src/uClock.cpp +++ b/src/uClock.cpp @@ -191,6 +191,9 @@ void uClockClass::continue_playing() { } else { state = STARTING; } + if (onClockContinueCallback) { + onClockContinueCallback(); + } } } @@ -201,6 +204,9 @@ void uClockClass::pause() continue_playing(); } else { state = PAUSED; + if (onClockPauseCallback) { + onClockPauseCallback(); + } } } } diff --git a/src/uClock.h b/src/uClock.h index e7bfd49..5323035 100755 --- a/src/uClock.h +++ b/src/uClock.h @@ -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); @@ -172,6 +180,8 @@ class uClockClass { void (*onSync24Callback)(uint32_t tick); void (*onClockStartCallback)(); void (*onClockStopCallback)(); + void (*onClockContinueCallback)(); + void (*onClockPauseCallback)(); // internal clock control // uint16_t ppqn;