Skip to content

Commit 492116a

Browse files
committed
VPAD: report gamepad volume slider position even when audio playback is disabled or failed to init
1 parent 158c4e1 commit 492116a

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

src/Cafe/OS/libs/snd_core/ax_out.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,13 +413,12 @@ namespace snd_core
413413
}
414414
}
415415

416+
g_padVolume = GetConfig().pad_volume;
416417
if (!g_padAudio)
417418
{
418419
try
419420
{
420421
g_padAudio = IAudioAPI::CreateDeviceFromConfig(IAudioAPI::AudioType::Gamepad, 48000, snd_core::AX_SAMPLES_PER_3MS_48KHZ * AX_FRAMES_PER_GROUP, 16);
421-
if(g_padAudio)
422-
g_padVolume = g_padAudio->GetVolume();
423422
}
424423
catch (std::runtime_error& ex)
425424
{

src/gui/wxgui/GeneralSettings2.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,10 +1191,9 @@ void GeneralSettings2::OnVolumeChanged(wxCommandEvent& event)
11911191
if(event.GetEventObject() == m_pad_volume)
11921192
{
11931193
if (g_padAudio)
1194-
{
11951194
g_padAudio->SetVolume(event.GetInt());
1196-
g_padVolume = event.GetInt();
1197-
}
1195+
1196+
g_padVolume = event.GetInt();
11981197
}
11991198
else if (event.GetEventObject() == m_tv_volume)
12001199
{
@@ -1216,11 +1215,8 @@ void GeneralSettings2::OnInputVolumeChanged(wxCommandEvent& event)
12161215
{
12171216
std::shared_lock lock(g_audioMutex);
12181217
if (g_padAudio)
1219-
{
12201218
g_padAudio->SetInputVolume(event.GetInt());
1221-
g_padVolume = event.GetInt();
1222-
}
1223-
1219+
12241220
event.Skip();
12251221
}
12261222

@@ -1913,11 +1909,12 @@ void GeneralSettings2::UpdateAudioDevice()
19131909
else
19141910
channels = CemuConfig::AudioChannelsToNChannels(config.pad_channels);
19151911

1912+
g_padVolume = m_pad_volume->GetValue();
1913+
19161914
try
19171915
{
19181916
g_padAudio = IAudioAPI::CreateDevice((IAudioAPI::AudioAPI)config.audio_api, description->GetDescription(), 48000, channels, snd_core::AX_SAMPLES_PER_3MS_48KHZ * AX_FRAMES_PER_GROUP, 16);
19191917
g_padAudio->SetVolume(m_pad_volume->GetValue());
1920-
g_padVolume = m_pad_volume->GetValue();
19211918
}
19221919
catch (std::runtime_error& ex)
19231920
{

0 commit comments

Comments
 (0)