summaryrefslogtreecommitdiff
path: root/src/audio/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-01-15 12:31:20 +1100
committerjacqueline <me@jacqueline.id.au>2024-01-15 12:31:20 +1100
commit7cdcd44e0ca10ebdc796638190ed1d9b45d99ef0 (patch)
tree637b43848d17c9dbdc1688cb4733eb235f223e37 /src/audio/include
parent0e04eb918ec976017276306181282769d8896c83 (diff)
downloadtangara-fw-7cdcd44e0ca10ebdc796638190ed1d9b45d99ef0.tar.gz
Begin migration of remaining screens to Lua
Diffstat (limited to 'src/audio/include')
-rw-r--r--src/audio/include/audio_events.hpp19
-rw-r--r--src/audio/include/audio_fsm.hpp6
2 files changed, 22 insertions, 3 deletions
diff --git a/src/audio/include/audio_events.hpp b/src/audio/include/audio_events.hpp
index 3c5ab723..0e4d0bc9 100644
--- a/src/audio/include/audio_events.hpp
+++ b/src/audio/include/audio_events.hpp
@@ -47,12 +47,27 @@ struct PlayFile : tinyfsm::Event {
struct StepUpVolume : tinyfsm::Event {};
struct StepDownVolume : tinyfsm::Event {};
+struct SetVolume : tinyfsm::Event {
+ std::optional<uint_fast8_t> percent;
+ std::optional<int32_t> db;
+};
+struct SetVolumeBalance : tinyfsm::Event {
+ int left_bias;
+};
+
struct VolumeChanged : tinyfsm::Event {
uint_fast8_t percent;
int db;
};
-struct ChangeMaxVolume : tinyfsm::Event {
- uint16_t new_max;
+struct VolumeBalanceChanged : tinyfsm::Event {
+ int left_bias;
+};
+struct VolumeLimitChanged : tinyfsm::Event {
+ uint16_t new_limit;
+};
+
+struct SetVolumeLimit : tinyfsm::Event {
+ uint16_t new_limit;
};
struct TogglePlayPause : tinyfsm::Event {};
diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp
index 590c6463..b8c505b0 100644
--- a/src/audio/include/audio_fsm.hpp
+++ b/src/audio/include/audio_fsm.hpp
@@ -44,7 +44,11 @@ class AudioState : public tinyfsm::Fsm<AudioState> {
void react(const StepUpVolume&);
void react(const StepDownVolume&);
virtual void react(const system_fsm::HasPhonesChanged&);
- void react(const ChangeMaxVolume&);
+
+ void react(const SetVolume&);
+ void react(const SetVolumeLimit&);
+ void react(const SetVolumeBalance&);
+
void react(const OutputModeChanged&);
virtual void react(const system_fsm::BootComplete&) {}