From 39f7545cd5ef7a30bbd482f3579df7744c6b688d Mon Sep 17 00:00:00 2001 From: jacqueline Date: Fri, 7 Jul 2023 15:29:47 +1000 Subject: wire up the playing screen with some real data Includes implementing song duration calculation for CBR MP3 files --- src/system_fsm/booting.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/system_fsm/booting.cpp') diff --git a/src/system_fsm/booting.cpp b/src/system_fsm/booting.cpp index dcfefbab..48b027d2 100644 --- a/src/system_fsm/booting.cpp +++ b/src/system_fsm/booting.cpp @@ -17,6 +17,7 @@ #include "spi.hpp" #include "system_events.hpp" #include "system_fsm.hpp" +#include "track_queue.hpp" #include "ui_fsm.hpp" #include "i2c.hpp" @@ -48,8 +49,9 @@ auto Booting::entry() -> void { sGpios->set_listener(&sGpiosCallback); // Start bringing up LVGL now, since we have all of its prerequisites. + sTrackQueue.reset(new audio::TrackQueue()); ESP_LOGI(kTag, "starting ui"); - if (!ui::UiState::Init(sGpios.get())) { + if (!ui::UiState::Init(sGpios.get(), sTrackQueue.get())) { events::Dispatch( FatalError()); return; @@ -70,7 +72,7 @@ auto Booting::entry() -> void { // state machines and inform them that the system is ready. ESP_LOGI(kTag, "starting audio"); - if (!audio::AudioState::Init(sGpios.get(), sDatabase)) { + if (!audio::AudioState::Init(sGpios.get(), sDatabase, sTrackQueue.get())) { events::Dispatch( FatalError()); return; @@ -83,6 +85,7 @@ auto Booting::entry() -> void { auto Booting::exit() -> void { // TODO(jacqueline): Gate this on something. Debug flag? Flashing mode? sAppConsole = new console::AppConsole(); + sAppConsole->sTrackQueue = sTrackQueue.get(); sAppConsole->Launch(); } -- cgit v1.2.3