android: Implement Audio Emulation settings UI

Co-Authored-By: Reg Tiangha <rtiangha@users.noreply.github.com>
This commit is contained in:
marsia 2025-06-01 16:19:55 +02:00 committed by OpenSauce
parent b4fdff0e03
commit 2c48cf73b3
5 changed files with 33 additions and 7 deletions

View File

@ -45,6 +45,7 @@ enum class IntSetting(
PORTRAIT_BOTTOM_WIDTH("custom_portrait_bottom_width",Settings.SECTION_LAYOUT,640),
PORTRAIT_BOTTOM_HEIGHT("custom_portrait_bottom_height",Settings.SECTION_LAYOUT,480),
AUDIO_INPUT_TYPE("input_type", Settings.SECTION_AUDIO, 0),
AUDIO_EMULATION("audio_emulation", Settings.SECTION_AUDIO, 0),
CPU_CLOCK_SPEED("cpu_clock_percentage", Settings.SECTION_CORE, 100),
TEXTURE_FILTER("texture_filter", Settings.SECTION_RENDERER, 0),
TEXTURE_SAMPLING("texture_sampling", Settings.SECTION_RENDERER, 0),
@ -76,6 +77,7 @@ enum class IntSetting(
INIT_CLOCK,
GRAPHICS_API,
AUDIO_INPUT_TYPE,
AUDIO_EMULATION,
)
fun from(key: String): IntSetting? = IntSetting.values().firstOrNull { it.key == key }

View File

@ -1578,6 +1578,17 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
ScaledFloatSetting.AUDIO_VOLUME.defaultValue
)
)
add(
SingleChoiceSetting(
IntSetting.AUDIO_EMULATION,
R.string.audio_emulation,
R.string.audio_emulation_description,
R.array.audioEmulationNames,
R.array.audioEmulationValues,
IntSetting.AUDIO_EMULATION.key,
IntSetting.AUDIO_EMULATION.defaultValue
)
)
add(
SwitchSetting(
BooleanSetting.ENABLE_AUDIO_STRETCHING,

View File

@ -326,13 +326,9 @@ preload_textures =
async_custom_loading =
[Audio]
# Whether or not to enable DSP LLE
# 0 (default): No, 1: Yes
enable_dsp_lle =
# Whether or not to run DSP LLE on a different thread
# 0 (default): No, 1: Yes
enable_dsp_lle_thread =
# Whether to enable Audio DSP in HLE or LLE mode (Note: LLE mode has a heavy performance impact)Add commentMore actions
# 0 (default): HLE, 1: LLE, 2: LLE Multithreaded
audio_emulation =
# Whether or not to enable the audio-stretching post-processing effect.
# This effect adjusts audio speed to match emulation speed and helps prevent audio stutter,

View File

@ -221,6 +221,18 @@
<item>3</item>
</integer-array>
<string-array name="audioEmulationNames">Add commentMore actions
<item>@string/audio_hle</item>
<item>@string/audio_lle</item>
<item>@string/audio_lle_multithread</item>
</string-array>
<integer-array name="audioEmulationValues">
<item>0</item>
<item>1</item>
<item>2</item>
</integer-array>
<string-array name="audioInputTypeNames">
<item>@string/auto</item>
<item>@string/none</item>

View File

@ -303,6 +303,11 @@
<string name="async_custom_loading_description">Load custom textures asynchronously with background threads to reduce loading stutter.</string>
<!-- Audio settings strings -->
<string name="audio_emulation">Audio Emulation</string>Add commentMore actions
<string name="audio_emulation_description">Choose whether to enable Audio DSP in HLE or LLE mode (Note: LLE mode has a heavy performance impact).</string>
<string name="audio_hle">HLE (default)</string>
<string name="audio_lle">LLE</string>
<string name="audio_lle_multithread">LLE (Multithreaded)</string>
<string name="audio_volume">Volume</string>
<string name="audio_stretch">Audio Stretching</string>
<string name="audio_stretch_description">Stretches audio to reduce stuttering. When enabled, increases audio latency and slightly reduces performance.</string>