mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-13 04:36:59 +00:00
VPAD: report gamepad volume slider position even when audio playback is disabled or failed to init
This commit is contained in:
parent
158c4e17a2
commit
492116a6ba
2 changed files with 6 additions and 10 deletions
|
|
@ -413,13 +413,12 @@ namespace snd_core
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_padVolume = GetConfig().pad_volume;
|
||||||
if (!g_padAudio)
|
if (!g_padAudio)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
g_padAudio = IAudioAPI::CreateDeviceFromConfig(IAudioAPI::AudioType::Gamepad, 48000, snd_core::AX_SAMPLES_PER_3MS_48KHZ * AX_FRAMES_PER_GROUP, 16);
|
g_padAudio = IAudioAPI::CreateDeviceFromConfig(IAudioAPI::AudioType::Gamepad, 48000, snd_core::AX_SAMPLES_PER_3MS_48KHZ * AX_FRAMES_PER_GROUP, 16);
|
||||||
if(g_padAudio)
|
|
||||||
g_padVolume = g_padAudio->GetVolume();
|
|
||||||
}
|
}
|
||||||
catch (std::runtime_error& ex)
|
catch (std::runtime_error& ex)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1191,10 +1191,9 @@ void GeneralSettings2::OnVolumeChanged(wxCommandEvent& event)
|
||||||
if(event.GetEventObject() == m_pad_volume)
|
if(event.GetEventObject() == m_pad_volume)
|
||||||
{
|
{
|
||||||
if (g_padAudio)
|
if (g_padAudio)
|
||||||
{
|
|
||||||
g_padAudio->SetVolume(event.GetInt());
|
g_padAudio->SetVolume(event.GetInt());
|
||||||
g_padVolume = event.GetInt();
|
|
||||||
}
|
g_padVolume = event.GetInt();
|
||||||
}
|
}
|
||||||
else if (event.GetEventObject() == m_tv_volume)
|
else if (event.GetEventObject() == m_tv_volume)
|
||||||
{
|
{
|
||||||
|
|
@ -1216,11 +1215,8 @@ void GeneralSettings2::OnInputVolumeChanged(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
std::shared_lock lock(g_audioMutex);
|
std::shared_lock lock(g_audioMutex);
|
||||||
if (g_padAudio)
|
if (g_padAudio)
|
||||||
{
|
|
||||||
g_padAudio->SetInputVolume(event.GetInt());
|
g_padAudio->SetInputVolume(event.GetInt());
|
||||||
g_padVolume = event.GetInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1913,11 +1909,12 @@ void GeneralSettings2::UpdateAudioDevice()
|
||||||
else
|
else
|
||||||
channels = CemuConfig::AudioChannelsToNChannels(config.pad_channels);
|
channels = CemuConfig::AudioChannelsToNChannels(config.pad_channels);
|
||||||
|
|
||||||
|
g_padVolume = m_pad_volume->GetValue();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
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);
|
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);
|
||||||
g_padAudio->SetVolume(m_pad_volume->GetValue());
|
g_padAudio->SetVolume(m_pad_volume->GetValue());
|
||||||
g_padVolume = m_pad_volume->GetValue();
|
|
||||||
}
|
}
|
||||||
catch (std::runtime_error& ex)
|
catch (std::runtime_error& ex)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue