Skip to content

Instantly share code, notes, and snippets.

@GriffinSauce
Created August 21, 2022 01:28
Show Gist options
  • Save GriffinSauce/4d440303c76886fb7be8128ae4aae109 to your computer and use it in GitHub Desktop.
Save GriffinSauce/4d440303c76886fb7be8128ae4aae109 to your computer and use it in GitHub Desktop.
Pirate MIDI smart message encoding

Smart message encoding

Pirate MIDI smart messages are encoded into midi data format. The status byte is 0x70 for any type (ie. "70" in exported JSON), the parameters are encoded into dataByte1 and dataByte2, see below.

Message dataByte1 dataByte2
Switch on switch index (int) primary (0) or secondary (1)
Switch off switch index (int) primary (0) or secondary (1)
Switch toggle switch index (int) primary (0) or secondary (1)
Sequential reset step switch index (int)
Sequential increment step switch index (int)
Sequential decrement step switch index (int)
Sequential queue next step switch index (int)
Scrolling reset step switch index (int)
Scrolling increment step switch index (int)
Scrolling decrement step switch index (int)
Scrolling queue next step switch index (int)
Go to bank bank index (int)
Increment exp step exp index (int)
Decrement exp step exp index (int)
Go to exp step exp index (int) step index (int)
Trs switch out flexi port index (int) part (0 = None, 1 = Tip, 2 = Ring, 3 = Tip + Ring)
Trs pulse out flexi port index (int) part (0 = None, 1 = Tip, 2 = Ring, 3 = Tip + Ring)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment