Home › Forums › General › Programming › Need help with complex MIDI CC Expression › Reply To: Need help with complex MIDI CC Expression
May 1, 2015 at 5:09 pm
#45298
Never mind, I worked it out.
There’s probably a much better way of doing this, but this works
-- get the MIDI Channel from the panel and set ch to the hex representation of that
-- ready for transmitting as part of the MIDI message.
-- Will need to move this either to InitializePanel and/or to a method when MIDI Channel changes
ch = string.format("%x",L(panel:getPropertyString("panelMidiOutputChannelDevice")))
-- for debugging
-- console (ch)
if ch == "1" then
Mch = 0xb0
elseif ch == "2" then
Mch = 0xb1
elseif ch == "3" then
Mch = 0xb2
elseif ch == "4" then
Mch = 0xb3
elseif ch == "5" then
Mch = 0xb4
elseif ch == "6" then
Mch = 0xb5
elseif ch == "7" then
Mch = 0xb6
elseif ch == "8" then
Mch = 0xb7
elseif ch == "9" then
Mch = 0xb8
elseif ch == "a" then
Mch = 0xb9
elseif ch == "b" then
Mch = 0xba
elseif ch == "c" then
Mch = 0xbb
elseif ch == "d" then
Mch = 0xbc
elseif ch == "e" then
Mch = 0xbd
elseif ch == "f" then
Mch = 0xbe
else
Mch = 0xbf
end -- if
-- Controller 1 Program
m = CtrlrMidiMessage({Mch, 0x6e, 0x02})
panel:sendMidiMessageNow(m)
-- Controller 2 Layer. Get the layer from the AEnv1TLayer control
m = CtrlrMidiMessage({Mch, 0x6f, panel:getModulatorByName("AEnvA1TLayer"):getValue()})
panel:sendMidiMessageNow(m)
The Puppeteer
http://godlike.com.au