From 21e6d81d349f475527d26509749385d70c5d0374 Mon Sep 17 00:00:00 2001 From: Aria Date: Wed, 14 Jan 2026 16:58:45 -0600 Subject: [PATCH] Also set values immediately for supersaw and wavetable --- packages/superdough/helpers.mjs | 2 +- packages/superdough/synth.mjs | 3 +-- packages/superdough/wavetable.mjs | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/superdough/helpers.mjs b/packages/superdough/helpers.mjs index bb402ea78..584b19673 100644 --- a/packages/superdough/helpers.mjs +++ b/packages/superdough/helpers.mjs @@ -155,7 +155,7 @@ export function getCompressor(ac, threshold, ratio, knee, attack, release) { release: release ?? 0.05, }; Object.entries(options).forEach(([key, value]) => { - node[key].value = value;; + node[key].value = value; }); return node; } diff --git a/packages/superdough/synth.mjs b/packages/superdough/synth.mjs index 9561ab363..38ad643de 100644 --- a/packages/superdough/synth.mjs +++ b/packages/superdough/synth.mjs @@ -178,11 +178,10 @@ export function registerSynthSounds() { }; const factory = () => new AudioWorkletNode(ac, 'supersaw-oscillator', { outputChannelCount: [2] }); const o = getNodeFromPool('supersaw', factory); - const now = ac.currentTime; Object.entries(params).forEach(([key, value]) => { const param = o.parameters.get(key); const target = value !== undefined ? value : param.defaultValue; - param.setValueAtTime(target, now); + param.value = target; }); o.port.postMessage({ type: 'initialize' }); const gainAdjustment = 1 / Math.sqrt(voices); diff --git a/packages/superdough/wavetable.mjs b/packages/superdough/wavetable.mjs index 1de42f643..6ef1f0ebb 100644 --- a/packages/superdough/wavetable.mjs +++ b/packages/superdough/wavetable.mjs @@ -244,11 +244,10 @@ export async function onTriggerSynth(t, value, onended, tables, cps, frameLen) { }; const factory = () => new AudioWorkletNode(ac, 'wavetable-oscillator-processor', { outputChannelCount: [2] }); const source = getNodeFromPool('wavetable', factory); - const now = ac.currentTime; Object.entries(params).forEach(([key, value]) => { const param = source.parameters.get(key); const target = value !== undefined ? value : param.defaultValue; - param.setValueAtTime(target, now); + param.value = target; }); source.port.postMessage({ type: 'initialize', payload }); if (ac.currentTime > t) {