I am trying to have an incoming CC - let’s say CC 1, any value, on MIDI Channel 8 be converted into a sysex message to change presets/memory slots on my Roland MVS-12 video switcher.
I am sending static CC values out of a Fractal Axe FX III when a footswitch is triggered on its foot controller - ie Channel 6, CC 1, value 127
From the Roland’s manual -
The following commands can be sent to the MVS-12. They are shown in RS-232C (ASCII) and hexadecimal (MIDI).
MLD : Memory Select
Activate the specified memory number.
stxMLD:a;
a : Memory Number (0-3)
stx M L D : a ;
O2H 4DH 4CH 44H 3AH * 3BH
= 30H-33H
I can’t seem to figure out how exactly to put this into MIDI translator pro - I need to do that, save a profile, and then upload it to the bomebox via wifi for it to work right? Hoping for any step by step assistance here. Thanks for your time if you’re able to help.
Earlier in the manual for the MVS-12 this is also there, if it helps -
Data Byte
• F0H Exclusive Status
• 41H ID Number (Roland)
• dev Device ID (dev:10H-1FH)
• 00H MVS-12 Model ID
• 00H MVS-12 Model ID
• 4FH MVS-12 Model ID
• 12H Command ID (DT1)
You can learn more about aliases from this tutorial.
Input is CC1 from on MIDI CH 6 as you requested.
The rules calculate the checksum as follows. We also log an error if it is out of bounds
if qq>3 then Log "Log value cannot be greater than 3 value is %qq%"
if qq>3 then exit rules, skip outgoing action
// First data item
rr=2
// 0x4d
rr=rr+77
// ox r
rr=rr+76
// ox44
rr=rr+68
//0x3a
rr=rr+58
// value of qq+0x30
rr=rr+qq
rr=rr+48
// 0x3b Last data item
rr=rr+59
// Get remainder
rr=rr%128
//Subtract from 128
rr=128-rr
// rr is now the checksum
// add 0x30 to qq
qq=qq+48
Log "Log Value=%qq% checksum is %rr% or 0x%02X rr%"
I build the outgoing message as a raw MIDI message from the information you provided.
Thanks Steve! I was able to get this to work, but I’m not sure how to modify it to access the other memory slots (instead of 30H they are 31H, 32H, and 33H). Does it have to do with editing the qq variable somewhere? I want to have CC 2 do 31H, CC 3 do 32H, and CC 4 do 33H - I assume I can clone the translation you posted and just modify the variables but I’m not sure where to do that.
Yes, duplicate the existing translators, change the incoming trigger and modify the value of qq in the beginning of the rules like you did with the one you have. Make it 1,2,and 3. The 30H (48) is added later in the rules.
Or you could make one translator and capture the incoming CC value in qq and then subtract one from it in the first rule. That way you would only need one translator.
Awesome, so I guess I got the checksum right and that the documentation was accurate. This is not always the case, especially the documentation on SysEX can be quite confusing.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz