VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME LXR-02

# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT C

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# This defines the default 'MAX RATE' for automation lanes.
# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1
MAXRATE NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
7:NULL:7:NULL OH
6:NULL:6:NULL CH
5:NULL:5:NULL CY_CP
4:NULL:4:NULL SN
3:NULL:3:NULL V3
2:NULL:2:NULL V2
1:NULL:1:NULL V1
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]


# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
2 V1_Osc1WF       #Waveform
9 V1_Osc1CT       #Coarse Tune
10 V1_Osc1FT      #Fine Tune
21 V1_WFModOsc    #Waveform mod Osc
38 V1_FltFrq      #Filter Frequency
44 V1_FltRes      #Filter Resonance
50 V1_VolEnvAtk   #Volume Envelope Attack
51 V1_VolEnvDec   #Volume Envelope Decay
63 V1_VolEnvSlp   #Volume Envelope Slope
71 V1_ModEnvDec   #Mod Envelope Decay
75 V1_EnvModAmt   #Envelope Mod Amount
79 V1_ModEnvSlp   #Mod Envelope Slope
83 V1_FMAmt       #FM Amount
84 V1_FMFrq       #FM Frequency
89 V1_Vol         #Voice Volume
95 V1_Pan         #Voice Pan
103 V1_Dist       #Distortion
109 V1_Dcm        #Decimation
116 V1_LFOFrq     #LFO Frequency
122 V1_LFOAmt     #LFO Amount

3 V2_Osc1WF
11 V2_Osc1CT
12 V2_Osc1FT
22 V2_WFModOsc
39 V2_FltFrq
45 V2_FltRes
52 V2_VolEnvAtk
53 V2_VolEnvDec
64 V2_VolEnvSlp
72 V2_ModEnvDec
76 V2_EnvModAmt
80 V2_ModEnvSlp
85 V2_FMAmt
86 V2_FMFrq
90 V2_Vol
96 V2_Pan
104 V2_Dist
110 V2_Dcm
117 V2_LFOFrq
123 V2_LFOAmt

4 V3_Osc1WF
13 V3_Osc1CT
14 V3_Osc1FT
23 V3_WFModOsc
40 V3_FltFrq
46 V3_FltRes
54 V3_VolEnvAtk
55 V3_VolEnvDec
65 V3_VolEnvSlp
73 V3_VolEnvDec
77 V3_EnvModAmt
81 V3_ModEnvSlp
87 V3_FMAmt
88 V3_FMFrq
91 V3_Vol
97 V3_Pan
105 V3_Dist
111 V3_Dcm
118 V3_LFOFrq
124 V3_LFOAmt

5 SN_Osc1WF
15 SN_Osc1CT
16 SN_Osc1FT
28 SN_NseFrq      #Noise Frequency    
29 SN_MixOscNse   #Mix Osc/Noise
41 SN_FltFrq
47 SN_FltRes
56 SN_VolEnvAtk
57 SN_VolEnvDec
66 SN_VolEGSlp    #Volume EG Slope
69 SN_VolEGRpt    #Volume EG Repeat Count
74 SN_VolEnvDec
78 SN_EnvModAmt
82 SN_ModEnvSlp
92 SN_Vol
100 SN_Pan
106 SN_Dist
112 SN_Dcm
119 SN_LFOFrq
125 SN_LFOAmt

7 CP_Osc1WF
17 CP_Osc1CT
18 CP_Osc1FT
24 CP_WFModOsc1
25 CP_WFModOsc2
30 CP_CTModOsc1   #Coarse Tune Mod Osc1
31 CP_CTModOsc2
32 CP_GainModOsc1 #Gain Mod Osc1
33 CP_GainModOsc2
42 CP_FltFrq
48 CP_FltRes
58 CP_VolEnvAtk
59 CP_VolEnvDec
67 CP_VolEGSlp
70 CP_VolEgRpt
93 CP_Vol
101 CP_Pan
107 CP_Dist
113 CP_Dcm
120 CP_LFOFrq
126 CP_LFOAmt

8 HH_Osc1WF
19 HH_Osc1CT
20 HH_Osc1FT
26 HH_WFModOsc1
27 HH_WFModOsc2
34 HH_CTModOsc1
35 HH_CTModOsc2
36 HH_GainModOsc1
37 HH_GainModOsc2
43 HH_FltFrq
49 HH_FltRes
60 HH_VolEnvAtk
61 CH_VolEnvDec
62 OH_VolEnvDec
68 HH_VolEGSlp
94 HH_Vol
102 HH_Pan
108 HH_Dist
114 HH_Dcm
121 HH_LFOFrq
127 HH_LFOAmt

115 ALL_Dcm
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
  # Note: LSB can be over 127 ONLY if MSB is 0 or omitted
  # e.g. '0:1026:7 FOO', or ':2000:7 BAR' 
  # the examples above would be equivalent to '8:2:7 FOO' and '15:80:7 BAR' respectively
# DEPTH can be 7 or 14
# For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
[NRPN]
[/NRPN]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# NOTE: You are limited to 64 automation lanes
[AUTOMATION]
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
Erica Synths LXR-02 with Drumlanes and all CCs
[/COMMENT]