aboutsummaryrefslogtreecommitdiff
path: root/site/code/base.js
diff options
context:
space:
mode:
authorRichard <q@1bpm.net>2025-04-13 18:48:02 +0100
committerRichard <q@1bpm.net>2025-04-13 18:48:02 +0100
commit9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22 (patch)
tree291bd79ce340e67affa755a8a6b4f6a83cce93ea /site/code/base.js
downloadapps.csound.1bpm.net-9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22.tar.gz
apps.csound.1bpm.net-9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22.tar.bz2
apps.csound.1bpm.net-9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22.zip
initial
Diffstat (limited to 'site/code/base.js')
-rw-r--r--site/code/base.js60
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();
+ });
+
+});