diff --git a/packages/superdough-wasm/csaw/.gitignore b/packages/superdough-wasm/csaw/.gitignore new file mode 100644 index 000000000..69d4d83ec --- /dev/null +++ b/packages/superdough-wasm/csaw/.gitignore @@ -0,0 +1 @@ +csaw \ No newline at end of file diff --git a/packages/superdough-wasm/csaw/csaw.c b/packages/superdough-wasm/csaw/csaw.c new file mode 100644 index 000000000..6cc7594fb --- /dev/null +++ b/packages/superdough-wasm/csaw/csaw.c @@ -0,0 +1,7 @@ +#include +#include + +EMSCRIPTEN_KEEPALIVE +double saw(double t, double f) { + return fmod((f * t * 1.0), 1.0) - 0.5 * 2.0; +} diff --git a/packages/superdough-wasm/csaw/csaw.wasm b/packages/superdough-wasm/csaw/csaw.wasm new file mode 100755 index 000000000..6edaa2d1a Binary files /dev/null and b/packages/superdough-wasm/csaw/csaw.wasm differ diff --git a/packages/superdough-wasm/main.js b/packages/superdough-wasm/main.js index 4b76fb418..62768819e 100644 --- a/packages/superdough-wasm/main.js +++ b/packages/superdough-wasm/main.js @@ -5,7 +5,8 @@ document.getElementById('play').addEventListener('click', async () => { await ac.audioWorklet.addModule('./worklet.js'); const node = new AudioWorkletNode(ac, 'saw-processor'); - let res = await fetch('./zigsaw/zigsaw.wasm'); + //let res = await fetch('./zigsaw/zigsaw.wasm'); + let res = await fetch('./csaw/csaw.wasm'); //let res = await fetch('./rustsaw/pkg/rustsaw_bg.wasm'); const buffer = await res.arrayBuffer(); node.port.onmessage = (e) => {