Subj : exec/load/cterm_lib.js To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Wed Jul 08 2026 01:33:29 https://gitlab.synchro.net/main/sbbs/-/commit/12ada1b0cf8ac761a87bb290 Modified Files: exec/load/cterm_lib.js Log Message: cterm_lib.js: fix play_sound() replays, add audio_prefetch(), SIN token An A;Queue moves the patch slot's buffer onto the channel FIFO, leaving the slot empty (cterm.adoc), so _audio_ensure()'s load-once/queue-many cache played silence on every replay of an already-cached sound. Now a sound is Stored once per session but Loaded into a fresh slot before every Queue -- the Load re-decodes from the client's file cache, so nothing is re-uploaded. Expose the store-once step as a new public audio_prefetch(name, data), so a door can upload a sound during an idle moment (e.g. the Z-machine door's @sound_effect "prepare" effect) and have its first play start instantly instead of behind the upload. Also correct the Synth waveform tokens to match cterm.adoc (SIN, SAW, SQ, ... -- not SINE/SQUARE/SAWTOOTH): play_tone()'s default shape is now "SIN". Co-Authored-By: Claude Fable 5 --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .