#######################################
# Datatypes (KEYWORD1)
#######################################
MIDI_Controller	KEYWORD1

MIDI_Interface	KEYWORD1
StreamMIDI_Interface	KEYWORD1
SerialMIDI_Interface	KEYWORD1
HardwareSerialMIDI_Interface	KEYWORD1
USBSerialMIDI_Interface	KEYWORD1
USBMIDI_Interface	KEYWORD1
StreamDebugMIDI_Interface	KEYWORD1
SerialDebugMIDI_Interface	KEYWORD1
HardwareSerialDebugMIDI_Interface	KEYWORD1
USBDebugMIDI_Interface	KEYWORD1
SoftwarSerialDebugMIDI_Interface	KEYWORD1
HairlessMIDI_Interface	KEYWORD1

Analog	KEYWORD1
AnalogHiRes	KEYWORD1
Digital	KEYWORD1
DigitalLatch	KEYWORD1
RotaryEncoder	KEYWORD1

Bank	KEYWORD1
BankSelector	KEYWORD1

ExtIO	KEYWORD1
ExtendedIOElement	KEYWORD1
AnalogMultiplex	KEYWORD1
ShiftRegisterOut	KEYWORD1
pin_t	KEYWORD1
analog_t	KEYWORD1

relativeCCmode	KEYWORD1
bankType	KEYWORD1
buttonType	KEYWORD1

initializer_list	KEYWORD1

MCU	KEYWORD1
MIDI_CC	KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################
refresh	KEYWORD2

setDefault
getDefault

average	KEYWORD2
map	KEYWORD2
invert	KEYWORD2

send	KEYWORD2
send	KEYWORD2
send	KEYWORD2

add	KEYWORD2
setBankSetting	KEYWORD2
getBankSetting	KEYWORD2

begin	KEYWORD2
reset	KEYWORD2
print	KEYWORD2
pin	KEYWORD2
getEnd	KEYWORD2
getStart	KEYWORD2

getIOElementOfPin	KEYWORD2
getFirst	KEYWORD2
getNext	KEYWORD2

red	KEYWORD2
green	KEYWORD2
blue	KEYWORD2
redBit	KEYWORD2
greenBit	KEYWORD2
blueBit	KEYWORD2

#######################################
# Constants (LITERAL1)
#######################################
NOTE_ON	LITERAL1
NOTE_OFF	LITERAL1
KEY_PRESSURE	LITERAL1
CC	LITERAL1
CONTROL_CHANGE	LITERAL1
PROGRAM_CHANGE	LITERAL1
CHANNEL_PRESSURE	LITERAL1
PITCH_BEND	LITERAL1
NORMAL_ENCODER	LITERAL1
JOG	LITERAL1
ADD_64	LITERAL1
SIGN_BIT	LITERAL1
POS1_NEG127	LITERAL1
TWOS_COMPLEMENT	LITERAL1
BINARY_OFFSET	LITERAL1
SIGN_MAGNITUDE	LITERAL1
REAPER_RELATIVE_1	LITERAL1
REAPER_RELATIVE_2	LITERAL1
REAPER_RELATIVE_3	LITERAL1
TRACKTION_RELATIVE	LITERAL1
MACKIE_CONTROL_RELATIVE	LITERAL1

CHANGE_CHANNEL	LITERAL1
CHANGE_ADDRESS	LITERAL1

TOGGLE	LITERAL1
MOMENTARY	LITERAL1


# MCU
######################################
# [ ]+= 0x[A-F0-9]{2}; //[ ]+(In)?[ ]*(Out)?

