summaryrefslogtreecommitdiff
path: root/src/audio/audio_fsm.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-07-31 09:41:49 +1000
committerjacqueline <me@jacqueline.id.au>2023-07-31 09:41:49 +1000
commit485eed28903a0bc23df9c1ced1417e35fd58c43c (patch)
treea363714c1b0f5074c48bea64f46a907b4aa45cfc /src/audio/audio_fsm.cpp
parent97bd3be892ce549dac8e0b9930607a282701653e (diff)
downloadtangara-fw-485eed28903a0bc23df9c1ced1417e35fd58c43c.tar.gz
use libtag duration where available
Diffstat (limited to 'src/audio/audio_fsm.cpp')
-rw-r--r--src/audio/audio_fsm.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp
index fc263351..79080c9a 100644
--- a/src/audio/audio_fsm.cpp
+++ b/src/audio/audio_fsm.cpp
@@ -93,6 +93,10 @@ void Uninitialised::react(const system_fsm::BootComplete&) {
transit<Standby>();
}
+void Standby::react(const PlayFile& ev) {
+ sFileSource->SetPath(ev.filename);
+}
+
void Standby::react(const internal::InputFileOpened& ev) {
transit<Playback>();
}
@@ -161,6 +165,9 @@ void Playback::react(const internal::InputFileClosed& ev) {}
void Playback::react(const internal::InputFileFinished& ev) {
ESP_LOGI(kTag, "finished playing file");
sTrackQueue->Next();
+ if (!sTrackQueue->GetCurrent()) {
+ transit<Standby>();
+ }
}
void Playback::react(const internal::AudioPipelineIdle& ev) {