Ok here’s a little improvement on the above - so you don’t need to know the status bytes
mymidichan = 1
midistatusbychan = {
-- note-on, note-off, cc, bend
{144, 128, 176, 224}, -- 1
{145, 129, 177, 225}, -- 2
{146, 130, 178, 226}, -- 3
{147, 131, 179, 227}, -- 4
{148, 132, 180, 228}, -- 5
{149, 133, 181, 229}, -- 6
{150, 134, 182, 230}, -- 7
{151, 135, 183, 231}, -- 8
{152, 136, 184, 232}, -- 9
{153, 137, 185, 233}, -- 10
{154, 138, 186, 234}, -- 11
{155, 139, 187, 235}, -- 12
{156, 140, 188, 236}, -- 13
{157, 141, 189, 237}, -- 14
{158, 142, 190, 238}, -- 15
{159, 143, 191, 239} -- 16
}
local function midi_event(data)
if data[1] == midistatusbychan[mymidichan][1] then
note_on(data[2], data[3])
elseif data[1] == midistatusbychan[mymidichan][2] then
note_off(data[2])
elseif data[1] == midistatusbychan[mymidichan][3] then
--cc(data1, data2)
elseif data[1] == midistatusbychan[mymidichan][4] then
--bend(data1, data2)
end
end
EDIT: My kingdom for a lua switch statement.