Post by motmeister on Jul 2, 2018 20:09:32 GMT
Be very afraid. Lol... I bought StreamByter AUV3 and I’m going to be dangerous until I figure out where I’m going...
I have discovered that the D+ flag in SNDs is not the equivalent of waiting nnn milliseconds. All it really does is schedule the future event. The script issues it and keeps right on processing. Doing the following will create a note on event and a note off event one right after the other:
SND 90 20 7F
SND 80 20 00 +D1000
it’s just that the note off will happen a second later. But if I want to have two note on-off combinations one right after the other, I have to “schedule” all the SNDS based on the current time, because the commands all happen at once. The following:
SND 90 20 7F
SND 80 20 00 +D1000
SND 90 20 7F +D1050
SND 80 20 00 +D2050
Would accomplish it, but what if I want to send 10 1 second notes in a row, the Delay value is going to get big really fast. With 10 notes the value is going to be over +D10000. I know I can increment a variable for the +D in a loop, but what’s the maximum possible both in the variable and in the +D statement? Or...
it would be so cool if there was a wait statement, that interrupted the script for nnn milliseconds, like THIS:
SND 90 20 7F
WAIT 1000
SND 80 20 00
SND 90 20 7F
WAIT 1000
SND 80 20 00
etc
I know you’re pretty locked in to the syntax of Streambyter. I’m just dreaming. If there’s a way to do this that doesn’t require too many lines of code for each note sent, I’d appreciate seeing it (with an explanation, please?).
thx
I have discovered that the D+ flag in SNDs is not the equivalent of waiting nnn milliseconds. All it really does is schedule the future event. The script issues it and keeps right on processing. Doing the following will create a note on event and a note off event one right after the other:
SND 90 20 7F
SND 80 20 00 +D1000
it’s just that the note off will happen a second later. But if I want to have two note on-off combinations one right after the other, I have to “schedule” all the SNDS based on the current time, because the commands all happen at once. The following:
SND 90 20 7F
SND 80 20 00 +D1000
SND 90 20 7F +D1050
SND 80 20 00 +D2050
Would accomplish it, but what if I want to send 10 1 second notes in a row, the Delay value is going to get big really fast. With 10 notes the value is going to be over +D10000. I know I can increment a variable for the +D in a loop, but what’s the maximum possible both in the variable and in the +D statement? Or...
it would be so cool if there was a wait statement, that interrupted the script for nnn milliseconds, like THIS:
SND 90 20 7F
WAIT 1000
SND 80 20 00
SND 90 20 7F
WAIT 1000
SND 80 20 00
etc
I know you’re pretty locked in to the syntax of Streambyter. I’m just dreaming. If there’s a way to do this that doesn’t require too many lines of code for each note sent, I’d appreciate seeing it (with an explanation, please?).
thx