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/include | |
| parent | 42a98a3799bdfb328c5b5683bbf3d77046f1f5f8 (diff) | |
| download | tangara-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.hpp | 10 | ||||
| -rw-r--r-- | src/audio/include/bt_audio_output.hpp | 10 | ||||
| -rw-r--r-- | src/audio/include/i2s_audio_output.hpp | 13 |
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; |
