diff --git a/packages/core/repl.mjs b/packages/core/repl.mjs index 0ec106af0..1d5a5e7a9 100644 --- a/packages/core/repl.mjs +++ b/packages/core/repl.mjs @@ -1,4 +1,5 @@ import { NeoCyclist } from './neocyclist.mjs'; +import { Cyclist } from './cyclist.mjs'; import { evaluate as _evaluate } from './evaluate.mjs'; import { logger } from './logger.mjs'; import { setTime } from './time.mjs'; @@ -15,6 +16,7 @@ export function repl({ onToggle, editPattern, onUpdateState, + sync = false, }) { const state = { schedulerError: undefined, @@ -35,14 +37,16 @@ export function repl({ onUpdateState?.(state); }; - const scheduler = new NeoCyclist({ + const schedulerOptions = { onTrigger: getTrigger({ defaultOutput, getTime }), getTime, onToggle: (started) => { updateState({ started }); onToggle?.(started); }, - }); + }; + + const scheduler = sync ? new NeoCyclist(schedulerOptions) : new Cyclist(schedulerOptions); let pPatterns = {}; let allTransform; diff --git a/website/src/repl/Repl.jsx b/website/src/repl/Repl.jsx index 57bdb1d1e..b56664673 100644 --- a/website/src/repl/Repl.jsx +++ b/website/src/repl/Repl.jsx @@ -56,6 +56,7 @@ export function Repl({ embedded = false }) { }); }; const editor = new StrudelMirror({ + sync: true, defaultOutput: webaudioOutput, getTime: () => getAudioContext().currentTime, transpiler,