AudioPane: Fix WASAPI default device combo selection

Set the default value of `Config::MAIN_WASAPI_DEVICE` to `default`
instead of `Default`. This fixes an issue where `AudioPane`'s `Output
Device` combo would be blank if `WASAPI` was selected and the user had
never changed the value of `Output Device`.

We don't have to worry about backward compatibility with users who have
`Default` in their config because config values aren't written unless
they've been changed at some point from the default, and the combo has
always saved `default` instead of `Default`.

Audio still worked during emulation in this situation because the
fallback for an unrecognized device name is the default device.

To help prevent similar situations in the future references to
`MAIN_WASAPI_DEVICE`'s default value now call `GetDefaultValue` instead
of hardcoding the expected default, or use the new helper function
`Config::IsDefaultValue`.
This commit is contained in:
Dentomologist
2026-03-21 15:07:42 -07:00
parent 0e92a14703
commit 6b2a8eff15
5 changed files with 12 additions and 5 deletions
+6
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
{