TabSel
2011-12-23 12:22:29
if incoming action = midi then
set general global variable "FS" := last "F"irst byte of triggering incoming midi &0xF0 (= Midi running "S"tatus)
set general global variable "FC" := last "F"irst byte of triggering incoming midi &0x0F (= Midi running "C"hannel)
endif
What I mean is:
whenever a translator in the project is triggered by an incoming midi byte sequence, the project global variables FS and FC are set according to the first byte of the triggering midi byte sequence.
Advantage:
- in the rules, you don't have to extract midi status and midi channel
("performance increase" in the rules, against "performance decrease" in BMT code; negligible, I guess)
- you don't have to use a local variable for that
(saves one local variable)
- in "non-midi"-incoming actions, you always have the information about the midi running status/channel of the last triggering midi byte sequence within the whole project!
(saves up to two global variables and coding work to maintain this functionality manually)
- you don't have to extract status/channel in each and every rule!!!
(less typing the same over and over again, less code, better code maintenance)
- easy to implement for you, fully backwards compatible to existing projects etc...
would be few keystrokes for you, saving your customers millions and millions of keystrokes![Wink ;)](../../../images/smilies/icon_wink.gif)
set general global variable "FS" := last "F"irst byte of triggering incoming midi &0xF0 (= Midi running "S"tatus)
set general global variable "FC" := last "F"irst byte of triggering incoming midi &0x0F (= Midi running "C"hannel)
endif
What I mean is:
whenever a translator in the project is triggered by an incoming midi byte sequence, the project global variables FS and FC are set according to the first byte of the triggering midi byte sequence.
Advantage:
- in the rules, you don't have to extract midi status and midi channel
("performance increase" in the rules, against "performance decrease" in BMT code; negligible, I guess)
- you don't have to use a local variable for that
(saves one local variable)
- in "non-midi"-incoming actions, you always have the information about the midi running status/channel of the last triggering midi byte sequence within the whole project!
(saves up to two global variables and coding work to maintain this functionality manually)
- you don't have to extract status/channel in each and every rule!!!
(less typing the same over and over again, less code, better code maintenance)
- easy to implement for you, fully backwards compatible to existing projects etc...
would be few keystrokes for you, saving your customers millions and millions of keystrokes
![Wink ;)](../../../images/smilies/icon_wink.gif)