diff options
Diffstat (limited to 'site/code/base.js')
-rw-r--r-- | site/code/base.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/site/code/base.js b/site/code/base.js new file mode 100644 index 0000000..847807f --- /dev/null +++ b/site/code/base.js @@ -0,0 +1,60 @@ +var baseurl = "https://y.1bpm.net/csTest"; + +function csound_ready(Csound) { + $("#loading").hide(); + window.Csound = Csound; +} + +function handleMessage(message) { + var msgbox = $("#csmessages"); + msgbox.val(msgbox.val() + message + "\n"); +} + + +async function make_instance() { + if (!window.csound) { + window.csound = await Csound({useWorker: false, useSAB: false}); + } + window.csound.on("message", handleMessage); + return Promise.resolve(); +} + +async function copyUrlToLocal(url, name) { + const response = await fetch(url); + const bufferSrc = await response.arrayBuffer(); + const buffer = new Uint8Array(bufferSrc); + await csound.fs.writeFile(name, buffer); + return Promise.resolve(); +} + +async function load_files(bug) { + await copyUrlToLocal(baseurl + "/vibe.csd", "vibe.csd"); + await copyUrlToLocal(baseurl + "/input.mp3", "input.mp3"); + return Promise.resolve(); +} + + +async function play() { + $("#bug_status").text("Loading resources"); + await make_instance(); + await load_files(); + await csound.compileCsd("vibe.csd"); + await csound.setOption("-odac"); + await csound.setOption("-b2048"); + await csound.setOption("-m0"); + await csound.setOption("-d"); + await csound.setOption("--ksmps=128"); + + await csound.start(); + return Promise.resolve(); +} + + + +$(function(){ + + $("#bug_play").click(async function() { + await play(); + }); + +}); |