diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index e98c4f2b..fc9dae04 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -2359,15 +2359,10 @@ export const splice = register( false, // turns off auto-patternification ); -// this function will be redefined in repl.mjs to use the correct cps value. -// It is still here to work in cases where repl.mjs is not used - export const { loopAt, loopat } = register(['loopAt', 'loopat'], function (factor, pat) { - return _loopAt(factor, pat, 1); + return new Pattern((state) => _loopAt(factor, pat, state.controls._cps).query(state)); }); -// the fit function will be redefined in repl.mjs to use the correct cps value. -// It is still here to work in cases where repl.mjs is not used /** * Makes the sample fit its event duration. Good for rhythmical loops like drum breaks. * Similar to `loopAt`. diff --git a/packages/core/repl.mjs b/packages/core/repl.mjs index 65a9ba01..27c95c70 100644 --- a/packages/core/repl.mjs +++ b/packages/core/repl.mjs @@ -107,11 +107,6 @@ export function repl({ const setCps = (cps) => scheduler.setCps(cps); const setCpm = (cpm) => scheduler.setCps(cpm / 60); - // the following functions use the cps value, which is why they are defined here.. - const loopAt = register('loopAt', (cycles, pat) => { - return pat.loopAtCps(cycles, scheduler.cps); - }); - Pattern.prototype.p = function (id) { pPatterns[id] = this; return this; @@ -143,7 +138,6 @@ export function repl({ } evalScope({ - loopAt, all, hush, setCps,