mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-06 18:40:36 +00:00
Workaround: Force audio provider
This hides the audio_provider box in the settings and forces the proper provider based on boot path. Stop-gap solution until we decided what to do with vsh settings.
This commit is contained in:
parent
d83fac4247
commit
2b325de680
@ -741,6 +741,16 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Force audio provider
|
||||
if (m_path.ends_with("vsh.self"sv))
|
||||
{
|
||||
g_cfg.audio.provider.set(audio_provider::rsxaudio);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_cfg.audio.provider.set(audio_provider::cell_audio);
|
||||
}
|
||||
}
|
||||
|
||||
initalize_timebased_time();
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "Emu/Io/Null/null_music_handler.h"
|
||||
#include "Emu/Cell/Modules/cellAudio.h"
|
||||
#include "Emu/Cell/lv2/sys_rsxaudio.h"
|
||||
#include "Emu/Cell/lv2/sys_process.h"
|
||||
#include "Emu/RSX/Overlays/overlay_perf_metrics.h"
|
||||
#include "Emu/system_utils.hpp"
|
||||
#include "Emu/vfs_config.h"
|
||||
@ -629,6 +630,20 @@ void gui_application::OnEmuSettingsChange()
|
||||
}
|
||||
|
||||
rpcs3::utils::configure_logs();
|
||||
|
||||
if (!Emu.IsStopped())
|
||||
{
|
||||
// Force audio provider
|
||||
if (g_ps3_process_info.get_cellos_appname() == "vsh.self"sv)
|
||||
{
|
||||
g_cfg.audio.provider.set(audio_provider::rsxaudio);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_cfg.audio.provider.set(audio_provider::cell_audio);
|
||||
}
|
||||
}
|
||||
|
||||
audio::configure_audio();
|
||||
audio::configure_rsxaudio();
|
||||
rsx::overlays::reset_performance_overlay();
|
||||
|
@ -881,16 +881,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
enable_buffering_options(enabled && ui->enableBuffering->isChecked());
|
||||
};
|
||||
|
||||
const auto enable_avport_option = [this](int index)
|
||||
{
|
||||
if (index < 0) return;
|
||||
const QVariantList var_list = ui->audioProviderBox->itemData(index).toList();
|
||||
ensure(var_list.size() == 2 && var_list[0].canConvert<QString>());
|
||||
const QString text = var_list[0].toString();
|
||||
const bool enabled = text == "RSXAudio";
|
||||
ui->audioAvportBox->setEnabled(enabled);
|
||||
};
|
||||
|
||||
const QString mic_none = m_emu_settings->m_microphone_creator.get_none();
|
||||
|
||||
const auto change_microphone_type = [mic_none, this](int index)
|
||||
@ -972,7 +962,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
|
||||
m_emu_settings->EnhanceComboBox(ui->audioProviderBox, emu_settings_type::AudioProvider);
|
||||
SubscribeTooltip(ui->gb_audio_provider, tooltips.settings.audio_provider);
|
||||
connect(ui->audioProviderBox, QOverload<int>::of(&QComboBox::currentIndexChanged), enable_avport_option);
|
||||
ui->gb_audio_provider->setVisible(false); // Hidden for now. This option is forced on boot.
|
||||
|
||||
m_emu_settings->EnhanceComboBox(ui->audioAvportBox, emu_settings_type::AudioAvport);
|
||||
SubscribeTooltip(ui->gb_audio_avport, tooltips.settings.audio_avport);
|
||||
@ -1033,7 +1023,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
connect(ui->enableTimeStretching, &QCheckBox::toggled, enable_time_stretching_options);
|
||||
|
||||
enable_buffering(ui->audioOutBox->currentIndex());
|
||||
enable_avport_option(ui->audioProviderBox->currentIndex());
|
||||
|
||||
// Sliders
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user