Closed sensestage closed 3 years ago
Hello! I just started using Bela, and really miss this feature when writing SC code. I would be happy to go for an implementation, here is how I would plan it, based on the discussion above. Please let me know what you think, it would be great to have some feedback before I start working on it
Requirements:
Implementation:
BelaScopeUGen:
BelaScope (sclang): init(server, maxChannels):
belaScopeBus = Bus.audio(server, maxChannels)
{BelaScopeUGen.ar(belaScopeBus, maxChannels)}.play
to ServerTree, to tail (and possibly refuse to create more than one BelaScopeUGen)scope(channel, data):
helper class method to be used in SynthDefs, returns Out.ar(belaScopeBus+channel, data)
data.collect: switch(d.rate){ \scalar }{ DC.ar(d) }{ \control }{ K2A.ar(d) }{ d }
Closed with a slightly different approach in 2fc8ce657613a24b5cecc5abe1776b5377af4bc6 a04483c9de5848657f361e858bf6261b02a0813d#75
@sensestage, if I got it right you suggested to add a method
logChannel(float value, int channel)
, and a methodframeCompleted()
to the BelaScope
class. EachscopeChannel
uGen would callScope::logChannel()
while a sort of "wrapping" ugen would then callframeCompleted()
.I thought over this and I think that we could do this, instead:
Scope
one frame at a time using the existing methodlog(float* buffer)
.Does it sound reasonable?