summaryrefslogtreecommitdiff
path: root/src/audio/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/include')
-rw-r--r--src/audio/include/audio_events.hpp3
-rw-r--r--src/audio/include/audio_fsm.hpp3
-rw-r--r--src/audio/include/audio_sink.hpp4
-rw-r--r--src/audio/include/i2s_audio_output.hpp4
4 files changed, 10 insertions, 4 deletions
diff --git a/src/audio/include/audio_events.hpp b/src/audio/include/audio_events.hpp
index 7359e8ac..019b65a2 100644
--- a/src/audio/include/audio_events.hpp
+++ b/src/audio/include/audio_events.hpp
@@ -7,6 +7,7 @@
#pragma once
#include <stdint.h>
+#include <cstdint>
#include <string>
#include "tinyfsm.hpp"
@@ -32,4 +33,6 @@ struct InputFileOpened : tinyfsm::Event {};
struct InputFileFinished : tinyfsm::Event {};
struct AudioPipelineIdle : tinyfsm::Event {};
+struct VolumeChanged : tinyfsm::Event {};
+
} // namespace audio
diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp
index 1f3b1dbd..7e84785f 100644
--- a/src/audio/include/audio_fsm.hpp
+++ b/src/audio/include/audio_fsm.hpp
@@ -40,6 +40,9 @@ class AudioState : public tinyfsm::Fsm<AudioState> {
void react(const system_fsm::StorageMounted&);
+ void react(const system_fsm::KeyUpChanged&);
+ void react(const system_fsm::KeyDownChanged&);
+
virtual void react(const system_fsm::BootComplete&) {}
virtual void react(const PlayTrack&) {}
virtual void react(const PlayFile&) {}
diff --git a/src/audio/include/audio_sink.hpp b/src/audio/include/audio_sink.hpp
index e6538bda..ac007bf8 100644
--- a/src/audio/include/audio_sink.hpp
+++ b/src/audio/include/audio_sink.hpp
@@ -45,8 +45,8 @@ class IAudioSink {
virtual auto SetVolumeImbalance(int_fast8_t balance) -> void = 0;
virtual auto SetVolume(uint_fast8_t percent) -> void = 0;
virtual auto GetVolume() -> uint_fast8_t = 0;
- virtual auto AdjustVolumeUp() -> void = 0;
- virtual auto AdjustVolumeDown() -> void = 0;
+ virtual auto AdjustVolumeUp() -> bool = 0;
+ virtual auto AdjustVolumeDown() -> bool = 0;
virtual auto Configure(const StreamInfo::Format& format) -> bool = 0;
virtual auto Send(const cpp::span<std::byte>& data) -> void = 0;
diff --git a/src/audio/include/i2s_audio_output.hpp b/src/audio/include/i2s_audio_output.hpp
index 7c125476..5dd6cc27 100644
--- a/src/audio/include/i2s_audio_output.hpp
+++ b/src/audio/include/i2s_audio_output.hpp
@@ -34,8 +34,8 @@ class I2SAudioOutput : public IAudioSink {
auto SetVolumeImbalance(int_fast8_t balance) -> void override;
auto SetVolume(uint_fast8_t percent) -> void override;
auto GetVolume() -> uint_fast8_t override;
- auto AdjustVolumeUp() -> void override;
- auto AdjustVolumeDown() -> void override;
+ auto AdjustVolumeUp() -> bool override;
+ auto AdjustVolumeDown() -> bool override;
auto Configure(const StreamInfo::Format& format) -> bool override;
auto Send(const cpp::span<std::byte>& data) -> void override;