From 607823982133fa8032c1c85310b119b26df6496c Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Fri, 7 Apr 2023 12:09:20 +0200 Subject: [PATCH] script for rendering wasm to raw audio file --- renderwasm.mjs | 8 ++++++++ templates/wasm/player.wat | 2 ++ 2 files changed, 10 insertions(+) create mode 100644 renderwasm.mjs diff --git a/renderwasm.mjs b/renderwasm.mjs new file mode 100644 index 0000000..42b0d1f --- /dev/null +++ b/renderwasm.mjs @@ -0,0 +1,8 @@ +import { readFile, writeFile } from 'fs/promises'; + +const wasm = (await readFile('./temp_song_file.wasm')); + +const mod = await WebAssembly.instantiate(wasm, {}); +mod.instance.exports.render(); +const mem = mod.instance.exports.m; +await writeFile('temp_song_file.raw', new Uint8Array(mem.buffer,mod.instance.exports.s,mod.instance.exports.l)); diff --git a/templates/wasm/player.wat b/templates/wasm/player.wat index 222a2be..8f3543f 100644 --- a/templates/wasm/player.wat +++ b/templates/wasm/player.wat @@ -882,6 +882,8 @@ {{- if .RenderOnStart }} (start $render) ;; we run render automagically when the module is instantiated +{{- else}} +(export "render" (func $render)) {{- end}} (func $render (param)