encapsulate .dough

This commit is contained in:
Felix Roos 2023-09-25 22:39:03 +02:00
parent 6e26f39751
commit 52c01abbe9
2 changed files with 8 additions and 7 deletions

View File

@ -1,4 +1,3 @@
import { Pattern } from '@strudel.cycles/core';
import { getAudioContext } from './superdough.mjs'; import { getAudioContext } from './superdough.mjs';
let worklet; let worklet;
@ -73,8 +72,6 @@ export const dough = async (code) => {
worklet.node.connect(ac.destination); worklet.node.connect(ac.destination);
}; };
Pattern.prototype.dough = function () { export function doughTrigger(t, hap, currentTime, duration, cps) {
return this.onTrigger((t, hap) => { window.postMessage({ time: t, dough: hap.value, currentTime, duration, cps });
window.postMessage({ time: t, dough: hap.value }); }
}, 1);
};

View File

@ -5,7 +5,7 @@ This program is free software: you can redistribute it and/or modify it under th
*/ */
import * as strudel from '@strudel.cycles/core'; import * as strudel from '@strudel.cycles/core';
import { superdough, getAudioContext, setLogger } from 'superdough'; import { superdough, getAudioContext, setLogger, doughTrigger } from 'superdough';
const { Pattern, logger } = strudel; const { Pattern, logger } = strudel;
setLogger(logger); setLogger(logger);
@ -35,3 +35,7 @@ export function webaudioScheduler(options = {}) {
onTrigger: strudel.getTrigger({ defaultOutput, getTime }), onTrigger: strudel.getTrigger({ defaultOutput, getTime }),
}); });
} }
Pattern.prototype.dough = function () {
return this.onTrigger(doughTrigger, 1);
};