Dear users,
I expect that ‘Code A’ works the same way as ‘Code B’, except ‘Code A’ posts the elapsed times. However, ‘Code A’ lets many synths work. Why does this occur?
// Code A:
(
var scheduler, startedAt, elapsed, synth;
startedAt = Main.elapsedTime;
elapsed = { (Main.elapsedTime - startedAt).postcs };
synth = { |midiPitch|
{ SinOsc.ar(midiPitch.midicps.postcs, 0, 0.2)
* Env.perc.kr(doneAction: Done.freeSelf)
}.play };
scheduler = SystemClock;
scheduler.sched(0.5, { synth.(64); elapsed.() });
//scheduler.sched(2.0, { synth.(72); elapsed.() });
//scheduler.sched(0.0, { synth.(60); elapsed.() });
//scheduler.sched(1.0, { synth.(67); elapsed.() });
)
::
// Code B:
(
var scheduler, startedAt, elapsed, synth;
synth = { |midiPitch|
{ SinOsc.ar(midiPitch.midicps.postcs, 0, 0.2)
* Env.perc.kr(doneAction: Done.freeSelf)
}.play };
scheduler = SystemClock;
scheduler.sched(0.5, { synth.(64) });
//scheduler.sched(2.0, { synth.(72) });
//scheduler.sched(0.0, { synth.(60) });
//scheduler.sched(1.0, { synth.(67) });
)
best regards,