acdream/src/AcDream.App/Audio
Erik 0bb47f2711 fix #417: world ambience kept playing at character select after the in-world logoff
The character-session reset manifest had no audio step: retail's logoff
destroys the world's sound sources with the world, but our OpenAL world
pool and ambient scheduler are process-lifetime — the continuous ambient
beds played on at character select and the scheduler kept RE-FIRING
deadlines against the stale listener (Suspend/StopAll had zero callers;
WorldGenerationQuiescence only cycles around teleport-style generation
replaces).

New WorldAudioSessionGate: the reset manifest's 'world audio' step stops
all sixteen world-pool voices (SuspendWorldAudio) and drops every ambient
deadline (StopAll); the pool reopens at the entered-world edge through the
new default-null LiveSessionEnteredWorldBindings.ResumeWorldAudio binding,
invoked first in ApplyEnteredWorld. The ambient soundscape needs no
explicit resume — the next objcell observation rebuilds it exactly as a
cell change always did. Covers logout, reconnect, and full stop uniformly.
UI-pool sounds (interface bank, portal cues) untouched by design.

App tests 5568/3 skips, Runtime 1756/0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 18:46:04 +02:00
..
AlBufferBudgetTracker.cs fix(audio): bound decoded-wave and AL-buffer caches (2026-07-24 audit review) 2026-07-24 11:49:57 +02:00
AmbientSoundController.cs fix(audio): listening-gate round 1 — tunnel interior sound + ambience in houses (#355 gate) 2026-08-09 12:56:26 +02:00
AudioHookSink.cs feat(audio): Ctrl+M instant mute + inn-chatter investigation closed as server content 2026-08-09 14:09:24 +02:00
OpenAlAudioEngine.cs feat(audio): Ctrl+M instant mute + inn-chatter investigation closed as server content 2026-08-09 14:09:24 +02:00
OpenAlResourceLifetime.cs feat(audio): Campaign A slice A2 — retail's 2D pan+gain mixer replaces AL 3D 2026-08-08 21:58:50 +02:00
UiPresentationHookSink.cs fix(audio): listening-gate round 1 — tunnel interior sound + ambience in houses (#355 gate) 2026-08-09 12:56:26 +02:00
UiSoundController.cs feat(audio): Campaign A slice A4 — the interface sound bus 2026-08-08 22:22:09 +02:00
UiSoundTableResolver.cs feat(audio): Campaign A slice A4 — the interface sound bus 2026-08-08 22:22:09 +02:00
WorldAudioSessionGate.cs fix #417: world ambience kept playing at character select after the in-world logoff 2026-08-17 18:46:04 +02:00