diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index a490463d..42f98a17 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -310,6 +310,9 @@ const generic_params = [ */ ['loop'], /** + * Begin to loop at a specific point in the sample (inbetween `begin` and `end`). + * Note that the loop point must be inbetween `begin` and `end`, and before `loopEnd`! + * * @name loopBegin * @param {number | Pattern} amount between 0 and 1, where 1 is the length of the sample * @synonyms loopb @@ -321,6 +324,10 @@ const generic_params = [ */ ['loopBegin', 'loopb'], /** + * + * End the looping section at a specific point in the sample (inbetween `begin` and `end`). + * Note that the loop point must be inbetween `begin` and `end`, and after `loopBegin`! + * * @name loopEnd * @param {number | Pattern} amount between 0 and 1, where 1 is the length of the sample * @synonyms loope diff --git a/packages/superdough/sampler.mjs b/packages/superdough/sampler.mjs index 28f09082..76b6a542 100644 --- a/packages/superdough/sampler.mjs +++ b/packages/superdough/sampler.mjs @@ -249,7 +249,6 @@ export async function onTriggerSample(t, value, onended, bank, resolveUrl) { bufferSource.loop = true; bufferSource.loopStart = loopBegin * bufferSource.buffer.duration - offset; bufferSource.loopEnd = loopEnd * bufferSource.buffer.duration - offset; - duration = loop * duration; } bufferSource.start(time, offset); const { node: envelope, stop: releaseEnvelope } = getEnvelope(attack, decay, sustain, release, 1, t);