Implemented Citra Enhanced's realtime audio option

Co-authored-by: Gamer64ytb <76565986+Gamer64ytb@users.noreply.github.com>
This commit is contained in:
OpenSauce04
2024-05-16 12:33:00 +01:00
parent feb033425c
commit c07b23b1d0
17 changed files with 61 additions and 1 deletions

View File

@@ -278,6 +278,7 @@ void Config::ReadAudioValues() {
ReadGlobalSetting(Settings::values.audio_emulation);
ReadGlobalSetting(Settings::values.enable_audio_stretching);
ReadGlobalSetting(Settings::values.enable_realtime_audio);
ReadGlobalSetting(Settings::values.volume);
if (global) {
@@ -892,6 +893,7 @@ void Config::SaveAudioValues() {
WriteGlobalSetting(Settings::values.audio_emulation);
WriteGlobalSetting(Settings::values.enable_audio_stretching);
WriteGlobalSetting(Settings::values.enable_realtime_audio);
WriteGlobalSetting(Settings::values.volume);
if (global) {

View File

@@ -64,6 +64,7 @@ void ConfigureAudio::SetConfiguration() {
SetInputDeviceFromDeviceID();
ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching.GetValue());
ui->toggle_realtime_audio->setChecked(Settings::values.enable_realtime_audio.GetValue());
const s32 volume =
static_cast<s32>(Settings::values.volume.GetValue() * ui->volume_slider->maximum());
@@ -155,6 +156,8 @@ void ConfigureAudio::SetVolumeIndicatorText(int percentage) {
void ConfigureAudio::ApplyConfiguration() {
ConfigurationShared::ApplyPerGameSetting(&Settings::values.enable_audio_stretching,
ui->toggle_audio_stretching, audio_stretching);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.enable_realtime_audio,
ui->toggle_realtime_audio, realtime_audio);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.audio_emulation,
ui->emulation_combo_box);
ConfigurationShared::ApplyPerGameSetting(
@@ -235,4 +238,7 @@ void ConfigureAudio::SetupPerGameUI() {
ConfigurationShared::SetColoredTristate(
ui->toggle_audio_stretching, Settings::values.enable_audio_stretching, audio_stretching);
ConfigurationShared::SetColoredTristate(ui->toggle_realtime_audio,
Settings::values.enable_realtime_audio, realtime_audio);
}

View File

@@ -39,5 +39,6 @@ private:
void SetupPerGameUI();
ConfigurationShared::CheckState audio_stretching;
ConfigurationShared::CheckState realtime_audio;
std::unique_ptr<Ui::ConfigureAudio> ui;
};

View File

@@ -95,6 +95,16 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="toggle_realtime_audio">
<property name="toolTip">
<string>Simulates the Nintendo 3DS audio for HLE, fixing audio lag when speed is lower from 100%. Might cause audio desync issues</string>
</property>
<property name="text">
<string>Enable real-time audio</string>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="volume_layout" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">