summaryrefslogtreecommitdiff
path: root/src/audio/audio_fsm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/audio_fsm.cpp')
-rw-r--r--src/audio/audio_fsm.cpp32
1 files changed, 16 insertions, 16 deletions
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<Standby>([&]() {
- 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<Standby>();
}
-void Standby::react(const PlayFile &ev) {
+void Standby::react(const PlayFile& ev) {
if (sFileSource->OpenFile(ev.filename)) {
transit<Playback>();
}