delaysync

This commit is contained in:
Jade (Rose) Rowland
2025-06-27 15:54:39 -04:00
parent 3acc364a03
commit 09d05abd70
3 changed files with 18 additions and 3 deletions
+17 -1
View File
@@ -985,15 +985,31 @@ export const { delayfeedback, delayfb, dfb } = registerControl('delayfeedback',
*
*/
export const { delaytime, delayt, dt } = registerControl('delaytime', 'delayt', 'dt');
/* // TODO: test
/**
* Sets the time of the delay effect in cycles.
*
* @name delaysync
* @param {number | Pattern} cycles delay length in cycles
* @synonyms delayt, dt
* @example
* s("bd bd").delay(.25).delaysync("<1 2 3 5>".div(8))
*
*/
export const { delaysync } = registerControl('delaysync');
/**
* Specifies whether delaytime is calculated relative to cps.
*
* @name lock
* @param {number | Pattern} enable When set to 1, delaytime is a direct multiple of a cycle.
* @superdirtOnly
* @example
* s("sd").delay().lock(1).osc()
*
*
*/
export const { lock } = registerControl('lock');
/**
* Set detune for stacked voices of supported oscillators
+1 -1
View File
@@ -548,7 +548,7 @@ export const superdough = async (value, t, hapDuration, cps = 0.5) => {
compressorRelease,
} = value;
delaytime = delaytime ?? cycleToSeconds(delaysync)
delaytime = delaytime ?? cycleToSeconds(delaysync, cps);
const orbitChannels = mapChannelNumbers(
multiChannelOrbits && orbit > 0 ? [orbit * 2 - 1, orbit * 2] : getDefaultValue('channels'),
-1
View File
@@ -21,7 +21,6 @@ export const webaudioOutput = (hap, deadline, hapDuration, cps, t) => {
return superdough(hap2value(hap), t ? `=${t}` : deadline, hapDuration, cps);
};
Pattern.prototype.webaudio = function () {
return this.onTrigger(webaudioOutputTrigger);
};