• src/syncterm/audio_apc_test.csrc/syncterm/CHANGES CMakeLists.txt audio

    From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Oct 31 22:33:24 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/1d7400613194a9611531d44e
    Added Files:
    src/syncterm/audio_apc_test.c
    Modified Files:
    src/syncterm/CHANGES CMakeLists.txt audio_apc.c audio_apc.h term.c
    Log Message:
    Stop session audio before disconnect teardown

    Stop cterm music, effects, status-line streams, and every APC channel before releasing any audio-device references. xptone_close drains all remaining streams, so closing channels one at a time could wait for other session audio to finish.

    Run cleanup before protocol shutdown and the remote-disconnect notice, cover the outer quit path, and reset notification state for every channel. Keep cterm ownership of its music and effects handles until cterm_end.

    Add a headless real-mixer regression that checks all streams are empty at the first device close, with finite and looping queues, status-line audio, repeated cleanup, patch cleanup, and subsequent sessions. Verified native build and CTest, MinGW compilation, and remote EOF with SDL dummy audio: the old build remained blocked on a 30-second clip, while the fixed build returned promptly.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net