I was working on a scheme for ratcheting sequences and found that the DEL pre behaves in a way I wouldn’t expect. In the first column of the pattern screen, each step is a value 0-4. 0 is a rest, 1 is a regular note and and the values greater than 1 are the number of divisions for the ratcheting. The main clock for the voice hits this script:
P.N 0; A P.NEXT
IF EZ A: BREAK
B DIV LAST THIS A
L 0 A: SCRIPT 3
Script 3:
DEL MUL B I: SCRIPT 4
Script 4 is where voltages are set and triggers are pulsed. I only ever get the first trigger with this method. I did a test where I made a pattern of static delay times so that the first note had a much longer delay than the rest and was able to confirm that only the first DEL command gets executed. The rest are lost?
I came up with a workaround where the first script changes to:
P.N 0; A P.NEXT
IF EZ A: BREAK
M DIV LAST THIS A
L 0 A: SCRIPT 3
S.POP
And Script 3 becomes:
S: SCRIPT 4
and M:
S.POP
This works but it ties up the M script and makes it less flexible. Maybe I want to use probability in Script 3 to possibly skip some ratchet divisions?
Wondering if I’m missing something in my original solution or if something about the way DEL statements are evaluated is causing it not to work.