This repository has been archived by the owner on Nov 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathpluginSTRUMGS2.py
458 lines (457 loc) · 43.5 KB
/
pluginSTRUMGS2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
from fireNFX_Classes import *
# PluginName: Strum GS-2
# ParamCount: 445
# -----------------------------------------------------------------
plStrumGS2 = TnfxChannelPlugin('Strum GS-2')
plStrumGS2.AlwaysRescan = False
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(240, 'Global Volume', 0, '-3.2dB ', False) )
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(0, 'Play Mode', 0, 'Guitar ', False, 3) )
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(4, 'Strum-Auto', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(5, 'Strum-Speed', 0, '31.8%ˀ ', False) )
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(6, 'Strum-Velocity', 0, '0.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(7, 'Chord Type', 0, 'Movable ', False) )
plStrumGS2.addParamToGroup('GENERAL', TnfxParameter(8, 'Chord Pos', 0, 'Fret 1 ', False) )
plStrumGS2.addParamToGroup('TEMPO', TnfxParameter(1, 'Clock - Rate', 0, '90.00BPM ', False) )
plStrumGS2.addParamToGroup('TEMPO', TnfxParameter(9, 'Loop Tempo', 0, 'Normal ', False) )
plStrumGS2.addParamToGroup('MOD WHEEL', TnfxParameter(2, 'MW-Vib Depth', 0, '51.6%ˀ ', False) )
plStrumGS2.addParamToGroup('MOD WHEEL', TnfxParameter(3, 'MW-Vib Speed', 0, '4.2Hz ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(97, 'EQ On', 0, 'On ', False, 2) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(86, 'EQ Lo-Freq', 0, '159Hz ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(87, 'EQ Lo-Gain', 0, '8.1dBˀ ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(88, 'EQ Lo-Mid Freq', 0, '241Hz ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(89, 'EQ Lo-Mid Gain', 0, '3.3dBˀ ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(90, 'EQ Lo-Mid Q', 0, '1.03鐛ˀ ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(91, 'EQ Hi-Mid Freq', 0, '968Hz ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(92, 'EQ Hi-Mid Gain', 0, '-5.7dB ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(93, 'EQ Hi-Mid Q', 0, '0.37鐛ˀ ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(94, 'EQ Hi-Freq', 0, '2.52kHz ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(95, 'EQ Hi-Gain', 0, '1.8dBˀ ', False) )
plStrumGS2.addParamToGroup('EQ', TnfxParameter(96, 'EQ SideChain', 0, 'Normal ', False, 2) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(104, 'On', 0, 'On ', False, 2) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(98, 'Threshold', 0, '-17.4dB ', False) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(99, 'Ratio', 0, '1.50鐛ˀ ', False) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(100, 'Attack', 0, '15.0ms ', False) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(101, 'Release', 0, '150msˀ ', False) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(102, 'Gain', 0, '4.9dBˀ ', False) )
plStrumGS2.addParamToGroup('COMPRESSOR', TnfxParameter(103, 'Pre', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(239, 'Rvb On', 0, 'On ', False, 2) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(233, 'Rvb Size', 0, 'Studio ', False) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(234, 'Rvb Decay', 0, '2.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(235, 'Rvb Diffusion', 0, '75.0%ˀ ', False) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(236, 'Rvb Low Damp', 0, '103Hz ', False) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(237, 'Rvb High Damp', 0, '0.25鐛ˀ ', False) )
plStrumGS2.addParamToGroup('REVERB', TnfxParameter(238, 'Rvb Mix', 0, '24.7%ˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(241, 'Pickups - Selector', 0, 'Neck鐛ˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(242, 'Pickups - Volume', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(243, 'Pickups - Neck Position', 0, '23.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(244, 'Pickups - Neck Frequency', 0, '5.00kHz ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(245, 'Pickups - Neck Resonance', 0, '0.90鐛ˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(246, 'Pickups - Bridge Position', 0, '6.3%鐛ˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(247, 'Pickups - Bridge Frequency', 0, '5.00kHz ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(248, 'Pickups - Bridge Resonance', 0, '0.90鐛ˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(249, 'Pickups - Bridge Trim', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('PICKUPS', TnfxParameter(250, 'Pickups - Type', 0, 'Single ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(251, 'Amplifier - Channel', 0, 'Channel ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(252, 'Amplifier - Bite', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(253, 'Amplifier - Channel 1 Drive', 0, '10.0dB ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(254, 'Amplifier - Channel 1 Mid', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(255, 'Amplifier - Channel 1 Level', 0, '-7.0dB ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(256, 'Amplifier - Channel 2 Drive', 0, '20.0dB ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(257, 'Amplifier - Channel 2 Mid', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(258, 'Amplifier - Channel 2 Level', 0, '-17.0dB ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(259, 'Amplifier - Eq Low', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(260, 'Amplifier - Eq High', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(261, 'Amplifier - Amplifier On', 0, 'On ', False, 2) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(262, 'Amplifier - Spring Reverb Mix', 0, '20.0%ˀ ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(263, 'Amplifier - Spring Reverb On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(264, 'Amplifier - Cabinet Open', 0, 'Closed ', False) )
plStrumGS2.addParamToGroup('AMP', TnfxParameter(265, 'Amplifier - Cabinet On', 0, 'On ', False, 2) )
plStrumGS2.addParamToGroup('HAMMER ON', TnfxParameter(73, 'HO Amp', 0, '85.0%ˀ ', False) )
plStrumGS2.addParamToGroup('HAMMER ON', TnfxParameter(74, 'HO Tone', 0, '71.7%ˀ ', False) )
plStrumGS2.addParamToGroup('MUTE', TnfxParameter(75, 'Harm Decay', 0, '40.0%ˀ ', False) )
plStrumGS2.addParamToGroup('MUTE', TnfxParameter(76, 'Harm Tone', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('MUTE', TnfxParameter(77, 'Contact', 0, '40.0%ˀ ', False) )
plStrumGS2.addParamToGroup('MUTE', TnfxParameter(78, 'Time', 0, '47.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PALM MUTE', TnfxParameter(79, 'Tone', 0, '47.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PALM MUTE', TnfxParameter(80, 'Decay', 0, '84.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PALM MUTE', TnfxParameter(266, 'Palm Mute - Tone Velocity', 0, '0.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('BODY', TnfxParameter(81, 'Size', 0, 'Medium ', False) )
plStrumGS2.addParamToGroup('BODY', TnfxParameter(82, 'Lo-Cut', 0, '125Hz ', False) )
plStrumGS2.addParamToGroup('BODY', TnfxParameter(83, 'AirCavity Decay', 0, '40.6%ˀ ', False) )
plStrumGS2.addParamToGroup('BODY', TnfxParameter(84, 'Plate Decay', 0, '29.0%ˀ ', False) )
plStrumGS2.addParamToGroup('BODY', TnfxParameter(85, 'Plate Tone', 0, '50.1%ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(10, 'P/F Type', 0, 'Parabol ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(11, 'P/F Type Position', 0, '14.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(12, 'P/F Type Edge', 0, '79.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(13, 'P/F Type Damping', 0, '39.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(14, 'P/F Type Stiffness', 0, '37.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(15, 'P/F Type Stiff Damp Velocity', 0, '5.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(16, 'P/F Type Depth', 0, '2.16mm ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(17, 'P/F Type Speed', 0, '77.0%ˀ ', False) )
plStrumGS2.addParamToGroup('PICK/FINGER', TnfxParameter(18, 'P/F Type Speed Velocity', 0, '1.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(19, 'S-1 Tone A', 0, '99.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(20, 'S-1 Inharmonicity A', 0, '12.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(21, 'S-1 Decay A', 0, '53.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(22, 'S-1 Tone B', 0, '51.1%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(23, 'S-1 Inharmonicity B', 0, '18.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(24, 'S-1 Decay B', 0, '89.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(25, 'S-1 Coupling', 0, '19.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(26, 'S-1 Balance', 0, '24.9%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-1', TnfxParameter(27, 'S-1 Volume', 0, '-6.0dB ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(28, 'S-2 Tone A', 0, '84.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(29, 'S-2 Inharmonicity A', 0, '23.2%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(30, 'S-2 Decay A', 0, '53.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(31, 'S-2 Tone B', 0, '43.6%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(32, 'S-2 Inharmonicity B', 0, '28.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(33, 'S-2 Decay B', 0, '89.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(34, 'S-2 Coupling', 0, '19.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(35, 'S-2 Balance', 0, '24.9%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-2', TnfxParameter(36, 'S-2 Volume', 0, '-5.8dB ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(37, 'S-3 Tone A', 0, '69.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(38, 'S-3 Inharmonicity A', 0, '34.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(39, 'S-3 Decay A', 0, '53.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(40, 'S-3 Tone B', 0, '36.2%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(41, 'S-3 Inharmonicity B', 0, '38.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(42, 'S-3 Decay B', 0, '89.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(43, 'S-3 Coupling', 0, '19.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(44, 'S-3 Balance', 0, '24.9%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-3', TnfxParameter(45, 'S-3 Volume', 0, '-4.3dB ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(46, 'S-4 Tone A', 0, '54.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(47, 'S-4 Inharmonicity A', 0, '45.6%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(48, 'S-4 Decay A', 0, '53.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(49, 'S-4 Tone B', 0, '28.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(50, 'S-4 Inharmonicity B', 0, '48.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(51, 'S-4 Decay B', 0, '89.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(52, 'S-4 Coupling', 0, '19.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(53, 'S-4 Balance', 0, '24.9%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-4', TnfxParameter(54, 'S-4 Volume', 0, '-2.9dB ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(55, 'S-5 Tone A', 0, '39.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(56, 'S-5 Inharmonicity A', 0, '56.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(57, 'S-5 Decay A', 0, '53.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(58, 'S-5 Tone B', 0, '21.3%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(59, 'S-5 Inharmonicity B', 0, '58.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(60, 'S-5 Decay B', 0, '89.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(61, 'S-5 Coupling', 0, '19.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(62, 'S-5 Balance', 0, '24.9%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-5', TnfxParameter(63, 'S-5 Volume', 0, '-1.4dB ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(64, 'S-6 Tone A', 0, '24.4%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(65, 'S-6 Inharmonicity A', 0, '68.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(66, 'S-6 Decay A', 0, '53.7%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(67, 'S-6 Tone B', 0, '13.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(68, 'S-6 Inharmonicity B', 0, '68.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(69, 'S-6 Decay B', 0, '89.0%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(70, 'S-6 Coupling', 0, '19.8%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(71, 'S-6 Balance', 0, '24.9%ˀ ', False) )
plStrumGS2.addParamToGroup('STRING-6', TnfxParameter(72, 'S-6 Volume', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1', TnfxParameter(105, 'On/Off', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1', TnfxParameter(106, 'Effect', 0, 'Distort ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(107, 'Dly Wet', 0, '-15.5dB ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(108, 'Dly Dry', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(109, 'Dly Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(110, 'Dly Sync Rate', 0, '1/16 3 ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(111, 'Dly Delay', 0, '0.13sˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(112, 'Dly Feedback', 0, '-15.4dB ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(113, 'Dly Cutoff', 0, '13.1kHz ', False) )
plStrumGS2.addParamToGroup('FX-1 DELAY', TnfxParameter(114, 'Dly Pan', 0, '-26.0% ', False) )
plStrumGS2.addParamToGroup('FX1- DIST', TnfxParameter(115, 'Dist Drive', 0, '8.9dBˀ ', False) )
plStrumGS2.addParamToGroup('FX1- DIST', TnfxParameter(116, 'Dist Volume', 0, '-5.8dB ', False) )
plStrumGS2.addParamToGroup('FX1- DIST', TnfxParameter(117, 'Dist Shape', 0, 'Warm Tu ', False) )
plStrumGS2.addParamToGroup('FX1- DIST', TnfxParameter(118, 'Dist Tone', 0, '63.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX1- DIST', TnfxParameter(119, 'Dist Mix', 0, '100.0% ', False) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(120, 'Phsr Mix', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(121, 'Phsr Depth', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(122, 'Phsr Frequency', 0, '120Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(123, 'Phsr Feedback', 0, '-8.6dB ', False) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(124, 'Phsr Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(125, 'Phsr Sync Rate', 0, '1/8 ', False) )
plStrumGS2.addParamToGroup('FX-1 PHASER', TnfxParameter(126, 'Phsr Rate', 0, '1.2Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(127, 'Vin-Cho Depth', 0, '44.9%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(128, 'Vin-Cho Spread', 0, '65.4%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(129, 'Vin-Cho Delay', 0, '3ms ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(130, 'Vin-Cho Feedback', 0, '-35.9dB ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(131, 'Vin-Cho Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(132, 'Vin-Cho Sync Rate', 0, '1/8 ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(133, 'Vin-Cho Rate', 0, '0.9Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(134, 'Vin-Cho Mix', 0, '77.2%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 VINTAGE CHORUS', TnfxParameter(135, 'Vin-Cho Mode', 0, 'Chorus ', False) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(136, 'Chorus Depth', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(137, 'Chorus Fat', 0, '2搒 ', False) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(138, 'Chorus Spread', 0, '62.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(139, 'Chorus Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(140, 'Chorus Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(141, 'Chorus Rate', 0, '0.5Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 CHORUS', TnfxParameter(142, 'Chorus Mix', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(143, 'Flanger Depth', 0, '78.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(144, 'Flanger Delay', 0, '30.0ms ', False) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(145, 'Flanger Feedback', 0, '-6.0dB ', False) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(146, 'Flanger Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(147, 'Flanger Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(148, 'Flanger Rate', 0, '0.4Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 FLANGER', TnfxParameter(149, 'Flanger Mix', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 TREMOLO', TnfxParameter(150, 'Trem Depth', 0, '25.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 TREMOLO', TnfxParameter(151, 'Trem Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 TREMOLO', TnfxParameter(152, 'Trem Sync Rate', 0, '1/32鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 TREMOLO', TnfxParameter(153, 'Trem Rate', 0, '1.0Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 TREMOLO', TnfxParameter(154, 'Trem Stereo', 0, 'Stereo ', False) )
plStrumGS2.addParamToGroup('FX-1 TREMOLO', TnfxParameter(155, 'Trem Shape', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 AUTO-WAH', TnfxParameter(156, 'Auto-Wah Depth', 0, '43.1%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 AUTO-WAH', TnfxParameter(157, 'Auto-Wah Freq', 0, '400Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 AUTO-WAH', TnfxParameter(158, 'Auto-Wah Speed', 0, '69.9%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 WAH-WAH', TnfxParameter(159, 'Wah-Wah Depth', 0, '88.8%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 WAH-WAH', TnfxParameter(160, 'Wah-Wah Freq', 0, '557Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 WAH-WAH', TnfxParameter(161, 'Wah-Wah Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 WAH-WAH', TnfxParameter(162, 'Wah-Wah Sync Rate', 0, '1/8 ', False) )
plStrumGS2.addParamToGroup('FX-1 WAH-WAH', TnfxParameter(163, 'Wah-Wah Rate', 0, '1.7Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 NOTCH FILTER', TnfxParameter(164, 'Notch Depth', 0, '88.8%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 NOTCH FILTER', TnfxParameter(165, 'Notch Freq', 0, '557Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 NOTCH FILTER', TnfxParameter(166, 'Notch Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-1 NOTCH FILTER', TnfxParameter(167, 'Notch Sync Rate', 0, '1/8 ', False) )
plStrumGS2.addParamToGroup('FX-1 NOTCH FILTER', TnfxParameter(168, 'Notch Rate', 0, '1.0Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(267, 'EQ Low Freq', 0, '100Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(268, 'EQ Low Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(269, 'EQ Lo-Mid Freq', 0, '800Hz ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(270, 'EQ Lo-Mid Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(271, 'EQ Lo-Mid Q', 0, '0.71鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(272, 'EQ Hi-Mid Freq', 0, '1.60kHz ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(273, 'EQ Hi-Mid Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(274, 'EQ Hi-Mid Q', 0, '0.71鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(275, 'EQ High Freq', 0, '4.00kHz ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(276, 'EQ High Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 EQ', TnfxParameter(277, 'EQ Output', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 COMPRESSOR', TnfxParameter(278, 'Comp Threshold', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 COMPRESSOR', TnfxParameter(279, 'Comp Ratio', 0, '4.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 COMPRESSOR', TnfxParameter(280, 'Comp Attack', 0, '1.0msˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 COMPRESSOR', TnfxParameter(281, 'Comp Release', 0, '100msˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 COMPRESSOR', TnfxParameter(282, 'Comp Makeup', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-1 COMPRESSOR', TnfxParameter(283, 'Comp Mix', 0, 'W100 D0 ', False) )
plStrumGS2.addParamToGroup('FX-2', TnfxParameter(169, 'On/Off', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2', TnfxParameter(170, 'Effect', 0, 'Tremolo ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(171, 'Dly Wet', 0, '-15.5dB ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(172, 'Dly Dry', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(173, 'Dly Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(174, 'Dly Sync Rate', 0, '1/16 3 ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(175, 'Dly Delay', 0, '0.14sˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(176, 'Dly Feedback', 0, '-12.0dB ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(177, 'Dly Cutoff', 0, '5.42kHz ', False) )
plStrumGS2.addParamToGroup('FX-2 DELAY', TnfxParameter(178, 'Dly Pan', 0, '-26.0% ', False) )
plStrumGS2.addParamToGroup('FX-2 DISTORTION', TnfxParameter(179, 'Dist Drive', 0, '1.2dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 DISTORTION', TnfxParameter(180, 'Dist Volume', 0, '-1.2dB ', False) )
plStrumGS2.addParamToGroup('FX-2 DISTORTION', TnfxParameter(181, 'Dist Shape', 0, 'Warm Tu ', False) )
plStrumGS2.addParamToGroup('FX-2 DISTORTION', TnfxParameter(182, 'Dist Tone', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 DISTORTION', TnfxParameter(183, 'Dist Mix', 0, '100.0% ', False) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(184, 'Phsr Mix', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(185, 'Phsr Depth', 0, '42.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(186, 'Phsr Frequency', 0, '233Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(187, 'Phsr Feedback', 0, '-6.6dB ', False) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(188, 'Phsr Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(189, 'Phsr Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 PHASER', TnfxParameter(190, 'Phsr Rate', 0, '0.4Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(191, 'Vin-Cho Depth', 0, '25.9%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(192, 'Vin-Cho Spread', 0, '0.0%鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(193, 'Vin-Cho Delay', 0, '40ms鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(194, 'Vin-Cho Feedback', 0, '-40.0dB ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(195, 'Vin-Cho Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(196, 'Vin-Cho Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(197, 'Vin-Cho Rate', 0, '1.0Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(198, 'Vin-Cho Mix', 0, '17.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 VINTAGE CHORUS', TnfxParameter(199, 'Vin-Cho Mode', 0, 'Chorus ', False) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(200, 'Chorus Depth', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(201, 'Chorus Fat', 0, '4搒 ', False) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(202, 'Chorus Spread', 0, '62.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(203, 'Chorus Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(204, 'Chorus Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(205, 'Chorus Rate', 0, '0.5Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 CHORUS', TnfxParameter(206, 'Chorus Mix', 0, '20.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(207, 'Flanger Depth', 0, '78.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(208, 'Flanger Delay', 0, '30.0ms ', False) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(209, 'Flanger Feedback', 0, '-6.0dB ', False) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(210, 'Flanger Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(211, 'Flanger Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(212, 'Flanger Rate', 0, '0.4Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 FLANGER', TnfxParameter(213, 'Flanger Mix', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 TREMOLO', TnfxParameter(214, 'Trem Depth', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 TREMOLO', TnfxParameter(215, 'Trem Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 TREMOLO', TnfxParameter(216, 'Trem Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 TREMOLO', TnfxParameter(217, 'Trem Rate', 0, '3.0Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 TREMOLO', TnfxParameter(218, 'Trem Stereo', 0, 'Mono鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 TREMOLO', TnfxParameter(219, 'Trem Shape', 0, '0.0%鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 AUTO-WAH', TnfxParameter(220, 'Auto-Wah Depth', 0, '42.1%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 AUTO-WAH', TnfxParameter(221, 'Auto-Wah Freq', 0, '432Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 AUTO-WAH', TnfxParameter(222, 'Auto-Wah Speed', 0, '71.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 WAH-WAH', TnfxParameter(223, 'Wah-Wah Depth', 0, '53.9%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 WAH-WAH', TnfxParameter(224, 'Wah-Wah Freq', 0, '707Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 WAH-WAH', TnfxParameter(225, 'Wah-Wah Sync On', 0, 'Off ', False, 2) )
plStrumGS2.addParamToGroup('FX-2 WAH-WAH', TnfxParameter(226, 'Wah-Wah Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 WAH-WAH', TnfxParameter(227, 'Wah-Wah Rate', 0, '1.7Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 NOTCH FILTER', TnfxParameter(228, 'Notch Depth', 0, '50.0%ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 NOTCH FILTER', TnfxParameter(229, 'Notch Freq', 0, '620Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 NOTCH FILTER', TnfxParameter(230, 'Notch Sync On', 0, 'Off ', False, 12) )
plStrumGS2.addParamToGroup('FX-2 NOTCH FILTER', TnfxParameter(231, 'Notch Sync Rate', 0, '1/4 ', False) )
plStrumGS2.addParamToGroup('FX-2 NOTCH FILTER', TnfxParameter(232, 'Notch Rate', 0, '1.5Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(284, 'EQ Lo Freq', 0, '100Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(285, 'EQ Lo Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(286, 'EQ Lo-Mid Freq', 0, '800Hz ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(287, 'EQ Lo-Mid Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(288, 'EQ Lo-Mid Q', 0, '0.71鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(289, 'EQ Hi-Mid Freq', 0, '1.60kHz ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(290, 'EQ Hi-Mid Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(291, 'EQ Hi-Mid Q', 0, '0.71鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(292, 'EQ Hi Freq', 0, '4.00kHz ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(293, 'EQ Hi Gain', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 EQ', TnfxParameter(294, 'EQ Output', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 COMP', TnfxParameter(295, 'Comp Threshold', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 COMP', TnfxParameter(296, 'Comp Ratio', 0, '4.00鐛ˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 COMP', TnfxParameter(297, 'Comp Attack', 0, '1.0msˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 COMP', TnfxParameter(298, 'Comp Release', 0, '100msˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 COMP', TnfxParameter(299, 'Comp Makeup', 0, '0.0dBˀ ', False) )
plStrumGS2.addParamToGroup('FX-2 COMP', TnfxParameter(300, 'Comp Mix', 0, 'W100 D0 ', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4096, 'CC#0 (Bank select MSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4097, 'CC#1 (Modulation wheel)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4098, 'CC#2 (Breath controller)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4099, 'CC#3', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4100, 'CC#4 (Foot controller)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4101, 'CC#5 (Portamento time)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4102, 'CC#6 (Data entry MSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4103, 'CC#7 (Main volume)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4104, 'CC#8 (Balance)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4105, 'CC#9', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4106, 'CC#10 (Pan)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4107, 'CC#11 (Expression controller)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4108, 'CC#12 (Control 1)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4109, 'CC#13 (Control 2)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4110, 'CC#14', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4111, 'CC#15', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4112, 'CC#16 (General purpose controller 1)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4113, 'CC#17 (General purpose controller 2)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4114, 'CC#18 (General purpose controller 3)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4115, 'CC#19 (General purpose controller 4)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4116, 'CC#20', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4117, 'CC#21', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4118, 'CC#22', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4119, 'CC#23', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4120, 'CC#24', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4121, 'CC#25', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4122, 'CC#26', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4123, 'CC#27', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4124, 'CC#28', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4125, 'CC#29', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4126, 'CC#30', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4127, 'CC#31', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4128, 'CC#32 (Bank select LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4129, 'CC#33 (Modulation wheel LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4130, 'CC#34 (Breath controller LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4131, 'CC#35', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4132, 'CC#36 (Foot controller LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4133, 'CC#37 (Portamento time LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4134, 'CC#38 (Data entry LSB )', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4135, 'CC#39 (Main volume LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4136, 'CC#40 (Balance LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4137, 'CC#41', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4138, 'CC#42 (Pan LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4139, 'CC#43 (Expression controller LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4140, 'CC#44 (Control 1 LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4141, 'CC#45 (Control 2 LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4142, 'CC#46', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4143, 'CC#47', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4144, 'CC#48 (General purpose controller 1 LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4145, 'CC#49 (General purpose controller 2 LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4146, 'CC#50 (General purpose controller 3 LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4147, 'CC#51 (General purpose controller 4 LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4148, 'CC#52', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4149, 'CC#53', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4150, 'CC#54', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4151, 'CC#55', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4152, 'CC#56', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4153, 'CC#57', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4154, 'CC#58', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4155, 'CC#59', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4156, 'CC#60', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4157, 'CC#61', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4158, 'CC#62', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4159, 'CC#63', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4160, 'CC#64 (Damper pedal (sustain))', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4161, 'CC#65 (Portamento)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4162, 'CC#66 (Sostenuto)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4163, 'CC#67 (Soft pedal)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4164, 'CC#68 (Legato footswitch)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4165, 'CC#69 (Hold 2)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4166, 'CC#70 (Sound variation)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4167, 'CC#71 (Harmonic content)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4168, 'CC#72 (Release time)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4169, 'CC#73 (Attack time)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4170, 'CC#74 (Brightness)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4171, 'CC#75 (Sound controller 6)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4172, 'CC#76 (Sound controller 7)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4173, 'CC#77 (Sound controller 8)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4174, 'CC#78 (Sound controller 9)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4175, 'CC#79 (Sound controller 10)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4176, 'CC#80 (General purpose controller 5)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4177, 'CC#81 (General purpose controller 6)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4178, 'CC#82 (General purpose controller 7)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4179, 'CC#83 (General purpose controller 8)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4180, 'CC#84 (Portamento control)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4181, 'CC#85', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4182, 'CC#86', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4183, 'CC#87', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4184, 'CC#88', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4185, 'CC#89', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4186, 'CC#90', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4187, 'CC#91 (Reverb depth)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4188, 'CC#92 (Tremolo depth)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4189, 'CC#93 (Chorus depth)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4190, 'CC#94 (Celeste depth)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4191, 'CC#95 (Phaser depth)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4192, 'CC#96 (Data increment)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4193, 'CC#97 (Data decrement)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4194, 'CC#98 (NRPN LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4195, 'CC#99 (NRPN MSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4196, 'CC#100 (RPN LSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4197, 'CC#101 (RPN MSB)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4198, 'CC#102', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4199, 'CC#103', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4200, 'CC#104', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4201, 'CC#105', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4202, 'CC#106', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4203, 'CC#107', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4204, 'CC#108', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4205, 'CC#109', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4206, 'CC#110', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4207, 'CC#111', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4208, 'CC#112', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4209, 'CC#113', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4210, 'CC#114', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4211, 'CC#115', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4212, 'CC#116', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4213, 'CC#117', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4214, 'CC#118', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4215, 'CC#119', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4216, 'CC#120 (All sound off)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4217, 'CC#121 (Reset all controllers)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4218, 'CC#122 (Local control on/off)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4219, 'CC#123 (All notes off)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4220, 'CC#124 (Omni mode off)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4221, 'CC#125 (Omni mode on)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4222, 'CC#126 (Mono mode on)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4223, 'CC#127 (Poly mode on)', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4224, 'MIDI CCs Channel 1 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4225, 'MIDI CCs Channel 2 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4226, 'MIDI CCs Channel 3 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4227, 'MIDI CCs Channel 4 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4228, 'MIDI CCs Channel 5 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4229, 'MIDI CCs Channel 6 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4230, 'MIDI CCs Channel 7 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4231, 'MIDI CCs Channel 8 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4232, 'MIDI CCs Channel 9 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4233, 'MIDI CCs Channel 10 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4234, 'MIDI CCs Channel 11 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4235, 'MIDI CCs Channel 12 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4236, 'MIDI CCs Channel 13 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4237, 'MIDI CCs Channel 14 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4238, 'MIDI CCs Channel 15 Aftertouch', 0, '', False) )
plStrumGS2.addParamToGroup('MIDI CCs', TnfxParameter(4239, 'MIDI CCs Channel 16 Aftertouch', 0, '', False) )
# set up the predetermined USER1 and/or USER2 knob parameters to link to the 8 macros
plStrumGS2.assignParameterToUserKnob(KM_USER1, 0, plStrumGS2.getParamFromOffset(0) )
plStrumGS2.assignParameterToUserKnob(KM_USER1, 1, TnfxParameter(4, 'Auto Strum', 0, 'Off', False, 2) )
plStrumGS2.assignParameterToUserKnob(KM_USER1, 2, TnfxParameter(7, 'Chord Type', 0, 'Movable', False) )
plStrumGS2.assignParameterToUserKnob(KM_USER1, 3, TnfxParameter(8, 'Voicing Pos', 0, 'Fret 1', False) )
# -----------------------------------------------------------------