Skip to content

Keep PinMAME playback preferences owned by the player - #48

Merged
freezy merged 2 commits into
masterfrom
feat/audio-processing
Oct 25, 2026
Merged

freezy merged 2 commits into
masterfrom
feat/audio-processing

Conversation

@freezy

@freezy freezy commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

PinMAME's authoring mute toggle was serialized into .vpe tables, allowing an editor preview setting to suppress ROM playback in the player. Export now includes only machine/ROM identity, mechanics configuration and solenoid delay. The Unity component keeps its mute toggle for direct play, older package mute keys are ignored, and output gain remains runtime-only. Export leaves the author's preview settings unchanged, while importing into an existing component preserves its local playback preferences.

The central PCM path gets effective playback gain through a cached audio-source adapter: zero when direct-play audio is disabled, otherwise the integration output gain. Subscription and exclusive playback ownership continue through the existing synchronized source, raw PCM stays unscaled, and returning to local playback resets the gain ramp to the current setting.

Validation:

  • Unity source compilation passed, with no console errors.
  • Six selected PCM and package round-trip regression tests passed.
  • A real .vpe export/import passed eight checks covering preference omission, preview preservation, invariant package bytes across mute/gain changes, legacy compatibility, game settings, existing player gain and runtime defaults.
  • An independent scan found no mute or output-gain preference names anywhere in the exported archive.
  • The actual T2 engine payload, augmented with legacy mute/zero-gain fields, retained identity and mechanics while ignoring playback preferences.
  • Earlier real-handler audits passed saved/live mute, unmute, raw subscriber preservation and ownership restoration.
  • Fable 5.1 and Astra 6 reviewed the implementation and packaging correction with no actionable findings.

Uses the companion core PCM contract and renderer. Reference playback remains the default.

@greptile-apps

greptile-apps Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The reviewed changes appear safe to merge.

Summary

Exposes effective PinMAME playback gain while keeping shared PCM frames unscaled.

  • PinMAME gives central playback its effective gain while keeping shared PCM raw.
  • The Unity mute setting stays out of saved table preferences.

No actionable issues were established in the changes since the previous review. No previous review threads were supplied.

Reviews (2) · Last reviewed commit: "pinmame: exclude authoring audio prefere..." · Reviewed by Greptile

@freezy freezy changed the title Expose effective ROM playback gain for central PCM routing Keep PinMAME playback preferences owned by the player Oct 23, 2026
@freezy
freezy merged commit 3615766 into master Oct 25, 2026
17 checks passed
@freezy
freezy deleted the feat/audio-processing branch October 25, 2026 01:27
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