summaryrefslogtreecommitdiff
path: root/src/audio/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-01-04 15:57:58 +1100
committerjacqueline <me@jacqueline.id.au>2024-01-04 15:57:58 +1100
commit938ba62f57ed2c002bae4aec236eeaeb200e4cba (patch)
treed70948199d1f7a2572df5f2940ee13eb79537937 /src/audio/include
parent42a98a3799bdfb328c5b5683bbf3d77046f1f5f8 (diff)
downloadtangara-fw-938ba62f57ed2c002bae4aec236eeaeb200e4cba.tar.gz
refactor handling of volume steps; improve controls
Diffstat (limited to 'src/audio/include')
-rw-r--r--src/audio/include/audio_sink.hpp10
-rw-r--r--src/audio/include/bt_audio_output.hpp10
-rw-r--r--src/audio/include/i2s_audio_output.hpp13
3 files changed, 25 insertions, 8 deletions
diff --git a/src/audio/include/audio_sink.hpp b/src/audio/include/audio_sink.hpp
index c37e51fb..eba55eb5 100644
--- a/src/audio/include/audio_sink.hpp
+++ b/src/audio/include/audio_sink.hpp
@@ -44,8 +44,14 @@ class IAudioOutput {
virtual auto SetMode(Modes) -> void = 0;
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 SetVolume(uint16_t) -> void = 0;
+
+ virtual auto GetVolume() -> uint16_t = 0;
+
+ virtual auto GetVolumePct() -> uint_fast8_t = 0;
+ virtual auto GetVolumeDb() -> int_fast16_t = 0;
+
virtual auto AdjustVolumeUp() -> bool = 0;
virtual auto AdjustVolumeDown() -> bool = 0;
diff --git a/src/audio/include/bt_audio_output.hpp b/src/audio/include/bt_audio_output.hpp
index 6e5d0720..f23ccd6a 100644
--- a/src/audio/include/bt_audio_output.hpp
+++ b/src/audio/include/bt_audio_output.hpp
@@ -27,8 +27,14 @@ class BluetoothAudioOutput : public IAudioOutput {
auto SetMode(Modes) -> void override;
auto SetVolumeImbalance(int_fast8_t balance) -> void override;
- auto SetVolume(uint_fast8_t percent) -> void override;
- auto GetVolume() -> uint_fast8_t override;
+
+ auto SetVolume(uint16_t) -> void override;
+
+ auto GetVolume() -> uint16_t override;
+
+ auto GetVolumePct() -> uint_fast8_t override;
+ auto GetVolumeDb() -> int_fast16_t override;
+
auto AdjustVolumeUp() -> bool override;
auto AdjustVolumeDown() -> bool override;
diff --git a/src/audio/include/i2s_audio_output.hpp b/src/audio/include/i2s_audio_output.hpp
index e5395ade..7c297106 100644
--- a/src/audio/include/i2s_audio_output.hpp
+++ b/src/audio/include/i2s_audio_output.hpp
@@ -20,8 +20,7 @@ namespace audio {
class I2SAudioOutput : public IAudioOutput {
public:
- I2SAudioOutput(StreamBufferHandle_t,
- drivers::IGpios& expander);
+ I2SAudioOutput(StreamBufferHandle_t, drivers::IGpios& expander);
~I2SAudioOutput();
auto SetMode(Modes) -> void override;
@@ -30,8 +29,14 @@ class I2SAudioOutput : public IAudioOutput {
auto SetVolumeDb(uint16_t) -> void;
auto SetVolumeImbalance(int_fast8_t balance) -> void override;
- auto SetVolume(uint_fast8_t percent) -> void override;
- auto GetVolume() -> uint_fast8_t override;
+
+ auto SetVolume(uint16_t) -> void override;
+
+ auto GetVolume() -> uint16_t override;
+
+ auto GetVolumePct() -> uint_fast8_t override;
+ auto GetVolumeDb() -> int_fast16_t override;
+
auto AdjustVolumeUp() -> bool override;
auto AdjustVolumeDown() -> bool override;