no top level await + no evaluate on mount

This commit is contained in:
Felix Roos 2022-08-23 18:04:35 +02:00
parent 5be1a7000c
commit 11a9f3ced3
2 changed files with 4 additions and 3 deletions

View file

@ -79,12 +79,12 @@ function App() {
const error = evalError || schedulerError; const error = evalError || schedulerError;
useKeydown( useKeydown(
useCallback( useCallback(
(e) => { async (e) => {
if (e.ctrlKey || e.altKey) { if (e.ctrlKey || e.altKey) {
if (e.code === 'Enter') { if (e.code === 'Enter') {
e.preventDefault(); e.preventDefault();
flash(view); flash(view);
evaluate(); await evaluate();
if (e.shiftKey) { if (e.shiftKey) {
panic(); panic();
scheduler.stop(); scheduler.stop();
@ -110,6 +110,7 @@ function App() {
<div className="bg-slate-500 space-x-2 px-2 rounded-t-md"> <div className="bg-slate-500 space-x-2 px-2 rounded-t-md">
<button <button
onClick={async () => { onClick={async () => {
await evaluate();
await getAudioContext().resume(); await getAudioContext().resume();
scheduler.start(); scheduler.start();
}} }}

View file

@ -2,7 +2,7 @@ import { Scheduler } from '@strudel.cycles/core';
import { useRef, useCallback, useEffect, useMemo, useState } from 'react'; import { useRef, useCallback, useEffect, useMemo, useState } from 'react';
import { evaluate as _evaluate } from '@strudel.cycles/eval'; import { evaluate as _evaluate } from '@strudel.cycles/eval';
function useStrudel({ defaultOutput, interval, getTime, code, evalOnMount = true }) { function useStrudel({ defaultOutput, interval, getTime, code, evalOnMount = false }) {
// scheduler // scheduler
const [schedulerError, setSchedulerError] = useState(); const [schedulerError, setSchedulerError] = useState();
const [evalError, setEvalError] = useState(); const [evalError, setEvalError] = useState();