mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-13 10:09:30 +00:00
refactor: simplify audio volume handling in AudioVolumeField (#3246)
This commit is contained in:
@@ -26,10 +26,7 @@
|
|||||||
#include "string_format.hpp"
|
#include "string_format.hpp"
|
||||||
#include "ui_receiver.hpp"
|
#include "ui_receiver.hpp"
|
||||||
#include "ui_freqman.hpp"
|
#include "ui_freqman.hpp"
|
||||||
|
|
||||||
#ifndef PRALINE
|
|
||||||
#include "audio.hpp"
|
#include "audio.hpp"
|
||||||
#endif
|
|
||||||
|
|
||||||
using namespace portapack;
|
using namespace portapack;
|
||||||
|
|
||||||
@@ -595,18 +592,13 @@ AudioVolumeField::AudioVolumeField(
|
|||||||
/* fill char */ ' '} {
|
/* fill char */ ' '} {
|
||||||
set_value(receiver_model.normalized_headphone_volume());
|
set_value(receiver_model.normalized_headphone_volume());
|
||||||
|
|
||||||
#ifdef PRALINE
|
|
||||||
on_change = [](int32_t v) {
|
|
||||||
receiver_model.set_normalized_headphone_volume(v);
|
|
||||||
#else
|
|
||||||
on_change = [](int32_t vol) {
|
on_change = [](int32_t vol) {
|
||||||
// don't call receiver model, because this widget shuld be able to handle volume settinsg from any app, regardless of the receiver model's enables state. like the tx apps should be able to set volume too.
|
// Don't call receiver_model here so volume can be adjusted even when ReceiverModel is disabled (e.g. TX apps/games).
|
||||||
// this is identical to the receiver model's method
|
// The dB mapping mirrors ReceiverModel::set_normalized_headphone_volume().
|
||||||
uint8_t v = clip<uint8_t>(vol, 0, 99);
|
uint8_t v = clip<uint8_t>(vol, 0, 99);
|
||||||
auto new_volume = volume_t::decibel(v - 99) + audio::headphone::volume_range().max;
|
auto new_volume = volume_t::decibel(v - 99) + audio::headphone::volume_range().max;
|
||||||
persistent_memory::set_headphone_volume(new_volume);
|
persistent_memory::set_headphone_volume(new_volume);
|
||||||
audio::headphone::set_volume(new_volume);
|
audio::headphone::set_volume(new_volume);
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user