Closed asheshambasta closed 4 years ago
Sorry, for late reply, I'm ill right now. I'll try to investigate when I recover.
This is not a bug. It's fine behaviour!
BPM is a part of functions takt
and syn
.
There is global parameter BPM that is read by those functions and it is updated
with setBpm. And some of them uses BPM in denominator. You can use +1 or even more to your bpm value to make it stable prior to the setBpm
function.
If kick stops playing that means that takt
uses BPM in denominator and the process that runs this instrument was killed with exception.
So we can write it like this:
\amp bpm -> setBpm (1 + (maxBpm - 1) * bpm) >> mul amp (return kick + snare)
or like this:
\amp bpm -> setBpm (maxB 1 $ maxBpm * bpm) >> mul amp (return kick + snare)
Deps:
Relevant code:
Repro:
Turn the BPM knob all the way to
0
;Output:
The kick stops playing; but the snare keeps playing when I bring the BPM back to non-zero.
This seems to be an issue where we're rendering something in csound that causes a div. by zero error; but at this stage I'm not sure what that is.