Stopping sounds is usually an async process - we allow the sound to cleanly ramp down to silence during the next mix on the audio thread before deinitialising the voice that was playing it.
However, that process isn't necessary for sounds that cannot be heard, such as:
Sounds waiting to begin playing.
Paused sounds.
Sounds that are already playing silently.
For voices in these states, we should be able to 'force-stop' them without any negative effects and make them immediately available to play another sound during the same frame.
Steps To Reproduce
Open and run the attached project.
Press 1 to play a sound silently, immediately stop it, and then play a second silent sound.
Observe in the audio debug view that the second sound plays on a second voice.
Expected behaviour is that only one voice should be used.
Which version of GameMaker are you reporting this issue for?
IDE v9.9.1.798 Runtime v9.9.1.960
Which operating system(s) are you seeing the problem on?
Description
Stopping sounds is usually an async process - we allow the sound to cleanly ramp down to silence during the next mix on the audio thread before deinitialising the voice that was playing it.
However, that process isn't necessary for sounds that cannot be heard, such as:
For voices in these states, we should be able to 'force-stop' them without any negative effects and make them immediately available to play another sound during the same frame.
Steps To Reproduce
1
to play a sound silently, immediately stop it, and then play a second silent sound.Which version of GameMaker are you reporting this issue for?
IDE v9.9.1.798 Runtime v9.9.1.960
Which operating system(s) are you seeing the problem on?
Windows 10.0.22631.0
Which platform(s) are you seeing the problem on?
Windows
2afbb86c-2e68-41b8-b352-050851385b49