add vite-vanilla-repl-cm6

This commit is contained in:
Felix Roos 2023-05-05 08:55:43 +02:00
parent a035412956
commit 1494cc38fc
13 changed files with 387 additions and 15 deletions

View file

@ -0,0 +1,38 @@
import { controls, repl, evalScope } from "@strudel.cycles/core";
import { transpiler } from "@strudel.cycles/transpiler";
import {
getAudioContext,
webaudioOutput,
initAudioOnFirstClick,
registerSynthSounds
} from "@strudel.cycles/webaudio";
import { registerSoundfonts } from "@strudel.cycles/soundfonts";
const initAudio = initAudioOnFirstClick();
const ctx = getAudioContext();
const loadModules = (scope = {}) =>
evalScope(
controls,
import("@strudel.cycles/core"),
import("@strudel.cycles/mini"),
import("@strudel.cycles/tonal"),
import("@strudel.cycles/webaudio"),
scope
);
export async function initStrudel(options = {}) {
await Promise.all([
initAudio,
loadModules(),
registerSynthSounds(),
registerSoundfonts()
]);
return repl({
defaultOutput: webaudioOutput,
getTime: () => ctx.currentTime,
transpiler,
...options
});
}