summaryrefslogtreecommitdiff
path: root/src/audio/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-06-21 15:33:51 +1000
committerjacqueline <me@jacqueline.id.au>2023-06-21 15:33:51 +1000
commitb58b072d2d42cc1a9dab3e6b27f2f3ae70fe7610 (patch)
treeea057f6ad3b9be91f098a49598219d7217740a4d /src/audio/include
parent23ecff10112ffd8cace0a0f41f4abd45222af2d8 (diff)
downloadtangara-fw-b58b072d2d42cc1a9dab3e6b27f2f3ae70fe7610.tar.gz
Add current playback timestamps
Diffstat (limited to 'src/audio/include')
-rw-r--r--src/audio/include/audio_events.hpp5
-rw-r--r--src/audio/include/audio_fsm.hpp4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/audio/include/audio_events.hpp b/src/audio/include/audio_events.hpp
index 60a0740c..7359e8ac 100644
--- a/src/audio/include/audio_events.hpp
+++ b/src/audio/include/audio_events.hpp
@@ -6,6 +6,7 @@
#pragma once
+#include <stdint.h>
#include <string>
#include "tinyfsm.hpp"
@@ -23,6 +24,10 @@ struct PlayTrack : tinyfsm::Event {
std::optional<database::TrackData> data;
};
+struct PlaybackUpdate : tinyfsm::Event {
+ uint32_t seconds_elapsed;
+};
+
struct InputFileOpened : tinyfsm::Event {};
struct InputFileFinished : tinyfsm::Event {};
struct AudioPipelineIdle : tinyfsm::Event {};
diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp
index bd902706..1f3b1dbd 100644
--- a/src/audio/include/audio_fsm.hpp
+++ b/src/audio/include/audio_fsm.hpp
@@ -44,6 +44,8 @@ class AudioState : public tinyfsm::Fsm<AudioState> {
virtual void react(const PlayTrack&) {}
virtual void react(const PlayFile&) {}
+ virtual void react(const PlaybackUpdate&) {}
+
virtual void react(const InputFileOpened&) {}
virtual void react(const InputFileFinished&) {}
virtual void react(const AudioPipelineIdle&) {}
@@ -87,6 +89,8 @@ class Playback : public AudioState {
void react(const PlayTrack&) override;
void react(const PlayFile&) override;
+ void react(const PlaybackUpdate&) override;
+
void react(const InputFileOpened&) override;
void react(const InputFileFinished&) override;
void react(const AudioPipelineIdle&) override;