mirror of
https://codeberg.org/uzu/strudel
synced 2026-09-05 22:58:09 -04:00
25 lines
834 B
JavaScript
25 lines
834 B
JavaScript
let ac;
|
|
document.getElementById('play').addEventListener('click', async () => {
|
|
ac = ac || new AudioContext();
|
|
await ac.resume();
|
|
await ac.audioWorklet.addModule('./worklet.js');
|
|
const node = new AudioWorkletNode(ac, 'saw-processor');
|
|
|
|
//let res = await fetch('./zigsaw/zigsaw.wasm');
|
|
// let res = await fetch('./csaw/csaw.wasm');
|
|
let res = await fetch('./ascsaw/build/release.wasm');
|
|
//let res = await fetch('./rustsaw/pkg/rustsaw_bg.wasm');
|
|
const buffer = await res.arrayBuffer();
|
|
node.port.onmessage = (e) => {
|
|
if (e.data === 'OK') {
|
|
console.log('worklet ready');
|
|
}
|
|
};
|
|
node.port.postMessage({ webassembly: buffer });
|
|
node.connect(ac.destination);
|
|
|
|
document.getElementById('freq').addEventListener('input', async (e) => {
|
|
node.port.postMessage({ frequency: e.target.value });
|
|
});
|
|
});
|