diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-04-02 20:42:19 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-04-02 20:42:19 +1100 |
| commit | c24479d4d8c2d6258615bb7778036f0fb3440703 (patch) | |
| tree | 6bdea2f56b3e5877acceacc3a90d95411107e3ad /src/audio/audio_fsm.cpp | |
| parent | 654fde5f6819cb52a198a524ab78d97e51ab97c7 (diff) | |
| parent | b229f452a6a0c8e047e1e9c0c709953ed822c610 (diff) | |
| download | tangara-fw-c24479d4d8c2d6258615bb7778036f0fb3440703.tar.gz | |
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
Diffstat (limited to 'src/audio/audio_fsm.cpp')
| -rw-r--r-- | src/audio/audio_fsm.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp index 424b0eff..a8f1260f 100644 --- a/src/audio/audio_fsm.cpp +++ b/src/audio/audio_fsm.cpp @@ -276,7 +276,24 @@ void AudioState::react(const system_fsm::HasPhonesChanged& ev) { } void AudioState::react(const SetVolume& ev) { - // TODO. + if (ev.db.has_value()) { + if (sOutput->SetVolumeDb(ev.db.value())) { + commitVolume(); + events::Ui().Dispatch(VolumeChanged{ + .percent = sOutput->GetVolumePct(), + .db = sOutput->GetVolumeDb(), + }); + } + + } else if (ev.percent.has_value()) { + if (sOutput->SetVolumePct(ev.percent.value())) { + commitVolume(); + events::Ui().Dispatch(VolumeChanged{ + .percent = sOutput->GetVolumePct(), + .db = sOutput->GetVolumeDb(), + }); + } + } } void AudioState::react(const SetVolumeLimit& ev) { |
