diff --git a/packages/codemirror/codemirror.mjs b/packages/codemirror/codemirror.mjs index 7cac0888..58a3e261 100644 --- a/packages/codemirror/codemirror.mjs +++ b/packages/codemirror/codemirror.mjs @@ -87,7 +87,7 @@ export function initEditor({ initialCode = '', onChange, onEvaluate, onStop, set export class StrudelMirror { constructor(options) { - const { root, initialCode = '', onDraw, drawTime = [-2, 2], prebake, settings, ...replOptions } = options; + const { root, initialCode = '', onDraw, drawTime = [-2, 2], autodraw, prebake, settings, ...replOptions } = options; this.code = initialCode; this.root = root; this.miniLocations = []; @@ -110,7 +110,7 @@ export class StrudelMirror { }; this.prebaked = prebake(); - // this.drawFirstFrame(); + autodraw && this.drawFirstFrame(); this.repl = repl({ ...replOptions, @@ -169,7 +169,7 @@ export class StrudelMirror { try { await this.repl.evaluate(this.code, false); this.drawer.invalidate(this.repl.scheduler); - this.onDraw?.(this.drawer.visibleHaps, 0, []); + this.onDraw?.(this.drawer.visibleHaps, 0, [], this.painters); } catch (err) { console.warn('first frame could not be painted'); } diff --git a/website/src/docs/MicroRepl.jsx b/website/src/docs/MicroRepl.jsx index 54b5e27e..1b97d4e6 100644 --- a/website/src/docs/MicroRepl.jsx +++ b/website/src/docs/MicroRepl.jsx @@ -52,6 +52,7 @@ export function MicroRepl({ defaultOutput: webaudioOutput, getTime: () => getAudioContext().currentTime, transpiler, + autodraw: !!shouldDraw, root: containerRef.current, initialCode: '// LOADING', pattern: silence,