diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index 1f49cf06..bbc9a5bd 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -1287,7 +1287,7 @@ export const { roomsize, size, sz, rsize } = registerControl('roomsize', 'size', * s("bd sd [~ bd] sd,hh*8").shape("<0 .2 .4 .6 .8>") * */ -export const { shape } = registerControl('shape'); +export const { shape } = registerControl(['shape', 'shapevol']); /** * Wave shaping distortion. CAUTION: it can get loud. * Second option in optional array syntax (ex: ".9:.5") applies a postgain to the output. @@ -1302,7 +1302,7 @@ export const { shape } = registerControl('shape'); * note("d1!8").s("sine").penv(36).pdecay(.12).decay(.23).distort("8:.4") * */ -export const { distort, dist } = registerControl('distort', 'dist'); +export const { distort, dist } = registerControl(['distort', 'distortvol'], 'dist'); /** * Dynamics Compressor. The params are `compressor("threshold:ratio:knee:attack:release")` * More info [here](https://developer.mozilla.org/en-US/docs/Web/API/DynamicsCompressorNode?retiredLocale=de#instance_properties) diff --git a/packages/superdough/superdough.mjs b/packages/superdough/superdough.mjs index 83499f01..878e6c1e 100644 --- a/packages/superdough/superdough.mjs +++ b/packages/superdough/superdough.mjs @@ -316,7 +316,9 @@ export const superdough = async (value, deadline, hapDuration) => { coarse, crush, shape, + shapevol, distort, + distortvol, pan, vowel, delay = 0, @@ -458,14 +460,8 @@ export const superdough = async (value, deadline, hapDuration) => { // effects coarse !== undefined && chain.push(getWorklet(ac, 'coarse-processor', { coarse })); crush !== undefined && chain.push(getWorklet(ac, 'crush-processor', { crush })); - if (shape !== undefined) { - const input = Array.isArray(shape) ? { shape: shape[0], postgain: shape[1] } : { shape }; - chain.push(getWorklet(ac, 'shape-processor', input)); - } - if (distort !== undefined) { - const input = Array.isArray(distort) ? { distort: distort[0], postgain: distort[1] } : { distort }; - chain.push(getWorklet(ac, 'distort-processor', input)); - } + shape !== undefined && chain.push(getWorklet(ac, 'shape-processor', { shape, postgain: shapevol })); + distort !== undefined && chain.push(getWorklet(ac, 'distort-processor', { distort, postgain: distortvol })); compressorThreshold !== undefined && chain.push(