There might be a better way for this? CC to Scribble Strip for Mackie

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…

Hi you can try this.

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).

MIDI-CC-to-Scribble-Strip-2025-03-14.bmtp (4.4 KB)

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
1 Like

Here is a simplified version.

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.

CCvalue-to-Scribble-2025-03-15.bmtp (3.7 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

That’s neat but this one seems to turn all 0 into ASCI spaces 32 at my end on the 100s 10s and 1s with both CCs and down conversion from pitch.

I’m looking at the code and I can grasp it to a degree but I’m not sure why the 0s don’t show up

Download it again. I messed up on a few rules so re-published probably after you downloaded the original one I posted.

Thanks a ton! This is great and so easy to integrate into the project. It’s also a great reference for me as to the math… Brilliant.

Glad to help!