From 8a2a2d226558d099243eea0aa9ae22b2791e0e0e Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 6 Jun 2023 10:20:46 +1000 Subject: Get basic audio playback going again --- src/audio/audio_fsm.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/audio/audio_fsm.cpp') diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp index a1bb956f..9c7af6fe 100644 --- a/src/audio/audio_fsm.cpp +++ b/src/audio/audio_fsm.cpp @@ -29,29 +29,29 @@ auto AudioState::Init(drivers::GpioExpander* gpio_expander, sGpioExpander = gpio_expander; sDac = dac; sDatabase = database; -} -namespace states { + sFileSource.reset(new FatfsAudioInput()); + sI2SOutput.reset(new I2SAudioOutput(sGpioExpander, sDac)); -void Uninitialised::react(const system_fsm::BootComplete&) { - transit([&]() { - sFileSource.reset(new FatfsAudioInput()); - sI2SOutput.reset(new I2SAudioOutput(sGpioExpander, sDac)); + // Perform initial pipeline configuration. + // TODO(jacqueline): Factor this out once we have any kind of dynamic + // reconfiguration. + AudioDecoder* codec = new AudioDecoder(); + sPipeline.emplace_back(codec); - // Perform initial pipeline configuration. - // TODO(jacqueline): Factor this out once we have any kind of dynamic - // reconfiguration. - AudioDecoder* codec = new AudioDecoder(); - sPipeline.emplace_back(codec); + Pipeline* pipeline = new Pipeline(sPipeline.front().get()); + pipeline->AddInput(sFileSource.get()); - Pipeline* pipeline = new Pipeline(sPipeline.front().get()); - pipeline->AddInput(sFileSource.get()); + task::StartPipeline(pipeline, sI2SOutput.get()); +} - task::StartPipeline(pipeline, sI2SOutput.get()); - }); +namespace states { + +void Uninitialised::react(const system_fsm::BootComplete&) { + transit(); } -void Standby::react(const PlayFile &ev) { +void Standby::react(const PlayFile& ev) { if (sFileSource->OpenFile(ev.filename)) { transit(); } -- cgit v1.2.3