Skip to content

Expose the saved Audio Sync buffer target with a shared slider - #122

Open
michaelm-afk wants to merge 1 commit into
RetroPortingToolKit:masterfrom
michaelm-afk:pr/audio-buffer-70
Open

michaelm-afk wants to merge 1 commit into
RetroPortingToolKit:masterfrom
michaelm-afk:pr/audio-buffer-70

Conversation

@michaelm-afk

Copy link
Copy Markdown
Contributor

Expose the Audio Sync target through the existing mod option provider instead of creating another settings file or audio pipeline.

  • One slider implementation for Settings → Audio and the Audio Sync mod option, 20–180 ms in 5 ms steps.
  • 70 ms — Recommended; below70 Experimental (20 ms marked unstable); above70 More reserve.
  • Reset to Defaults resets only the saved target to70.
  • Both views re-read and write the same target_ms feature option; saved choices retain priority. The engine consumes the committed value at the next game start, with no live device retarget.
  • Existing disc gating, feature visibility, disabled options and provider validation remain authoritative. No control appears without the matching provider feature/option. Other integer mod options retain their existing editor.
  • Audio Diagnostics uses the same existing boolean option/provider.

Engine: RetroPortingToolKit/psxrecomp#781.
Title declaration/activation: mstan/TombaRecomp#55.
The UI itself does not call the engine API or change SPU/HQ mixing. It can build independently; the title option is required to expose the control. The Settings view is a shortcut to the same host-output-buffer option, not parallel persistence.

Validation

  • Current master 3f1d6f1: complete standalone Windows Clang Release launcher build succeeds with mods enabled.
  • The full paired psxrecomp runtime with this UI builds successfully.
  • recomp-ui-launcher-audio-buffer-test passes bounds, 5-ms index mapping, option identity and labels.
  • Real current-engine ModPackageManager round-trip passes fresh70, saved80 preservation, upper180 and reset70. Title activation verifies next-start-only consumption.
  • Existing accepted personal implementation was used for the UI extraction. No new visual desktop automation or listening sweep was performed; cross-platform and visual-layout review remain appropriate.

70 ms was personally stable in tested EU1 sections on one system. Lower values can stutter/drop out; actual end-to-end speaker latency has not been measured. Source only, developed with AI assistance; no private launcher features, assets, account code or binaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant