Closed giuliomoro closed 3 years ago
@elgiano let's keep talking here
Now I see! I was having hard time figuring out how I should have rebased #83 :) Thanks, this looks good!
My only problem is that I can't edit this PR or push to it... how do we move forward?
@elgiano
my only problem is that I can't edit this PR or push to it... how do we move forward?
you should now have permission to edit or push to it.
I think I'm done with this for now, for me we just need to test it and then squash it in :)
merged 1a0ce0ed7c678f168f513e16992e4a59397b3d05
I have rebased the
bela-merge-formatted-rebase
branch to put all the three Scope-related commits on top (this can be sen in https://github.com/BelaPlatform/supercollider/commits/bela-scope-split ), then squashed them, so that the diff is now between no-scope and new-scope and not between old-scope and new-scope and it's easier to reason about it. This makes #83 obsolete.Purpose and Motivation
Simpler implementation, with more responsibilities on the server, and more straightforward in general:
SC_BelaDriver's SC_World now has a BelaScope object, made of a Scope and a buffer where UGens can write data to be scoped (
float[maxScopeChannels * blockSize]
)If the server is started with belaMaxScopeChannels > 0, SC_BelaDriver inits a BelaScope, and logs from buffer to Scope at the end of every BelaAudioCallback
There is only one UGen, BelaScopeOut, which writes to BelaScope's buffer, and it's directly usable from clients. Sclang provides some convenience .belaScope() functions, but most sanity-checks are done server-side, so that it is now no longer necessary to check for server.options.belaMaxScopeChannels
Types of changes
Checklist
Remaining Work