localize draw logic

This commit is contained in:
Felix Roos 2023-01-13 12:03:34 +01:00
parent d980c9ca4c
commit 1ac784dc7a
15 changed files with 397 additions and 308 deletions

View file

@ -4,7 +4,7 @@ Copyright (C) 2022 Strudel contributors - see <https://github.com/tidalcycles/st
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { cleanupDraw, cleanupUi, controls, evalScope, logger } from '@strudel.cycles/core';
import { cleanupDraw, cleanupUi, controls, evalScope, getDrawContext, logger } from '@strudel.cycles/core';
import { CodeMirror, cx, flash, useHighlighting, useStrudel } from '@strudel.cycles/react';
import {
getAudioContext,
@ -54,6 +54,11 @@ evalScope(
export let loadedSamples = [];
const presets = prebake();
let drawContext;
if (typeof window !== 'undefined') {
drawContext = getDrawContext();
}
Promise.all([...modules, presets]).then((data) => {
// console.log('modules and sample registry loade', data);
loadedSamples = Object.entries(getLoadedSamples() || {});
@ -125,6 +130,7 @@ export function Repl({ embedded = false }) {
setPending(false);
},
onToggle: (play) => !play && cleanupDraw(false),
drawContext,
});
// init code
@ -167,7 +173,7 @@ export function Repl({ embedded = false }) {
view,
pattern,
active: started && !activeCode?.includes('strudel disable-highlighting'),
getTime: () => scheduler.getPhase(),
getTime: () => scheduler.now(),
});
//