From af7855402ff42f156758cedff87a041519a0417d Mon Sep 17 00:00:00 2001 From: jeromew Date: Mon, 1 Dec 2025 20:43:55 +0000 Subject: [PATCH] Accept non-instanciated nodes for better developer experience --- packages/superdough/helpers.mjs | 2 ++ packages/superdough/synth.mjs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/superdough/helpers.mjs b/packages/superdough/helpers.mjs index 3e9b81135..3f57d0a52 100644 --- a/packages/superdough/helpers.mjs +++ b/packages/superdough/helpers.mjs @@ -555,6 +555,8 @@ export const getFrequencyFromValue = (value, defaultNote = 36) => { }; export const releaseAudioNode = (node) => { + if (node == null) return; + // check we received an AudioNode if (!(node instanceof AudioNode)) { throw new Error('releaseAudioNode can only release an AudioNode'); diff --git a/packages/superdough/synth.mjs b/packages/superdough/synth.mjs index d50aebae2..b02354465 100644 --- a/packages/superdough/synth.mjs +++ b/packages/superdough/synth.mjs @@ -343,7 +343,7 @@ export function registerSynthSounds() { ac, () => { releaseAudioNode(o); - lfo && releaseAudioNode(lfo); + releaseAudioNode(lfo); onended(); fm?.stop(); vibratoOscillator?.stop();