android: Add realtime audio setting

This commit is contained in:
FearlessTobi 2020-03-31 02:23:37 +02:00 committed by bunnei
parent b51c037fa1
commit 1874932a5e
5 changed files with 13 additions and 1 deletions

View File

@ -221,7 +221,7 @@ public final class SettingsFragmentPresenter {
sl.add(new SliderSetting(SettingsFile.KEY_RESOLUTION_FACTOR, Settings.SECTION_RENDERER, R.string.internal_resolution, R.string.internal_resolution_description, 1, 4, "x", 1, resolutionFactor));
sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_VSYNC, Settings.SECTION_RENDERER, R.string.vsync, R.string.vsync_description, true, vsyncEnable));
sl.add(new CheckBoxSetting(SettingsFile.KEY_FILTER_MODE, Settings.SECTION_RENDERER, R.string.linear_filtering, R.string.linear_filtering_description, true, filterMode));
sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_TEXTURE_FILTER_NAME, Settings.SECTION_RENDERER, R.string.texture_filter_name, R.string.texture_filter_description, textureFilterNames, textureFilterNames,"none", textureFilterName));
sl.add(new StringSingleChoiceSetting(SettingsFile.KEY_TEXTURE_FILTER_NAME, Settings.SECTION_RENDERER, R.string.texture_filter_name, R.string.texture_filter_description, textureFilterNames, textureFilterNames, "none", textureFilterName));
}
private void addAudioSettings(ArrayList<SettingsItem> sl) {
@ -229,8 +229,10 @@ public final class SettingsFragmentPresenter {
SettingSection audioSection = mSettings.getSection(Settings.SECTION_AUDIO);
Setting audioStretch = audioSection.getSetting(SettingsFile.KEY_ENABLE_AUDIO_STRETCHING);
Setting realtimeAudio = audioSection.getSetting(SettingsFile.KEY_ENABLE_REALTIME_AUDIO);
sl.add(new CheckBoxSetting(SettingsFile.KEY_ENABLE_AUDIO_STRETCHING, Settings.SECTION_AUDIO, R.string.audio_stretch, R.string.audio_stretch_description, false, audioStretch));
sl.add(new CheckBoxSetting(SettingsFile.KEY_ENABLE_REALTIME_AUDIO, Settings.SECTION_AUDIO, R.string.realtime_audio, R.string.realtime_audio_description, true, realtimeAudio));
}
private void addDebugSettings(ArrayList<SettingsItem> sl) {

View File

@ -53,6 +53,7 @@ public final class SettingsFile {
public static final String KEY_AUDIO_OUTPUT_ENGINE = "output_engine";
public static final String KEY_ENABLE_AUDIO_STRETCHING = "enable_audio_stretching";
public static final String KEY_ENABLE_REALTIME_AUDIO = "enable_realtime_audio";
public static final String KEY_VOLUME = "volume";
public static final String KEY_USE_VIRTUAL_SD = "use_virtual_sd";

View File

@ -168,6 +168,8 @@ void Config::ReadValues() {
sdl2_config->GetString("Audio", "mic_input_device", "Default");
Settings::values.mic_input_type =
static_cast<Settings::MicInputType>(sdl2_config->GetInteger("Audio", "mic_input_type", 0));
Settings::values.enable_realtime_audio =
sdl2_config->GetBoolean("Audio", "enable_realtime_audio", true);
// Data Storage
Settings::values.use_virtual_sd =

View File

@ -197,6 +197,11 @@ output_engine =
# 0: No, 1 (default): Yes
enable_audio_stretching =
# Whether or not to enable the real-time audio processing.
# This effect adjusts audio speed to match real-time speed and helps prevent audio stutter.
# 0: No, 1 (default): Yes
enable_realtime_audio =
# Which audio device to use.
# auto (default): Auto-select
output_device =

View File

@ -73,6 +73,8 @@
<!-- Audio settings strings -->
<string name="audio_stretch">Enable audio stretching</string>
<string name="audio_stretch_description">Stretches audio to reduce stuttering. When enabled, increases audio latency and slightly reduces performance.</string>
<string name="realtime_audio">Enable real-time audio</string>
<string name="realtime_audio_description">Desynchronizes the audio from the current framerate. When enabled, the audio should always be running at fullspeed, even if the game is not.</string>
<!-- Miscellaneous -->
<string name="clear">Clear</string>