Hi David,
You can change your incoming trigger with any MIDI message you want.
You can even add multiple MIDI triggers, each setting the global variable gc to a different value (in the rules section of the translator).
You could for instance, call them Bookmark 1, Bookmark 2 etc. If you do this, you would give each translator it’s own incoming trigger and set the value of gc in the rules of that translator.
I usually just pick from the pool of global variables a describe in the manual ga-gz g0-gn, ha-hz h0-h9 … (skipping over o-x) ya-yz y0-y9.
If you want to go to a page (bookmark) based on the incoming note number instead of having multiple translators, simply have a single incoming translator as follows:
Note On MIDI CH12 Any note set note to gc.
Then the incoming note will go to the page number of that note. gc is your input target number and I think in the example I sent you I set it to 6 on the trigger translator. Set it to anything else and your output will change accordingly.(0-999)
The language is Bome’s own language and described in the user manual.
gb=ga/100 will take the value of ga, divide by 100 and put it in the result into the local variable gb (the 100s digit)
gb=gb%10 is a MODULO (remainder) operator to discard any numbers above 9 so you will be left with a single digit 0-9.
As far as the Init translators, I usually add this to all of my projects. The first one starts a one-shot init timer when the project is open. The second one, when you hit the ESC key on your computer keyboard. The init timer, is where I initially set and document any global variables I’m using so that I can keep them straight (since they don’t have any meaningful real names). So they are for general housekeeping. If you don’t want ESC key to reset the variables, you can safely remove, disable or change the translator.
The the sequence timer is used to sequence through the output of digits left to right. It iterates through 4 values (3 digits plus return) and only one of the 4 translators complete depending on which iteration it is on (value of ga), otherwise it aborts.
The second timer fires 0-9 keystrokes based on the current digit we are on. Then the return is sent. Again, only the timer with it’s own digit completes by using the rule:
if gb!=0 then exit rules, skip outgoing action
The above will only send a keystroke if gb=0
I hope this helps!
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz