I’ve done this longtime ago and worked
mp1mid1 = panel:getModulatorByName("PartSamplNb-1"):getMidiMessage()
mp1mid2 = panel:getModulatorByName("Volume-1"):getMidiMessage()
mp1mid3 = panel:getModulatorByName("Pan-1"):getMidiMessage()
p1m1 =(string.format("%s %s %s",prfix1,map1val[newValue+1],sufix1))
p1m2 =(string.format("%s %s %s %s",prfix1,map1val[newValue+1],mpbyt2,sufix2))
p1m3 =(string.format("%s %s %s %s",prfix1,map1val[newValue+1],mpbyt3,sufix2))
prfix1 = "f0 41 10 00 1d 12 12 00"
sufix1 = "00 MS LS z6 f7"
sufix2 = "xx z5 f7"
map1val ={"00","01","02","03","04","05","06","07","08","09","0a","0b"}
mpbyt2 = "02"
mpbyt3 = "03" pbyt2 = "04"
mp1mid1:setProperty("midiMessageSysExFormula",(p1m1),false)
mp1mid2:setProperty("midiMessageSysExFormula",(p1m2),false)
mp1mid3:setProperty("midiMessageSysExFormula",(p1m3),false)
getMidiMessage() is wrong now ,I notice you enter a 0 in it why ?
Did you try string.gsub(syxFormula,”k0″,””..panel:getModulatorByName(“GLOBAL Part”):getValue()) ?