diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-02-05 11:02:45 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-02-05 11:03:52 +1100 |
| commit | 299f3cc48f683d3e6dec1efb4957fdb49b4de2c3 (patch) | |
| tree | 6eb0445c300492e53cdc048f12cc6780a12c55eb /src/audio/include/audio_fsm.hpp | |
| parent | 811c335c2ac425320a1949ab23378172e86ae60a (diff) | |
| download | tangara-fw-299f3cc48f683d3e6dec1efb4957fdb49b4de2c3.tar.gz | |
Preserve the queue when going into standby
Diffstat (limited to 'src/audio/include/audio_fsm.hpp')
| -rw-r--r-- | src/audio/include/audio_fsm.hpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp index b8c505b0..884af8a8 100644 --- a/src/audio/include/audio_fsm.hpp +++ b/src/audio/include/audio_fsm.hpp @@ -52,12 +52,13 @@ class AudioState : public tinyfsm::Fsm<AudioState> { void react(const OutputModeChanged&); virtual void react(const system_fsm::BootComplete&) {} - void react(const system_fsm::KeyLockChanged&); + virtual void react(const system_fsm::KeyLockChanged&); + virtual void react(const system_fsm::StorageMounted&) {} virtual void react(const PlayFile&) {} virtual void react(const QueueUpdate&) {} virtual void react(const PlaybackUpdate&) {} - virtual void react(const TogglePlayPause&) {} + void react(const TogglePlayPause&); virtual void react(const internal::InputFileOpened&) {} virtual void react(const internal::InputFileClosed&) {} @@ -77,6 +78,9 @@ class AudioState : public tinyfsm::Fsm<AudioState> { static std::shared_ptr<IAudioOutput> sOutput; static std::optional<database::TrackId> sCurrentTrack; + + auto readyToPlay() -> bool; + static bool sIsPlaybackAllowed; }; namespace states { @@ -92,7 +96,8 @@ class Standby : public AudioState { void react(const PlayFile&) override; void react(const internal::InputFileOpened&) override; void react(const QueueUpdate&) override; - void react(const TogglePlayPause&) override; + void react(const system_fsm::KeyLockChanged&) override; + void react(const system_fsm::StorageMounted&) override; using AudioState::react; }; @@ -107,7 +112,6 @@ class Playback : public AudioState { void react(const PlayFile&) override; void react(const QueueUpdate&) override; void react(const PlaybackUpdate&) override; - void react(const TogglePlayPause&) override; void react(const internal::InputFileOpened&) override; void react(const internal::InputFileClosed&) override; |
