Things are starting to look like what I envisioned but a number of things need to be cleaned up.
[x] Above all how to use this stuff has to be simple, simple, simple. There is a lot of complexity here and both usage and documentation must be greatly simplified or, at least, greatly clarified before anybody but me would be comfortable sitting down and trying to use these opcodes. I have changed the README.md, but I will also need to put in tutorial comments and greatly modify the csound-extended/playpen directory and documentation.
[x] Waiting for browsers to be loaded in addition to waiting for documents to be loaded is lame. There should be a global function that says when a browser's main web page has finished loading. It should be global to the opcode library. Any requests for the page should be enqueued and dispatched when it is ready. Couldn't think, offhand, how to do this. I simply increased the polling frequency. It's not an issue after the browser has been created.
[x] The score display -- is there any way to get rid of the animate function in order to get the trackball controls working? No, this is standard, but the way I had been doing it was a bit wrong. It's correct now.
[x] The score display should have a moving play cursor as before. This should probably be done using a timer. No, I did it by calling csound.GetScoreTime with a callback to receive the result in the animate function.
[x] There should be a way to recenter the piano roll.
[x] The piano roll's grid and its events do not seem to match in size. Fixed, I was using wrong field for time.
[x] The dat.gui elements need to be styled consistently.
[x] The dat.gui persistence mechanism should be simplified to just Save and Restore.
[x] The examples should obtain all resources either from CDNs or from local files in the repository.
[x] Running Web pages causes significantly more audio dropouts, see what if anything can be done about this. Actually it seems OK, load caused by MVerb which I have dropped from the examples.
Things are starting to look like what I envisioned but a number of things need to be cleaned up.
README.md,
but I will also need to put in tutorial comments and greatly modify thecsound-extended/playpen directory
and documentation.animate
function in order to get the trackball controls working? No, this is standard, but the way I had been doing it was a bit wrong. It's correct now.csound.GetScoreTime
with a callback to receive the result in theanimate
function.