BelaPlatform / supercollider

an environment and programming language for real time audio synthesis and algorithmic composition
GNU General Public License v3.0
14 stars 8 forks source link

Dseq, Dser and Demand - unexpected behaviour on bela #87

Closed miguel-negrao closed 3 years ago

miguel-negrao commented 3 years ago

Environment

Steps to reproduce

(
x = { |numSteps = 2|
    var seq = Dseq(Dser(8.collect{ |i| 400 * i }, numSteps), inf);
    var freq = Demand.kr(Impulse.kr(4), 0, seq);
    SinOsc.ar(freq) * 0.1;
}.play
)

x.set(\numSteps, 4)

Expected vs. actual behavior

I'm getting unexpected behaviour on bela:

Running this on my computer (debian 10, with commit above) it plays continuously and changing numSteps increases or decreases the sequence size. Running the same code on the bela only runs the sequence once. My bela has supercollider version scsynth 3.10.0-beta1 (Built from branch 'HEAD' [1378ce7b8]) and tested on my computer on commit cee2becc757a92f4b79799111076fc843b2ce2c2 (HEAD, tag: Version-3.10.0-beta1).

Let me know if I should move this issue to the SuperCollider repo.

miguel-negrao commented 3 years ago

doing freq.poll bela ide prints:

UGen(OutputProxy): 0
UGen(OutputProxy): 0
UGen(OutputProxy): 0
UGen(OutputProxy): 400
UGen(OutputProxy): 400
UGen(OutputProxy): nan
UGen(OutputProxy): nan
UGen(OutputProxy): nan
UGen(OutputProxy): nan
UGen(OutputProxy): nan
UGen(OutputProxy): nan
giuliomoro commented 3 years ago

no idea, but can you try it against the latest and greatest Bela release? https://github.com/BelaPlatform/supercollider/releases/

miguel-negrao commented 3 years ago

Updating to latest and greatest has fixed it !

giuliomoro commented 3 years ago

That's great!