REC_RDY_1	LITERAL1
REC_RDY_2	LITERAL1
REC_RDY_3	LITERAL1
REC_RDY_4	LITERAL1
REC_RDY_5	LITERAL1
REC_RDY_6	LITERAL1
REC_RDY_7	LITERAL1
REC_RDY_8	LITERAL1
SOLO_1	LITERAL1
SOLO_2	LITERAL1
SOLO_3	LITERAL1
SOLO_4	LITERAL1
SOLO_5	LITERAL1
SOLO_6	LITERAL1
SOLO_7	LITERAL1
SOLO_8	LITERAL1
MUTE_1	LITERAL1
MUTE_2	LITERAL1
MUTE_3	LITERAL1
MUTE_4	LITERAL1
MUTE_5	LITERAL1
MUTE_6	LITERAL1
MUTE_7	LITERAL1
MUTE_8	LITERAL1
SELECT_1	LITERAL1
SELECT_2	LITERAL1
SELECT_3	LITERAL1
SELECT_4	LITERAL1
SELECT_5	LITERAL1
SELECT_6	LITERAL1
SELECT_7	LITERAL1
SELECT_8	LITERAL1
V_POT_SELECT_1	LITERAL1
V_POT_SELECT_2	LITERAL1
V_POT_SELECT_3	LITERAL1
V_POT_SELECT_4	LITERAL1
V_POT_SELECT_5	LITERAL1
V_POT_SELECT_6	LITERAL1
V_POT_SELECT_7	LITERAL1
V_POT_SELECT_8	LITERAL1
ASSIGN_TRACK	LITERAL1
ASSIGN_SEND	LITERAL1
ASSIGN_PAN	LITERAL1
ASSIGN_PLUGIN	LITERAL1
ASSIGN_EQ	LITERAL1
ASSIGN_INSTR	LITERAL1
BANK_LEFT	LITERAL1
BANK_RIGHT	LITERAL1
CHANNEL_LEFT	LITERAL1
CHANNEL_RIGHT	LITERAL1
FLIP	LITERAL1
GLOBAL_VIEW	LITERAL1
NAME_VALUE	LITERAL1
SMPTE_BEATS	LITERAL1
F1	LITERAL1
F2	LITERAL1
F3	LITERAL1
F4	LITERAL1
F5	LITERAL1
F6	LITERAL1
F7	LITERAL1
F8	LITERAL1
VIEW_MIDI	LITERAL1
VIEW_INPUTS	LITERAL1
VIEW_AUDIO	LITERAL1
VIEW_INSTR	LITERAL1
VIEW_AUX	LITERAL1
VIEW_BUSSES	LITERAL1
VIEW_OUTPUTS	LITERAL1
VIEW_USER	LITERAL1
SHIFT	LITERAL1
OPTION	LITERAL1
CONTROL	LITERAL1
CMD_ALT	LITERAL1
AUTOMATION_READ_OFF	LITERAL1
AUTOMATION_WRITE	LITERAL1
AUTOMATION_TRIM	LITERAL1
AUTOMATION_TOUCH	LITERAL1
AUTOMATION_LATCH	LITERAL1
GROUP	LITERAL1
SAVE	LITERAL1
UNDO	LITERAL1
CANCEL	LITERAL1
ENTER	LITERAL1
MARKER	LITERAL1
NUDGE	LITERAL1
CYCLE	LITERAL1
DROP	LITERAL1
REPLACE	LITERAL1
CLICK	LITERAL1
SOLO_G	LITERAL1
REWIND	LITERAL1
FAST_FWD	LITERAL1
STOP	LITERAL1
PLAY	LITERAL1
RECORD	LITERAL1
UP	LITERAL1
DOWN	LITERAL1
LEFT	LITERAL1
RIGHT	LITERAL1
ZOOM	LITERAL1
SCRUB	LITERAL1
USER_SWITCH_A	LITERAL1
USER_SWITCH_B	LITERAL1
FADER_TOUCH	LITERAL1
FADER_TOUCH_MASTER	LITERAL1
SMPTE	LITERAL1
BEATS	LITERAL1
RUDE_SOLO	LITERAL1
RELAY	LITERAL1

V_POT_1	LITERAL1
V_POT_2	LITERAL1
V_POT_3	LITERAL1
V_POT_4	LITERAL1
V_POT_5	LITERAL1
V_POT_6	LITERAL1
V_POT_7	LITERAL1
V_POT_8	LITERAL1

# MIDI CC
######################################

Bank_Select	LITERAL1
Modulation_Wheel	LITERAL1
Breath_Controller	LITERAL1
Foot_Controller	LITERAL1
Portamento_Time	LITERAL1
Data_Entry_MSB	LITERAL1
Channel_Volume	LITERAL1
Balance	LITERAL1
Pan	LITERAL1
Expression_Controller	LITERAL1
Effect_Control_1	LITERAL1
Effect_Control_2	LITERAL1
General_Purpose_Controller_1	LITERAL1
General_Purpose_Controller_2	LITERAL1
General_Purpose_Controller_3	LITERAL1
General_Purpose_Controller_4	LITERAL1
Bank_Select_LSB	LITERAL1
Modulation_Wheel_LSB	LITERAL1
Breath_Controller_LSB	LITERAL1
Foot_Controller_LSB	LITERAL1
Portamento_Time_LSB	LITERAL1
Data_Entry_MSB_LSB	LITERAL1
Channel_Volume_LSB	LITERAL1
Balance_LSB	LITERAL1
Pan_LSB	LITERAL1
Expression_Controller_LSB	LITERAL1
Effect_Control_1_LSB	LITERAL1
Effect_Control_2_LSB	LITERAL1
General_Purpose_Controller_1_LSB	LITERAL1
General_Purpose_Controller_2_LSB	LITERAL1
General_Purpose_Controller_3_LSB	LITERAL1
General_Purpose_Controller_4_LSB	LITERAL1
Damper_Pedal	LITERAL1
Portamento	LITERAL1
Sostenuto	LITERAL1
Soft_Pedal	LITERAL1
Legato_Footswitch	LITERAL1
Hold_2	LITERAL1
Sound_Controller_1	LITERAL1
Sound_Controller_2	LITERAL1
Sound_Controller_3	LITERAL1
Sound_Controller_4	LITERAL1
Sound_Controller_5	LITERAL1
Sound_Controller_6	LITERAL1
Sound_Controller_7	LITERAL1
Sound_Controller_8	LITERAL1
Sound_Controller_9	LITERAL1
Sound_Controller_10	LITERAL1
General_Purpose_Controller_5	LITERAL1
General_Purpose_Controller_6	LITERAL1
General_Purpose_Controller_7	LITERAL1
General_Purpose_Controller_8	LITERAL1
Portamento_Control	LITERAL1
High_Resolution_Velocity_Prefix	LITERAL1
Effects_1	LITERAL1
Effects_2	LITERAL1
Effects_3	LITERAL1
Effects_4	LITERAL1
Effects_5	LITERAL1
Data_Increment	LITERAL1
Data_Decrement	LITERAL1
NRPN_LSB	LITERAL1
NRPN_MSB	LITERAL1
RPN_LSB	LITERAL1
RPN_MSB	LITERAL1
All_Sound_Off	LITERAL1
Reset_All_Controllers	LITERAL1
Local_Control	LITERAL1
All_Notes_Off	LITERAL1
Omni_Mode_Off	LITERAL1
Omni_Mode_On	LITERAL1
Mono_Mode_On	LITERAL1
Poly_Mode_On	LITERAL1
