From b46330fc7a4f7fa88b3e5bf20aef19edbaf21663 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 24 Dec 2022 00:12:54 +0100 Subject: [PATCH] proper setup minirepl --- website/src/docs/MiniRepl.jsx | 12 +++++++----- website/src/repl/prebake.mjs | 11 ++++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/website/src/docs/MiniRepl.jsx b/website/src/docs/MiniRepl.jsx index 961cb4c3..12d0771b 100644 --- a/website/src/docs/MiniRepl.jsx +++ b/website/src/docs/MiniRepl.jsx @@ -1,12 +1,9 @@ import { evalScope, controls } from '@strudel.cycles/core'; -import { samples } from '@strudel.cycles/webaudio'; +import { initAudioOnFirstClick } from '@strudel.cycles/webaudio'; import { useEffect, useState } from 'react'; +import { prebake } from '../repl/prebake'; if (typeof window !== 'undefined') { - fetch('https://strudel.tidalcycles.org/EmuSP12.json') - .then((res) => res.json()) - .then((json) => samples(json, 'https://strudel.tidalcycles.org/EmuSP12/')); - evalScope( controls, import('@strudel.cycles/core'), @@ -20,6 +17,11 @@ if (typeof window !== 'undefined') { ); } +if (typeof window !== 'undefined') { + initAudioOnFirstClick(); + prebake(); +} + export function MiniRepl({ tune }) { const [Repl, setRepl] = useState(); useEffect(() => { diff --git a/website/src/repl/prebake.mjs b/website/src/repl/prebake.mjs index d8fc199c..bdd7f8d3 100644 --- a/website/src/repl/prebake.mjs +++ b/website/src/repl/prebake.mjs @@ -1,17 +1,18 @@ import { Pattern, toMidi, valueToMidi } from '@strudel.cycles/core'; import { samples } from '@strudel.cycles/webaudio'; -export async function prebake({ baseDir = '.' } = {}) { +export async function prebake({ baseDir = '' } = {}) { // https://archive.org/details/SalamanderGrandPianoV3 // License: CC-by http://creativecommons.org/licenses/by/3.0/ Author: Alexander Holm return await Promise.all([ - samples('piano.json', `${baseDir}/piano/`), + samples('/piano.json', `${baseDir}/piano/`), // https://github.com/sgossner/VCSL/ // https://api.github.com/repositories/126427031/contents/ // LICENSE: CC0 general-purpose - samples('vcsl.json', 'github:sgossner/VCSL/master/'), - samples('tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/'), - samples('EmuSP12.json', `${baseDir}/EmuSP12/`), + samples('/vcsl.json', 'github:sgossner/VCSL/master/'), + samples('/tidal-drum-machines.json', 'github:ritchse/tidal-drum-machines/main/machines/'), + samples('/EmuSP12.json', `${baseDir}/EmuSP12/`), + // samples('github:tidalcycles/Dirt-Samples/master'), ]); }