diff --git a/packages/superdough/reverb.mjs b/packages/superdough/reverb.mjs index 4c5bc1d1..54019fc2 100644 --- a/packages/superdough/reverb.mjs +++ b/packages/superdough/reverb.mjs @@ -26,8 +26,11 @@ if (typeof AudioContext !== 'undefined') { } ); convolver.duration = d; + convolver.fade = fade; + convolver.revlp = revlp; + convolver.revdim = revdim; }; - convolver.setDuration(duration); + convolver.setDuration(duration, fade, revlp, revdim); return convolver; }; } diff --git a/packages/superdough/superdough.mjs b/packages/superdough/superdough.mjs index 607c649d..0d08c8ad 100644 --- a/packages/superdough/superdough.mjs +++ b/packages/superdough/superdough.mjs @@ -118,17 +118,29 @@ function getReverb(orbit, duration = 2, fade, revlp, revdim) { duration, fade, revlp, + revdim, ); reverb.connect(getDestination()); - console.log(reverb) reverbs[orbit] = reverb; + console.log(reverbs[orbit]); } - // Update the reverb duration if needed after instanciation - if (reverbs[orbit].duration !== duration) { + + if ( + reverbs[orbit].duration !== duration || + reverbs[orbit].fade !== fade || + reverbs[orbit].revlp !== revlp || + reverbs[orbit].revdim !== revdim + ) { reverbs[orbit] = reverbs[orbit].setDuration( - duration, fade, revlp, revdim); + duration, fade, revlp, revdim + ); reverbs[orbit].duration = duration; + reverbs[orbit].fade = fade; + reverbs[orbit].revlp = revlp; + reverbs[orbit].revdim = revdim; + } + return reverbs[orbit]; }