diff options
author | Richard <q@1bpm.net> | 2025-04-16 01:04:34 +0100 |
---|---|---|
committer | Richard <q@1bpm.net> | 2025-04-16 01:04:34 +0100 |
commit | bda3a99797df33f8bff48960318b14a0d81c52a3 (patch) | |
tree | ef28024823751abd4cbcb73093bb18b338628161 /site/app/twist/twist.js | |
parent | 9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22 (diff) | |
download | apps.csound.1bpm.net-master.tar.gz apps.csound.1bpm.net-master.tar.bz2 apps.csound.1bpm.net-master.zip |
Diffstat (limited to 'site/app/twist/twist.js')
-rw-r--r-- | site/app/twist/twist.js | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/site/app/twist/twist.js b/site/app/twist/twist.js index a7a248c..515235c 100644 --- a/site/app/twist/twist.js +++ b/site/app/twist/twist.js @@ -108,7 +108,7 @@ var Twist = function() { };
}
- twist.version = 1;
+ twist.version = 1.1;
this.currentTransform = null;
var errorState;
var instanceIndex = 0;
@@ -967,6 +967,34 @@ var Twist = function() { app.insertScore("twst_getbuffers", [0, 1, cbid]);
};
+ this.loadFileFromURL = async function(url, name, onComplete) {
+ if (!name) name = url.split("/").reverse()[0];
+ await app.copyUrlToLocal(url, name);
+ var cbid = app.createCallback(async function(ndata){
+ twirl.loading.hide();
+ if (ndata.status > 0) {
+ if (waveformTabs.length == 0) {
+ self.createNewInstance(true);
+ instanceIndex = 0;
+ }
+ self.waveformTab.text(name);
+ await globalCallbackHandler(ndata);
+ waveformFiles[instanceIndex] = name;
+ waveformLoaded[instanceIndex] = true;
+ } else if (ndata.status == -1) {
+ twirl.prompt.show("File not valid");
+ } else if (ndata.status == -2) {
+ twirl.prompt.show("File too large");
+ } else {
+ twirl.prompt.show("File loading error");
+ }
+ if (onComplete) {
+ onComplete(ndata);
+ }
+ });
+ app.insertScore("twst_loadfile", [0, 1, name]);
+ };
+
this.loadFileFromClipboard = function() {
if (!twist.hasClipboard) {
return twirl.prompt.show("Cannot create: clipboard is empty");
|