maxi-js-emscripten issueshttps://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues2018-02-07T13:49:01Zhttps://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/10extra Anaylser node?2018-02-07T13:49:01ZMichael Zbyszyńskiextra Anaylser node?MaxiLib is creating an analyser node that seems unnecessary.
Mick says:
> ...in the earlier implementations of webAudio, there was a bug that meant if you attempted to start an audio analyser node later, it wouldn't attach properly, and...MaxiLib is creating an analyser node that seems unnecessary.
Mick says:
> ...in the earlier implementations of webAudio, there was a bug that meant if you attempted to start an audio analyser node later, it wouldn't attach properly, and so you needed to create it here, even if it wasn't being used.
I don't think we ever attach to this node? And I don't know if this bug is still an issue.https://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/9bug in maxiArray clear2018-02-07T11:09:51ZMichael Zbyszyńskibug in maxiArray clear```
Module.vectorTools.clearVectorDbl(this.vec);
```
Should that be maxiTools?```
Module.vectorTools.clearVectorDbl(this.vec);
```
Should that be maxiTools?https://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/8bug in maxiArray.set2018-02-07T11:09:01ZMichael Zbyszyńskibug in maxiArray.setThis function is calling GetArrayAsVectorDbl, which is not part of this object.This function is calling GetArrayAsVectorDbl, which is not part of this object.https://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/7Bug in maxiArray.asJsArray?2018-02-07T11:06:42ZMichael ZbyszyńskiBug in maxiArray.asJsArray?```javascript
Module.maxiArray.prototype.asJsArray = function (arrayIn) {
var arrayOut = [];
for (var i = 0; i < this.length; i++) {
array.push(this.vec.get(i));
}
return arrayOut;
};
```
What is this array tha...```javascript
Module.maxiArray.prototype.asJsArray = function (arrayIn) {
var arrayOut = [];
for (var i = 0; i < this.length; i++) {
array.push(this.vec.get(i));
}
return arrayOut;
};
```
What is this array that's being pushed to?
Should it be pushing to arrayOut?https://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/6Use ES62018-02-07T11:02:26ZMichael ZbyszyńskiUse ES6It would be nice do be able to use ES6 in maxiLib. I'm doing this in RapidLib by using babel to transpile before feeding code to emscripten. AFAIK, emscripten is still (Feb 2018) using a really old version of Node in its build process.It would be nice do be able to use ES6 in maxiLib. I'm doing this in RapidLib by using babel to transpile before feeding code to emscripten. AFAIK, emscripten is still (Feb 2018) using a really old version of Node in its build process.https://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/5maxiAudio.play not part of prototype?2018-02-07T10:52:48ZMichael ZbyszyńskimaxiAudio.play not part of prototype?I noticed that maxiAudio.play() and maxiAudio.setup() are being added to the object directly, and not to the prototype. (eg maxiAudio.prototype.play = function() {...).
This is a bit inefficient if you have maxiAudio objects, since each...I noticed that maxiAudio.play() and maxiAudio.setup() are being added to the object directly, and not to the prototype. (eg maxiAudio.prototype.play = function() {...).
This is a bit inefficient if you have maxiAudio objects, since each will have a copy of this function. I guess that's an edge case, though.https://gitlab.doc.gold.ac.uk/mick/maxi-js-emscripten/-/issues/4Chrome 66 will break audio init2018-02-07T10:38:38ZMichael ZbyszyńskiChrome 66 will break audio initChrome 66 is scheduled to require a user interaction before audio can start.
This works in a page:
```javascript
if (window.confirm("Turn on maxiLib audio?")) {
maxiAudio.init();
}
```
See: https://live.codecircle.com/d/Mc9uWNu22EBp...Chrome 66 is scheduled to require a user interaction before audio can start.
This works in a page:
```javascript
if (window.confirm("Turn on maxiLib audio?")) {
maxiAudio.init();
}
```
See: https://live.codecircle.com/d/Mc9uWNu22EBpD2sq6
Unfortunately, adding the dialog to maxiLib itself doesn't seem to have been enough. I'm not sure if the Chrome Canary I'm using is exhibiting the final behaviour, though.