diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-01-04 15:57:58 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-01-04 15:57:58 +1100 |
| commit | 938ba62f57ed2c002bae4aec236eeaeb200e4cba (patch) | |
| tree | d70948199d1f7a2572df5f2940ee13eb79537937 /src/audio/audio_fsm.cpp | |
| parent | 42a98a3799bdfb328c5b5683bbf3d77046f1f5f8 (diff) | |
| download | tangara-fw-938ba62f57ed2c002bae4aec236eeaeb200e4cba.tar.gz | |
refactor handling of volume steps; improve controls
Diffstat (limited to 'src/audio/audio_fsm.cpp')
| -rw-r--r-- | src/audio/audio_fsm.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp index 90bfd60b..a5179156 100644 --- a/src/audio/audio_fsm.cpp +++ b/src/audio/audio_fsm.cpp @@ -129,7 +129,7 @@ void Uninitialised::react(const system_fsm::BootComplete& ev) { auto& nvs = sServices->nvs(); sI2SOutput->SetMaxVolume(nvs.AmpMaxVolume()); - sI2SOutput->SetVolumeDb(nvs.AmpCurrentVolume()); + sI2SOutput->SetVolume(nvs.AmpCurrentVolume()); if (sServices->nvs().OutputMode() == drivers::NvsStorage::Output::kHeadphones) { @@ -188,6 +188,10 @@ void Playback::exit() { vTaskDelay(pdMS_TO_TICKS(10)); sOutput->SetMode(IAudioOutput::Modes::kOnPaused); + // Stash the current volume now, in case it changed during playback, since we + // might be powering off soon. + sServices->nvs().AmpCurrentVolume(sOutput->GetVolume()); + events::System().Dispatch(PlaybackFinished{}); events::Ui().Dispatch(PlaybackFinished{}); } |
