You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
feat(player): pauseplay/resumeplay - freeze the prompt in place (#171)
stopplay destroys the player, so a controller that stopped a prompt when
the caller made a sound had no way back when the sound turned out to be
a cough - it could only restart. PausePlay freezes the active player in
place (file index, loop counters, read position); the tick paths skip
reading while paused, the channel sends silence, and a paused player
cannot finish. ResumePlay picks up exactly where it left off - resume,
not restart. Recorders are untouched in both directions and a pending
recorder stays pending (the prompt is not over).
Emits play/"paused" and play/"resumed" events (additive - existing
consumers match "start"/"end" exactly). Works in Local and Mixed modes.
stopplay still works on a paused player for the settle path.
Companion to the languagegate flow: recording.abovepower -> pauseplay
(caller gets instant feedback), empty capture -> resumeplay + re-arm,
acceptable answer -> stopplay.
Co-authored-by: Nick Knight <nick@tinpot.co.uk>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments