iOS: give frame pacing the same audio sliders as the audio screen

Buffer Size and Output Latency were steppers here and sliders on the
Audio screen, for the same two INI keys. Nobody was stepping from 10 ms
to 200 ms one tap at a time, and the two screens disagreeing about what
kind of control a setting gets is the thing this run of work keeps
tidying up.

Queue Size stays a stepper. It is fifteen values and you usually want a
specific one.

The Audio screen's name for the key wins, so this now says Buffer Size
rather than Audio Buffer.
This commit is contained in:
J1coding
2026-08-02 23:15:59 +02:00
committed by Jeen
parent e9538ab867
commit e82689d257
@@ -38,13 +38,15 @@ struct FramePacingSettingsView: View {
.font(.caption)
.foregroundStyle(.secondary)
Stepper("\(settings.localized("Audio Buffer")): \(settings.audioBufferMs) ms",
value: $settings.audioBufferMs,
in: SettingsStore.audioBufferMsRange)
// Same two keys the Audio screen shows, so use the same control. Stepping
// from 10 to 200 a tap at a time was never a serious way to set these.
IntSliderRow("Buffer Size", value: $settings.audioBufferMs,
range: SettingsStore.audioBufferMsRange,
suffix: " ms", defaultValue: 50, settings: settings)
Stepper("\(settings.localized("Output Latency")): \(settings.audioOutputLatencyMs) ms",
value: $settings.audioOutputLatencyMs,
in: SettingsStore.audioOutputLatencyMsRange)
IntSliderRow("Output Latency", value: $settings.audioOutputLatencyMs,
range: SettingsStore.audioOutputLatencyMsRange,
suffix: " ms", defaultValue: 20, settings: settings)
} header: {
Text(settings.localized("Individual Settings"))
}