diff options
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");
|