Merge pull request #14496 from Dentomologist/audiopane_fix_wasapi_default_device_combo_selection

AudioPane: Fix WASAPI default device combo selection
This commit is contained in:
Jordan Woyak 2026-03-23 15:27:29 -05:00 committed by GitHub
commit c05b231015
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 12 additions and 5 deletions

View File

@ -176,7 +176,7 @@ bool WASAPIStream::SetRunning(bool running)
HRESULT result;
if (Config::Get(Config::MAIN_WASAPI_DEVICE) == "default")
if (Config::IsDefaultValue(Config::MAIN_WASAPI_DEVICE))
{
result = m_enumerator->GetDefaultAudioEndpoint(eRender, eConsole, &device);
}

View File

@ -135,6 +135,12 @@ void DeleteKey(LayerType layer, const Info<T>& info)
OnConfigChanged();
}
template <typename T>
bool IsDefaultValue(const Info<T>& info)
{
return Get(info) == info.GetDefaultValue();
}
// Used to defer OnConfigChanged until after the completion of many config changes.
class ConfigChangeCallbackGuard
{

View File

@ -319,7 +319,7 @@ const Info<bool> MAIN_AUDIO_MUTED{{System::Main, "DSP", "Muted"}, false};
const Info<bool> MAIN_AUDIO_MUTE_ON_DISABLED_SPEED_LIMIT{
{System::Main, "DSP", "MuteOnDisabledSpeedLimit"}, false};
#ifdef _WIN32
const Info<std::string> MAIN_WASAPI_DEVICE{{System::Main, "DSP", "WASAPIDevice"}, "Default"};
const Info<std::string> MAIN_WASAPI_DEVICE{{System::Main, "DSP", "WASAPIDevice"}, "default"};
#endif
bool ShouldUseDPL2Decoder()

View File

@ -123,8 +123,9 @@ void AudioPane::CreateWidgets()
#ifdef _WIN32
std::vector<std::pair<QString, QString>> wasapi_options;
wasapi_options.push_back(
std::pair<QString, QString>{tr("Default Device"), QStringLiteral("default")});
const auto default_device_config_value =
QString::fromStdString(Config::MAIN_WASAPI_DEVICE.GetDefaultValue());
wasapi_options.emplace_back(tr("Default Device"), default_device_config_value);
for (auto string : WASAPIStream::GetAvailableDevices())
{

View File

@ -55,7 +55,7 @@ void HandleDiscordJoin(const char* join_secret)
if (event_handler == nullptr)
return;
if (Config::Get(Config::NETPLAY_NICKNAME) == Config::NETPLAY_NICKNAME.GetDefaultValue())
if (Config::IsDefaultValue(Config::NETPLAY_NICKNAME))
Config::SetCurrent(Config::NETPLAY_NICKNAME, username);
std::string secret(join_secret);