propagate releaseAudioNode in packages

This commit is contained in:
jeromew 2025-12-04 15:26:59 +00:00
parent c7586e96ff
commit f6f507dd29
6 changed files with 27 additions and 27 deletions

View file

@ -1,6 +1,5 @@
import { clamp } from './util.mjs';
import { registerSound, soundMap } from './superdough.mjs';
import { onceEnded } from './helpers.mjs';
import { getAudioContext } from './audioContext.mjs';
import {
applyFM,
@ -13,6 +12,7 @@ import {
getVibratoOscillator,
getWorklet,
noises,
onceEnded,
releaseAudioNode,
webAudioTimeout,
} from './helpers.mjs';
@ -53,7 +53,7 @@ export function registerSynthSounds() {
const g = gainNode(0.3);
let sound = getOscillator(s, t, value, () => {
g.disconnect();
releaseAudioNode(g);
onended();
});
@ -112,12 +112,12 @@ export function registerSynthSounds() {
const mix = gainNode(mixGain);
onceEnded(o, () => {
o.disconnect();
g.disconnect();
sat.disconnect();
noise.node.disconnect();
noiseGain.disconnect();
mix.disconnect();
releaseAudioNode(o);
releaseAudioNode(g);
releaseAudioNode(sat);
releaseAudioNode(noise.node);
releaseAudioNode(noiseGain);
releaseAudioNode(mix);
onended();
});
@ -386,8 +386,8 @@ export function registerSynthSounds() {
const { duration } = value;
onceEnded(o, () => {
o.disconnect();
g.disconnect();
releaseAudioNode(o);
releaseAudioNode(g);
onended();
});
@ -491,8 +491,8 @@ export function getOscillator(s, t, value, onended) {
}
onceEnded(o, () => {
noiseMix || o.disconnect();
noiseMix?.node.disconnect();
noiseMix || releaseAudioNode(o);
releaseAudioNode(noiseMix?.node);
onended();
});
o.start(t);