From 2499c4057c118b79d90cdaf0d26d799557b9d746 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 17 May 2024 21:29:39 +0200 Subject: [PATCH] allow using tidal function as template literal + add d1...d9 --- packages/tidal/tidal.mjs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/tidal/tidal.mjs b/packages/tidal/tidal.mjs index 785635f7..00a32021 100644 --- a/packages/tidal/tidal.mjs +++ b/packages/tidal/tidal.mjs @@ -1,4 +1,5 @@ import { reify } from '@strudel/core'; +import { miniAllStrings } from '@strudel/mini'; import { evaluate, loadParser } from 'hs2js'; function getInfixOperators() { @@ -33,9 +34,23 @@ function getInfixOperators() { const ops = getInfixOperators(); export async function initTidal() { + miniAllStrings(); // TODO: get rid of this and implement custom string parser in hs2js + // TODO: implement this in regular land + window.d1 = (pat) => pat.p('d1'); + window.d2 = (pat) => pat.p('d2'); + window.d3 = (pat) => pat.p('d3'); + window.d4 = (pat) => pat.p('d4'); + window.d5 = (pat) => pat.p('d5'); + window.d6 = (pat) => pat.p('d6'); + window.d7 = (pat) => pat.p('d7'); + window.d8 = (pat) => pat.p('d8'); + window.d9 = (pat) => pat.p('d9'); return loadParser(); } export function tidal(code) { + if (Array.isArray(code)) { + code = code.join(''); + } return evaluate(code, window, ops); }