Hi Steve,
Ok I have another question:
Here is what I want to do:
When I press a button, BMT starts a random timer (florian’s method) that waits for however long the value it selects is (max 20 sec), then randomly picks another value(0-127) (using Florian’s timer method) to put into a sysex message it outputs.
Basically I am daisy chaining 2 of Florian’s timers to randomly select a delay value to start a timer that selects a value for a single sysex message.
I have sucessfully made a single instance of Florians timer solution to create a random note (or number) but my daisy chain method is not outputting random values. Can you have a look and let me know what I am missing?
Also:
- I see that Florian’s timer continuously runs in the background. Eventually the line numbers will get pretty large if left unattended. Is this bad?
- I am concerned that if the timer(s) runs it will possibly interfere with other midi messages going through BMT (when moving several faders, for example), though I haven’t really experienced any problems yet. How many continuous timers would be appropriate in order not to bog down BMT (if this is even possible)?
Here is where I am so far:
Translator 1: Start random number timer
Options: stop=false
Incoming: Project Opened
Outgoing: Periodic timer “Update Random Number”: 5 ms (initial delay: 100 ms)
Translator 2: Make new Random number gr
Options: stop=false
Incoming: On timer “Update Random Number”
Rules:
gr=gr+1
if gr>=20 then gr=gr-20
//20 seconds max value
Outgoing: Periodic timer “Update Random Number”: 5 ms (initial delay: 100 ms)
Translator 3: On Note On, play random note
Options: stop=false
Incoming: MIDI 90 pp qq
Rules:
if qq==0 then exit rules, skip Outgoing Action
pp=ga
if pp!=0 then exit rules, execute Outgoing Action
pp=gr
ga=pp
Outgoing: Timer “START NOTE TIMERS” : pp (initial delay: 100 ms)
Translator 4: Start random number timer for SPX sysex
Options: stop=false
Incoming: Project Opened
Outgoing: Periodic timer “Update Random Number”: 5 ms (initial delay: 100 ms)
Translator 5: Make new Random number gr
Options: stop=false
Incoming: On timer “Update Random Number”
Rules:
gr=gr+17
if gr>=127 then gr=gr-127
//127 max value
Outgoing: Periodic timer “Update Random Number”: 5 ms (initial delay: 100 ms)
Translator 6: On Note On, play random note
Options: stop=false
Incoming: Timer “START NOTE TIMERS”
Rules:
if qq==0 then exit rules, skip Outgoing Action
pp=ga
if pp!=0 then exit rules, execute Outgoing Action
pp=gr
ga=pp
Outgoing: F0 43 11 1E 09 10 04 01 pp 00 00 F7