I’m translating CC 0-127 to a HUI ASCI display in 3 digits which means I have to split up the incoming numbers into 3 parts before they get sent out. I have setup the rules and it does work fine until I use a second fader at the same time then MTP struggles. Is there a more efficient way to do this with modulo or bit-wise? Couldn’t figure it out. Thanks a ton for the insight!
//reduce pitch data
qq=oo>>7
//Translate to 3 digits
if qq==0 then rr=32
if qq==0 then ss=32
if qq==0 then tt=48
if qq==1 then rr=32
if qq==1 then ss=32
if qq==1 then tt=49
if qq==2 then rr=32
if qq==2 then ss=32
if qq==2 then tt=50
if qq==3 then rr=32
if qq==3 then ss=32
if qq==3 then tt=51
if qq==4 then rr=32
if qq==4 then ss=32
if qq==4 then tt=52
if qq==5 then rr=32
if qq==5 then ss=32
if qq==5 then tt=53
if qq==6 then rr=32
if qq==6 then ss=32
if qq==6 then tt=54
if qq==7 then rr=32
if qq==7 then ss=32
if qq==7 then tt=55
if qq==8 then rr=32
if qq==8 then ss=32
if qq==8 then tt=56
if qq==9 then rr=32
if qq==9 then ss=32
if qq==9 then tt=57
if qq==10 then rr=32
if qq==10 then ss=49
if qq==10 then tt=48
if qq==11 then rr=32
if qq==11 then ss=49
if qq==11 then tt=49
…and so on… to 127…
Translator 1.0 puts the value of the CC in to the global variable gc
Translators 2.0-2.3 putsthe values into global variable g0-g3 for building the SysEX message.
Translator 2.4 calls the SysEX
Translator 2.5 decrements the digit counter which determine which variable to populate
Translator 2.6, if enabled, sends the SysEX in Mackie MCU format.
Translator 2.7, if enabled, sends the SysEX in Mackie HUI format.
The CC number determines which scribble strip the message is sent to. If you want to modify this you would change the rules of 2.5 (for MCU) or 2.6 (for HUI).
Note: There may be a simpler way to do this. I used the sequence method because I have a similar method to send keystrokes to a given application so I just borrowed some existing logic instead of re-creating the wheel.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
That’s tremendous thank you so much for this. I have converted it to the 8 pitchbend faders and it works pretty well. I also changed the timer to have more of a realtime feedback. I’ll have to spend a bit of time with it to comprehend it all and figure out how to integrate this into the different pages but I think it should work great. I have a MIDIPLUS UP test unit here that handles everything and more in Cubase through MTP. Thanks again!
Glad to have helped. Again, I could probably simplify the population of global variables g0,g3. I don’t think multiple translators are required, but again I borrowed from a CC to keystroke project file that required the separation. Maybe if I get time, I can improve on the project.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
Translator 1.0 does all of the conversion. There is only 1 global variable used (zz) and it is just to turn debugging on which enables the log messages.
Everything else is done with local variables and parameter passing to the perform translator.