LoginLogin
Might make SBS readonly: thread

SNDSTOP only stops most recently played BEEP

Root / SmileBASIC Bug Reports / [.]

snail_Created:
The new SNDSTOP instruction in v3.3.0 forcibly stops all sounds currently playing. This includes all BEEPs, BGM tracks, TALK, and PCM streams. However, in the case of BEEPs, it will only stop the BEEP which was played most recently. Because you can play up to 16 BEEPs simultaneously, this can become very annoying very fast. Everything else works fine; all other sound sources are completely silenced within one frame even if many are playing at the same time (this includes multiple BGMs.)
BEEP 123
WAIT 60
BEEP 123
WAIT 120
SNDSTOP
Also note that SNDSTOP forcibly disables the reverb effector (equiv. to EFCOFF) instead of simply cutting off the sound that's playing (it doesn't change your effector settings though.) This seems to be its way of cutting off trailing reverb, but it's a very bad way of doing it. It should just stop the sound because that's what it promises to do, with no side effects if at all possible. People with the audio DLC, test what this could do to PCM stuff since I don't own it.

SNDSTOP immediately stops PCM and leaves PCMPOS where it is I think disabling reverb is a good idea; SNDSTOP is meant as as a reset function, like ACLS. (Plus the reverb effects all suck anyway) Would something like
FOR I=1 TO 16
 SNDSTOP
NEXT
stop all BEEPs?