Instrument Definition : Studio Electronics SE1X

> VERSION 1 # Currently, this should only be 1.
> 
> # Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
> TRACKNAME SE1X
> 
> # Can be POLY, DRUM, MPE, or NULL
> TYPE POLY
> 
> # Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
> OUTPORT A
> 
> # Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
> OUTCHAN 1
> 
> # 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
> 
> # 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]
> [/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]
> 1:MODWHEEL
> 7:Volume
> 54:Osc1 freq
> 55:Osc1 tri on/off
> 56:Osc1 saw on/off
> 57:Osc1 squ on/off
> 58:Osc1 pulse width
> 59:Osc2 freq
> 60:Osc2 tri on/off
> 61:Osc2 saw on/off
> 62:Osc2 squ on/off
> 63:Osc2 pulse width
> 70:Osc3 freq
> 71:Osc3 tri on/off
> 72:Osc3 saw on/off
> 73:Osc3 squ on/off
> 74:Osc3 pulse width
> 80:LFO1 rate
> 81:LFO1 depth
> 82:LFO2 rate
> 83:LFO2 depth
> 85:LFO3 rate
> 86:LFO3 depth
> 87:Osc1 mix level
> 88:Osc2 mix level
> 89:Osc3 mix level
> 90:Noise mix level
> 91:Ring mod mix level
> 92:VCF frequency
> 93:VCF resonance
> 94:VCF tracking
> 95:En1 amount
> 102:Env1 attack
> 103:Env1 decay
> 104:Env1 sustain
> 105:Env1 release
> 106:Env2 attack
> 107:Env2 decay
> 108:Env2 sustain
> 109:Env2 release
> 110:Env3 attack
> 111:Env3 decay
> 112:Env3 sustain
> 113:Env3 release
> 114:Env3 amount
> 115:Env4 attack
> 116:Env4 decay
> 117:Env4 sustain
> 118:Env4 release
> 119:Env4 amount
> [/CC]
> 
> [ASSIGN]
> 1 CC:
> 2 CC:
> 3 CC:
> 4 CC:
> 5 CC:
> 6 CC:
> 7 CC:
> 8 CC:
> [/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
> [AUTOMATION]
> [/AUTOMATION]
> 
> # This section will be readable from Hapax.
> [COMMENT]
> [/COMMENT]

This definition is not compliant with the supported syntax, and will break with 1.12

CC syntax and assign syntaxes are incorrect

Thanks

VERSION 1 # Currently, this should only be 1.

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

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

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

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

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

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

# 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]
[/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]
1 MODWHEEL
7 Volume
54 Osc1 freq
55 Osc1 tri on/off
56 Osc1 saw on/off
57 Osc1 squ on/off
58 Osc1 pulse width
59 Osc2 freq
60 Osc2 tri on/off
61 Osc2 saw on/off
62 Osc2 squ on/off
63 Osc2 pulse width
70 Osc3 freq
71 Osc3 tri on/off
72 Osc3 saw on/off
73 Osc3 squ on/off
74 Osc3 pulse width
80 LFO1 rate
81 LFO1 depth
82 LFO2 rate
83 LFO2 depth
85 LFO3 rate
86 LFO3 depth
87 Osc1 mix level
88 Osc2 mix level
89 Osc3 mix level
90 Noise mix level
91 Ring mod mix level
92 VCF frequency
93 VCF resonance
94 VCF tracking
95 Env1 amount
102 Env1 attack
103 Env1 decay
104 Env1 sustain
105 Env1 release
106 Env2 attack
107 Env2 decay
108 Env2 sustain
109 Env2 release
110 Env3 attack
111 Env3 decay
112 Env3 sustain
113 Env3 release
114 Env3 amount
115 Env4 attack
116 Env4 decay
117 Env4 sustain
118 Env4 release
119 Env4 amount
[/CC]

# 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
[AUTOMATION]
[/AUTOMATION]

# This section will be readable from Hapax.
[COMMENT]
[/COMMENT]