Compare commits

...

3 Commits

  1. 13
      src/tangara/audio/bt_audio_output.cpp
  2. 19
      src/tangara/audio/i2s_audio_output.cpp
  3. 4
      src/tangara/input/input_media_buttons.cpp
  4. 2
      src/tangara/ui/screen.cpp

@ -32,6 +32,7 @@
namespace audio {
static constexpr uint16_t kVolumeRange = 60;
static constexpr uint16_t kVolumeStep = 5; // CUSTOM - added
using ConnectionState = drivers::Bluetooth::ConnectionState;
@ -101,7 +102,11 @@ auto BluetoothAudioOutput::AdjustVolumeUp() -> bool {
if (volume_ == 100) {
return false;
}
volume_++;
if (volume_ > 100 - kVolumeStep) {
volume_ = 100;
} else {
volume_ += kVolumeStep;
}
SetVolume(volume_);
return true;
}
@ -110,7 +115,11 @@ auto BluetoothAudioOutput::AdjustVolumeDown() -> bool {
if (volume_ == 0) {
return false;
}
volume_--;
if (volume_ < kVolumeStep) {
volume_ = 0;
} else {
volume_ -= kVolumeStep;
}
SetVolume(volume_);
return true;
}

@ -40,6 +40,7 @@ static constexpr uint16_t kMinVolume = 0b0;
static constexpr uint16_t kMaxVolumeBeforeClipping = 0x185;
static constexpr uint16_t kLineLevelVolume = 0x13d;
static constexpr uint16_t kDefaultVolume = 0x100;
static constexpr uint16_t kVolumeStep = 5; // CUSTOM - added
I2SAudioOutput::I2SAudioOutput(drivers::IGpios& expander,
drivers::OutputBuffers& buffers)
@ -140,21 +141,29 @@ auto I2SAudioOutput::SetVolumeDb(int_fast16_t val) -> bool {
}
auto I2SAudioOutput::AdjustVolumeUp() -> bool {
if (GetVolume() >= max_volume_) {
uint16_t vol = GetVolume();
if (vol >= max_volume_) {
return false;
}
SetVolume(GetVolume() + 1);
if (vol > max_volume_ - kVolumeStep) {
SetVolume(max_volume_);
} else {
SetVolume(vol + kVolumeStep);
}
return true;
}
auto I2SAudioOutput::AdjustVolumeDown() -> bool {
if (GetVolume() == kMinVolume) {
uint16_t vol = GetVolume();
if (vol == kMinVolume) {
return false;
}
if (GetVolume() <= kMinVolume + 1) {
if (vol <= kMinVolume + kVolumeStep) {
SetVolume(0);
} else {
SetVolume(GetVolume() - 1);
SetVolume(vol - kVolumeStep);
}
return true;
}

@ -13,8 +13,8 @@ namespace input {
MediaButtons::MediaButtons(drivers::IGpios& gpios, audio::TrackQueue& queue)
: gpios_(gpios),
up_("upper", actions::nextTrack(queue), {}, {}, actions::volumeUp()),
down_("lower", actions::prevTrack(queue), {}, {}, actions::volumeDown()),
up_("upper", {}, actions::nextTrack(queue), {}, actions::volumeUp()),
down_("lower", {}, actions::prevTrack(queue), {}, actions::volumeDown()),
locked_(),
both_buttons_pressed_(false) {}

@ -34,7 +34,7 @@ Screen::Screen()
// Disable wrapping by default, since it's confusing and generally makes it
// harder to navigate quickly.
lv_group_set_wrap(group_, false);
lv_group_set_wrap(group_, true); // CUSTOMIZE: enabled - https://codeberg.org/cool-tech-zone/tangara-fw/issues/222
}
Screen::~Screen() {

Loading…
Cancel
Save