diff --git a/src/S3/audio.c b/src/S3/audio.c index 83e458a9..17f03bca 100644 --- a/src/S3/audio.c +++ b/src/S3/audio.c @@ -768,6 +768,15 @@ int S3ServiceChannel(tS3_channel* chan) { } void S3StopAllOutletSounds() { + tS3_outlet* o; // [esp+Ch] [ebp-4h] + + if (!gS3_enabled) { + return; + } + + for (o = gS3_outlets; o; o = o->next) { + S3StopOutletSound(o); + } } tS3_sound_tag S3StartSound(tS3_outlet* pOutlet, tS3_sound_id pSound) { diff --git a/src/S3/audio.h b/src/S3/audio.h index 68af3ea4..82f5bec2 100644 --- a/src/S3/audio.h +++ b/src/S3/audio.h @@ -26,6 +26,7 @@ tS3_channel* S3AllocateChannel(tS3_outlet* outlet, int priority); int S3StopChannel(tS3_channel* chan); void S3DisposeOutlet(tS3_outlet* outlet); +int S3StopOutletSound(tS3_outlet* pOutlet); void S3StopAllOutletSounds(); int S3DisposeDescriptor(tS3_sound_id id);