Add ability to choose audio output device via a menu

This commit is contained in:
Lorenzooone
2025-02-02 09:59:51 +01:00
parent 7288cf163a
commit 36a9cfbe8b
12 changed files with 284 additions and 32 deletions

View File

@@ -40,9 +40,9 @@ static const AudioMenuOptionInfo audio_restart_option = {
.out_action = AUDIO_MENU_RESTART};
static const AudioMenuOptionInfo audio_next_device_option = {
.base_name = "Output Device", .false_name = "",
.base_name = "Select Output Device", .false_name = "",
.is_inc = false, .dec_str = "", .inc_str = "", .inc_out_action = AUDIO_MENU_NO_ACTION,
.out_action = AUDIO_MENU_NEXT_DEVICE};
.out_action = AUDIO_MENU_CHANGE_DEVICE};
static const AudioMenuOptionInfo* pollable_options[] = {
@@ -50,8 +50,8 @@ static const AudioMenuOptionInfo* pollable_options[] = {
&audio_mute_option,
&audio_max_latency_option,
&audio_output_type_option,
&audio_restart_option,
&audio_next_device_option,
&audio_restart_option,
};
AudioMenu::AudioMenu(bool font_load_success, sf::Font &text_font) : OptionSelectionMenu(){
@@ -144,11 +144,6 @@ void AudioMenu::prepare(float menu_scaling_factor, int view_size_x, int view_siz
case AUDIO_MENU_MUTE:
this->labels[index]->setText(this->setTextOptionBool(real_index, audio_data->get_mute()));
break;
case AUDIO_MENU_NEXT_DEVICE:
if (std::optional<std::string> cur_dev = sf::PlaybackDevice::getDevice()) {
this->labels[index]->setText(this->setTextOptionString(real_index, *cur_dev));
}
break;
default:
break;
}