fractal-midi 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/LICENSE +200 -0
  2. package/NOTICE +28 -0
  3. package/README.md +147 -0
  4. package/dist/am4/applicability.d.ts +61 -0
  5. package/dist/am4/applicability.d.ts.map +1 -0
  6. package/dist/am4/applicability.js +285 -0
  7. package/dist/am4/blockTypes.d.ts +43 -0
  8. package/dist/am4/blockTypes.d.ts.map +1 -0
  9. package/dist/am4/blockTypes.js +48 -0
  10. package/dist/am4/cacheEnums.d.ts +46 -0
  11. package/dist/am4/cacheEnums.d.ts.map +1 -0
  12. package/dist/am4/cacheEnums.js +734 -0
  13. package/dist/am4/cacheParams.d.ts +3533 -0
  14. package/dist/am4/cacheParams.d.ts.map +1 -0
  15. package/dist/am4/cacheParams.js +1996 -0
  16. package/dist/am4/editorControlLabels.d.ts +45 -0
  17. package/dist/am4/editorControlLabels.d.ts.map +1 -0
  18. package/dist/am4/editorControlLabels.js +15894 -0
  19. package/dist/am4/index.d.ts +28 -0
  20. package/dist/am4/index.d.ts.map +1 -0
  21. package/dist/am4/index.js +31 -0
  22. package/dist/am4/ir/preset.d.ts +24 -0
  23. package/dist/am4/ir/preset.d.ts.map +1 -0
  24. package/dist/am4/ir/preset.js +12 -0
  25. package/dist/am4/ir/transpile.d.ts +9 -0
  26. package/dist/am4/ir/transpile.d.ts.map +1 -0
  27. package/dist/am4/ir/transpile.js +19 -0
  28. package/dist/am4/locations.d.ts +32 -0
  29. package/dist/am4/locations.d.ts.map +1 -0
  30. package/dist/am4/locations.js +58 -0
  31. package/dist/am4/paramNames.d.ts +55 -0
  32. package/dist/am4/paramNames.d.ts.map +1 -0
  33. package/dist/am4/paramNames.js +863 -0
  34. package/dist/am4/paramNamesGenerated.d.ts +41 -0
  35. package/dist/am4/paramNamesGenerated.d.ts.map +1 -0
  36. package/dist/am4/paramNamesGenerated.js +183 -0
  37. package/dist/am4/parameterBridge.d.ts +46 -0
  38. package/dist/am4/parameterBridge.d.ts.map +1 -0
  39. package/dist/am4/parameterBridge.js +300 -0
  40. package/dist/am4/params.d.ts +9577 -0
  41. package/dist/am4/params.d.ts.map +1 -0
  42. package/dist/am4/params.js +4537 -0
  43. package/dist/am4/setParam.d.ts +414 -0
  44. package/dist/am4/setParam.d.ts.map +1 -0
  45. package/dist/am4/setParam.js +819 -0
  46. package/dist/am4/shared/paramHelpers.d.ts +55 -0
  47. package/dist/am4/shared/paramHelpers.d.ts.map +1 -0
  48. package/dist/am4/shared/paramHelpers.js +146 -0
  49. package/dist/am4/symbolicIds.d.ts +11 -0
  50. package/dist/am4/symbolicIds.d.ts.map +1 -0
  51. package/dist/am4/symbolicIds.js +587 -0
  52. package/dist/am4/typeApplicability.d.ts +39 -0
  53. package/dist/am4/typeApplicability.d.ts.map +1 -0
  54. package/dist/am4/typeApplicability.js +466 -0
  55. package/dist/am4/variantResolverTables.d.ts +51 -0
  56. package/dist/am4/variantResolverTables.d.ts.map +1 -0
  57. package/dist/am4/variantResolverTables.js +3128 -0
  58. package/dist/axe-fx-ii/blockTypes.d.ts +45 -0
  59. package/dist/axe-fx-ii/blockTypes.d.ts.map +1 -0
  60. package/dist/axe-fx-ii/blockTypes.js +116 -0
  61. package/dist/axe-fx-ii/index.d.ts +5 -0
  62. package/dist/axe-fx-ii/index.d.ts.map +1 -0
  63. package/dist/axe-fx-ii/index.js +18 -0
  64. package/dist/axe-fx-ii/paramAliases.d.ts +54 -0
  65. package/dist/axe-fx-ii/paramAliases.d.ts.map +1 -0
  66. package/dist/axe-fx-ii/paramAliases.js +146 -0
  67. package/dist/axe-fx-ii/params.d.ts +11502 -0
  68. package/dist/axe-fx-ii/params.d.ts.map +1 -0
  69. package/dist/axe-fx-ii/params.js +2847 -0
  70. package/dist/axe-fx-ii/setParam.d.ts +560 -0
  71. package/dist/axe-fx-ii/setParam.d.ts.map +1 -0
  72. package/dist/axe-fx-ii/setParam.js +888 -0
  73. package/dist/axe-fx-iii/blockTypes.d.ts +87 -0
  74. package/dist/axe-fx-iii/blockTypes.d.ts.map +1 -0
  75. package/dist/axe-fx-iii/blockTypes.js +156 -0
  76. package/dist/axe-fx-iii/enumOverlay.d.ts +73 -0
  77. package/dist/axe-fx-iii/enumOverlay.d.ts.map +1 -0
  78. package/dist/axe-fx-iii/enumOverlay.js +236 -0
  79. package/dist/axe-fx-iii/index.d.ts +9 -0
  80. package/dist/axe-fx-iii/index.d.ts.map +1 -0
  81. package/dist/axe-fx-iii/index.js +20 -0
  82. package/dist/axe-fx-iii/params.d.ts +179 -0
  83. package/dist/axe-fx-iii/params.d.ts.map +1 -0
  84. package/dist/axe-fx-iii/params.js +6913 -0
  85. package/dist/axe-fx-iii/setParam.d.ts +460 -0
  86. package/dist/axe-fx-iii/setParam.d.ts.map +1 -0
  87. package/dist/axe-fx-iii/setParam.js +910 -0
  88. package/dist/index.d.ts +2 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/index.js +12 -0
  91. package/dist/shared/checksum.d.ts +10 -0
  92. package/dist/shared/checksum.d.ts.map +1 -0
  93. package/dist/shared/checksum.js +14 -0
  94. package/dist/shared/device.d.ts +195 -0
  95. package/dist/shared/device.d.ts.map +1 -0
  96. package/dist/shared/device.js +27 -0
  97. package/dist/shared/index.d.ts +8 -0
  98. package/dist/shared/index.d.ts.map +1 -0
  99. package/dist/shared/index.js +11 -0
  100. package/dist/shared/lineage/amp-lineage.json +8313 -0
  101. package/dist/shared/lineage/axefx2-amp-lineage.json +5871 -0
  102. package/dist/shared/lineage/axefx2-delay-lineage.json +226 -0
  103. package/dist/shared/lineage/axefx2-drive-lineage.json +575 -0
  104. package/dist/shared/lineage/axefx2-reverb-lineage.json +467 -0
  105. package/dist/shared/lineage/cab-lineage.json +10777 -0
  106. package/dist/shared/lineage/chorus-lineage.json +173 -0
  107. package/dist/shared/lineage/compressor-lineage.json +338 -0
  108. package/dist/shared/lineage/delay-lineage.json +313 -0
  109. package/dist/shared/lineage/drive-lineage.json +1844 -0
  110. package/dist/shared/lineage/flanger-lineage.json +313 -0
  111. package/dist/shared/lineage/phaser-lineage.json +208 -0
  112. package/dist/shared/lineage/reverb-lineage.json +793 -0
  113. package/dist/shared/lineage/wah-lineage.json +117 -0
  114. package/dist/shared/lineageLookup.d.ts +69 -0
  115. package/dist/shared/lineageLookup.d.ts.map +1 -0
  116. package/dist/shared/lineageLookup.js +196 -0
  117. package/dist/shared/packValue.d.ts +40 -0
  118. package/dist/shared/packValue.d.ts.map +1 -0
  119. package/dist/shared/packValue.js +105 -0
  120. package/dist/shared/types.d.ts +23 -0
  121. package/dist/shared/types.d.ts.map +1 -0
  122. package/dist/shared/types.js +9 -0
  123. package/package.json +75 -0
@@ -0,0 +1,2847 @@
1
+ /**
2
+ * Axe-Fx II parameter registry (generated).
3
+ *
4
+ * Each entry describes one addressable parameter on the Axe-Fx II
5
+ * family. Wire-side identity is `(effectId, paramId)` — `paramId` is
6
+ * shared across every block instance in the same group (e.g. Amp 1 and
7
+ * Amp 2 both expose `paramId: 1` for INPUT DRIVE), so the registry is
8
+ * keyed by group + parameter, with `effectId` resolved at the tool
9
+ * boundary via `./blockTypes.ts` `IDS_BY_GROUP`.
10
+ *
11
+ * Sources joined:
12
+ * • Fractal Audio Wiki "MIDI_SysEx" — wire-IDs + UPPERCASE name +
13
+ * control type + enum options + min/max/step (where present).
14
+ * Cached at `docs/_private/wiki-cache/axe-fx-ii-midi-sysex.html`.
15
+ * • Axe-Edit `__block_layout.xml` — symbolic `parameterName` (e.g.
16
+ * `DISTORT_DRIVE`) + Title-Case UI label + type-applicability
17
+ * gates. Catalogued at
18
+ * `samples/captured/decoded/labels/axe-edit-catalog.json`.
19
+ *
20
+ * **DO NOT EDIT BY HAND** — regenerate via:
21
+ * npx tsx scripts/extract-axe-fx-ii-params.ts
22
+ *
23
+ * Status: 🟢 hardware-verified on Quantum 8.02 (2026-05-10). The
24
+ * 929-param wire encoder + paramId→knob resolution were exercised
25
+ * end-to-end by HW-075 (Amp 1 Bass write, Reverb 1 bypass) + HW-077
26
+ * (Amp 1 Bass read with device label echo) on the founder's XL+.
27
+ * Wiki min/max/step are still populated only for the subset of
28
+ * params the wiki documents — most knobs are blank in the wiki and
29
+ * need hardware spotchecks (HW-079 calibration sweep) to anchor
30
+ * display ranges. Until then, encoders treat absent ranges as
31
+ * "wire 0..65534, display unknown" and pass the value through
32
+ * verbatim — that's a display-layer gap, not a wire-encoding gap.
33
+ *
34
+ * Wire encoding (per wiki "MIDI SysEx: obtaining parameter values"):
35
+ * value range : 0..65534 integer
36
+ * 3-septet pack: [bits 6-0, bits 13-7, bits 14-15 in low 2 bits]
37
+ *
38
+ * Reference encoder lives in `./setParam.ts` (TBD when the encoder
39
+ * lands in the multi-vendor refactor).
40
+ */
41
+ export const AMP_EFFECT_TYPE_VALUES = Object.freeze({
42
+ 0: "59 BASSGUY",
43
+ 1: "65 BASSGUY NRML",
44
+ 2: "VIBRATO VERB",
45
+ 3: "DELUXE VERB VIB",
46
+ 4: "DOUBLE VERB VIB",
47
+ 5: "JR BLUES",
48
+ 6: "CLASS-A 15W TB",
49
+ 7: "CLASS-A 30W",
50
+ 8: "CLASS-A 30W TB",
51
+ 9: "BRIT JM45",
52
+ 10: "PLEXI 50W NRML",
53
+ 11: "PLEXI 50W HI 1",
54
+ 12: "1987X NORMAL",
55
+ 13: "1987X TREBLE",
56
+ 14: "BRIT 800",
57
+ 15: "BRIT SUPER",
58
+ 16: "HIPOWER NORMAL",
59
+ 17: "HIPOWER BRILLNT",
60
+ 18: "USA CLEAN",
61
+ 19: "USA PRE CLEAN",
62
+ 20: "USA RHYTHM",
63
+ 21: "USA IIC+",
64
+ 22: "USA IIC+ BRight",
65
+ 23: "USA LEAD",
66
+ 24: "USA LEAD BRT",
67
+ 25: "RECTO2 ORG VNTG",
68
+ 26: "RECTO2 ORG MDRN",
69
+ 27: "RECTO2 RED VNTG",
70
+ 28: "RECTO2 RED MDRN",
71
+ 29: "EURO BLUE",
72
+ 30: "EURO RED",
73
+ 31: "SHIVER CLEAN",
74
+ 32: "SHIVER LEAD",
75
+ 33: "EURO UBER",
76
+ 34: "SOLO 99 CLEAN",
77
+ 35: "SOLO 100 RHY",
78
+ 36: "SOLO 100 LEAD",
79
+ 37: "FRIEDMAN BE V1",
80
+ 38: "FRIEDMAN HBE V1",
81
+ 39: "PVH 6160 BLOCK",
82
+ 40: "MR Z MZ-38",
83
+ 41: "CA3+ RHY",
84
+ 42: "CA3+ LEAD",
85
+ 43: "WRECKER ROCKET",
86
+ 44: "CORNCOB M50",
87
+ 45: "CA OD-2",
88
+ 46: "FRYETTE D60 L",
89
+ 47: "FRYETTE D60 M",
90
+ 48: "BRIT BROWN",
91
+ 49: "CITRUS RV50",
92
+ 50: "JAZZ 120",
93
+ 51: "ENERGYBALL",
94
+ 52: "ODS-100 CLEAN",
95
+ 53: "ODS-100 HRM",
96
+ 54: "FAS RHYTHM",
97
+ 55: "FAS LEAD 1",
98
+ 56: "FAS LEAD 2",
99
+ 57: "FAS MODERN",
100
+ 58: "DAS METALL",
101
+ 59: "BRIT PRE",
102
+ 60: "BUTTERY",
103
+ 61: "BOUTIQUE 1",
104
+ 62: "BOUTIQUE 2",
105
+ 63: "CAMERON CCV 1A",
106
+ 64: "CAMERON CCV 2A",
107
+ 65: "SV BASS",
108
+ 66: "TUBE PRE",
109
+ 67: "FAS BROWN",
110
+ 68: "BIG HAIR",
111
+ 69: "SOLO 99 LEAD",
112
+ 70: "SUPERTWEED",
113
+ 71: "TX STAR LEAD",
114
+ 72: "FAS WRECK",
115
+ 73: "BRIT JVM OD1 OR",
116
+ 74: "BRIT JVM OD2 OR",
117
+ 75: "FAS 6160",
118
+ 76: "CALI LEGGY",
119
+ 77: "USA LEAD +",
120
+ 78: "USA LEAD BRT +",
121
+ 79: "PRINCE TONE",
122
+ 80: "BLANKNSHP LEEDS",
123
+ 81: "5153 100W GREEN",
124
+ 82: "5153 100W BLUE",
125
+ 83: "5153 100W RED",
126
+ 84: "SOLO 88 RHYTHM",
127
+ 85: "DIV/13 CJ",
128
+ 86: "HERBIE CH2-",
129
+ 87: "HERBIE CH2+",
130
+ 88: "HERBIE CH3",
131
+ 89: "DIRTY SHIRLEY 1",
132
+ 90: "DIZZY V4 BLUE 2",
133
+ 91: "DIZZY V4 BLUE 3",
134
+ 92: "DIZZY V4 BLUE 4",
135
+ 93: "SUHR BADGER 18",
136
+ 94: "SUHR BADGER 30",
137
+ 95: "PRINCE TONE NR",
138
+ 96: "SUPREMO TREM",
139
+ 97: "ATOMICA LOW",
140
+ 98: "ATOMICA HIGH",
141
+ 99: "DELUXE TWEED",
142
+ 100: "SPAWN ROD OD2-1",
143
+ 101: "SPAWN ROD OD2-2",
144
+ 102: "SPAWN ROD OD2-3",
145
+ 103: "BRIT SILVER",
146
+ 104: "SPAWN NITROUS 2",
147
+ 105: "FAS CRUNCH",
148
+ 106: "TWO STONE J35 1",
149
+ 107: "FOX ODS",
150
+ 108: "HOT KITTY",
151
+ 109: "BAND-COMMANDER",
152
+ 110: "SUPER VERB VIB",
153
+ 111: "VIBRA-KING",
154
+ 112: "GIBTONE SCOUT",
155
+ 113: "PVH 6160+ LD",
156
+ 114: "SOLO 100 CLEAN",
157
+ 115: "USA PRE LD2 GRN",
158
+ 116: "USA PRE LD2 YLW",
159
+ 117: "CA3+ CLEAN",
160
+ 118: "FOX ODS DEEP",
161
+ 119: "BRIT JVM OD1 GN",
162
+ 120: "BRIT JVM OD2 GN",
163
+ 121: "VIBRATO LUX",
164
+ 122: "BRIT 800 MOD",
165
+ 123: "NUCLEAR-TONE",
166
+ 124: "BLUDOJAI CLEAN",
167
+ 125: "BLUDOJAI LD PAB",
168
+ 126: "PLEXI 100W HIGH",
169
+ 127: "PLEXI 100W NRML",
170
+ 128: "RUBY ROCKET",
171
+ 129: "AC-20 EF86 B",
172
+ 130: "PRINCE TONE REV",
173
+ 131: "COMET CONCOURSE",
174
+ 132: "FAS MODERN II",
175
+ 133: "CA TRIPTIK MDRN",
176
+ 134: "CA TRIPTIK CLSC",
177
+ 135: "CA TRIPTIK CLN",
178
+ 136: "THORDENDAL VINT",
179
+ 137: "THORDENDAL MDRN",
180
+ 138: "ODS-100 HRM MID",
181
+ 139: "EURO BLUE MDRN",
182
+ 140: "EURO RED MDRN",
183
+ 141: "PLEXI 50W JUMP",
184
+ 142: "AC-20 EF86 T",
185
+ 143: "COMET 60",
186
+ 144: "HIPOWER JUMPED",
187
+ 145: "PLEXI 100W JUMP",
188
+ 146: "BRIT JM45 JUMP",
189
+ 147: "1987X JUMP",
190
+ 148: "RECTO1 ORG VNTG",
191
+ 149: "RECTO1 RED",
192
+ 150: "ODS-100 FORD 1",
193
+ 151: "BOGFISH STRATO",
194
+ 152: "BOGFISH BROWN",
195
+ 153: "5F1 TWEED",
196
+ 154: "WRECKER EXPRESS",
197
+ 155: "TWO STONE J35 2",
198
+ 156: "ODS-100 FORD 2",
199
+ 157: "MR Z MZ-8",
200
+ 158: "CAR ROAMER",
201
+ 159: "USA SUB BLUES",
202
+ 160: "WRECKER LVRPOOL",
203
+ 161: "CITRUS TERRIER",
204
+ 162: "CITRUS A30 CLN",
205
+ 163: "CITRUS A30 DRTY",
206
+ 164: "DIV/13 FT37 LO",
207
+ 165: "DIV/13 FT37 HI",
208
+ 166: "MATCHBOX D-30",
209
+ 167: "FAS CLASS-A",
210
+ 168: "USA BASS 400 1",
211
+ 169: "USA BASS 400 2",
212
+ 170: "CITRUS BASS 200",
213
+ 171: "FAS BASS",
214
+ 172: "TREMOLO LUX",
215
+ 173: "FAS BROOTALZ",
216
+ 174: "RECTO1 ORG MDRN",
217
+ 175: "ANGLE SEVERE 1",
218
+ 176: "ANGLE SEVERE 2",
219
+ 177: "USA PRE LD2 RED",
220
+ 178: "USA PRE LD1 RED",
221
+ 179: "TX STAR CLEAN",
222
+ 180: "AC-20 12AX7 T",
223
+ 181: "VIBRATO VERB AA",
224
+ 182: "VIBRATO VERB AB",
225
+ 183: "CA TUCANA LEAD",
226
+ 184: "JR BLUES FAT",
227
+ 185: "SOLO 88 LEAD",
228
+ 186: "BRIT AFS100 1",
229
+ 187: "BRIT AFS100 2",
230
+ 188: "CLASS-A 30W HOT",
231
+ 189: "DIZZY V4 SLVR 2",
232
+ 190: "DIZZY V4 SLVR 3",
233
+ 191: "DIZZY V4 SLVR 4",
234
+ 192: "1959SLP NORMAL",
235
+ 193: "1959SLP TREBLE",
236
+ 194: "1959SLP JUMP",
237
+ 195: "FAS MODERN III",
238
+ 196: "ODS-100 FORD MD",
239
+ 197: "MR Z HWY 66",
240
+ 198: "6G4 SUPER",
241
+ 199: "6G12 CONCERT",
242
+ 200: "65 BASSGUY BASS",
243
+ 201: "VIBRA-KING FAT",
244
+ 202: "SPAWN ROD OD1-1",
245
+ 203: "SPAWN ROD OD1-2",
246
+ 204: "SPAWN ROD OD1-3",
247
+ 205: "CA TUCANA CLN",
248
+ 206: "BRIT JVM OD1 RD",
249
+ 207: "BRIT JVM OD2 RD",
250
+ 208: "CAMERON CCV 1B",
251
+ 209: "CAMERON CCV 2B",
252
+ 210: "CAMERON CCV 2C",
253
+ 211: "CAMERON CCV 2D",
254
+ 212: "FRIEDMAN SM BOX",
255
+ 213: "5153 50W BLUE",
256
+ 214: "DIV/13 CJ BOOST",
257
+ 215: "USA IIC+ DEEP",
258
+ 216: "USA IIC+ BRT/DP",
259
+ 217: "5F8 TWEED",
260
+ 218: "DOUBLE VERB SF",
261
+ 219: "VIBRATO VERB CS",
262
+ 220: "JMPRE-1 OD1",
263
+ 221: "JMPRE-1 OD2",
264
+ 222: "JMPRE-1 OD1 BS",
265
+ 223: "JMPRE-1 OD2 BS",
266
+ 224: "DELUXE VERB NRM",
267
+ 225: "DOUBLE VERB NRM",
268
+ 226: "SUPER VERB NRM",
269
+ 227: "BLUDOJAI LD 2",
270
+ 228: "PLEXI 50W 6550",
271
+ 229: "FAS HOT ROD",
272
+ 230: "PVH 6160+ RHY B",
273
+ 231: "PVH 6160+ RHY",
274
+ 232: "SOLO 88 CLEAN",
275
+ 233: "CLASS-A 30W BRT",
276
+ 234: "PLEXI 50W HI 2",
277
+ 235: "SPAWN NITROUS 1",
278
+ 236: "RUBY ROCKET BRT",
279
+ 237: "AC-20 12AX7 B",
280
+ 238: "PLEXI 100W 1970",
281
+ 239: "JS410 LEAD OR",
282
+ 240: "JS410 LEAD RD",
283
+ 241: "JS410 CRUNCH OR",
284
+ 242: "JS410 CRUNCH RD",
285
+ 243: "FRIEDMAN BE V2",
286
+ 244: "FRIEDMAN HBE V2",
287
+ 245: "DWEEZIL'S B-MAN",
288
+ 246: "FRIEDMAN BE",
289
+ 247: "FRIEDMAN HBE",
290
+ 248: "USA IIC++",
291
+ 249: "LEGATO 100",
292
+ 250: "CAPT HOOK 2B",
293
+ 251: "CAPT HOOK 3B",
294
+ 252: "CAPT HOOK 2A",
295
+ 253: "CAPT HOOK 3A",
296
+ 254: "CAPT HOOK 1A",
297
+ 255: "CAPT HOOK 1B",
298
+ 256: "DIRTY SHIRLEY 2",
299
+ 257: "BRIT 800 #34",
300
+ 258: "5F1 TWEED EC",
301
+ });
302
+ export const AMP_TONE_LOCATION_VALUES = Object.freeze({
303
+ 0: "PRE",
304
+ 1: "POST",
305
+ 2: "MID",
306
+ 3: "END",
307
+ });
308
+ export const AMP_INPUT_SELECT_VALUES = Object.freeze({
309
+ 0: "Left",
310
+ 1: "Right",
311
+ 2: "SUM L+R",
312
+ });
313
+ export const AMP_BYPASS_MODE_VALUES = Object.freeze({
314
+ 0: "Left",
315
+ 1: "Right",
316
+ 2: "SUM L+R",
317
+ });
318
+ export const AMP_TONE_STACK_VALUES = Object.freeze({
319
+ 0: "ACTIVE",
320
+ 1: "DEFAULT",
321
+ 2: "BROWNFACE",
322
+ 3: "BLACKFACE",
323
+ 4: "BASSGUY",
324
+ 5: "TOP BOOST",
325
+ 6: "PLEXI",
326
+ 7: "BOUTIQUE",
327
+ 8: "HI POWER",
328
+ 9: "USA NORMAL",
329
+ 10: "USA FAT",
330
+ 11: "RECTO1 ORG",
331
+ 12: "RECTO1 RED",
332
+ 13: "SKYLINE",
333
+ 14: "GERMAN",
334
+ 15: "JR BLUES",
335
+ 16: "WRECKER 1",
336
+ 17: "NEUTRAL",
337
+ 18: "CA3+SE",
338
+ 19: "FREYER D60",
339
+ 20: "MR Z 38 SR",
340
+ 21: "EURO UBER",
341
+ 22: "PVH 6160",
342
+ 23: "SOLO 100",
343
+ 24: "CORNCOB",
344
+ 25: "XTC",
345
+ 26: "CAROLANN",
346
+ 27: "CITRUS",
347
+ 28: "BRIT JM45",
348
+ 29: "USA RHY",
349
+ 30: "RECTO2 ORG",
350
+ 31: "RECTO2 RED",
351
+ 32: "SHIVER CLN",
352
+ 33: "CAMERON",
353
+ 34: "BRIT JVM 0D1",
354
+ 35: "BRIT JVM 0D2",
355
+ 36: "5153 GREEN",
356
+ 37: "5153 BLUE",
357
+ 38: "5153 RED",
358
+ 39: "BRIT SUPER",
359
+ 40: "DIV13 CJ",
360
+ 41: "BADGER 18",
361
+ 42: "ATOMICA",
362
+ 43: "SPAWN",
363
+ 44: "BADGER 30",
364
+ 45: "BRIT SILVER",
365
+ 46: "SUPER VERB",
366
+ 47: "HOT KITTY",
367
+ 48: "VIBRATO-KING",
368
+ 49: "GIBTONE SCOUT",
369
+ 50: "CA3+SE CLEAN",
370
+ 51: "BF FIXED MID",
371
+ 52: "GERMAN V4",
372
+ 53: "VIBRATO-LUX",
373
+ 54: "DIRTY SHIRLEY",
374
+ 55: "PLEXI 100W",
375
+ 56: "RUBY ROCKET BRT",
376
+ 57: "CONCOURSE",
377
+ 58: "TRIPTIK LD",
378
+ 59: "TRIPTIK CLN",
379
+ 60: "JAZZ 120",
380
+ 61: "BOGFISH",
381
+ 62: "WRECKER 2",
382
+ 63: "SKYLINE DEEP",
383
+ 64: "USA SUB BLUES",
384
+ 65: "WRECKER LVRPOOL",
385
+ 66: "CITRUS A30 CLN",
386
+ 67: "CITRUS A30 DRT",
387
+ 68: "CAR ROAMER",
388
+ 69: "USA BASS",
389
+ 70: "CITRUS BASS",
390
+ 71: "STUDIO",
391
+ 72: "BRIT 800",
392
+ 73: "RECTO1 ORG MDRN",
393
+ 74: "ANGLE SEVERE 1",
394
+ 75: "ANGLE SEVERE 2",
395
+ 76: "USA PRE LD1 RED",
396
+ 77: "RECTO ORG BRT",
397
+ 78: "RECTO RED BRT",
398
+ 79: "VIBROVERB AA",
399
+ 80: "PVH 6160 II LD",
400
+ 81: "RUMBLE HRM",
401
+ 82: "MR Z HWY 66",
402
+ 83: "SUPER 6G4",
403
+ 84: "65 BASSMAN BASS",
404
+ 85: "FREIDMAN",
405
+ 86: "BAND-COMMANDER",
406
+ 87: "USA PRE CLEAN",
407
+ 88: "TUCANA CLEAN",
408
+ 89: "FRIEDMAN SM BOX",
409
+ 90: "TX STAR",
410
+ 91: "USA IIC+",
411
+ 92: "THORDENDAL",
412
+ 93: "SOLO 99",
413
+ 94: "BLUDOJAI",
414
+ 95: "HERBIE",
415
+ 96: "PVH 6160 II RHY",
416
+ 97: "SOLO 88 CLEAN",
417
+ 98: "JS410",
418
+ 99: "JS410 MIDSHIFT",
419
+ 100: "RUBY ROCKET",
420
+ 101: "USA IIC++",
421
+ 102: "LEGATO 100",
422
+ 103: "HOOK EDGE",
423
+ 104: "HOOK NO EDGE",
424
+ 105: "HOOK CLEAN 1",
425
+ 106: "HOOK CLEAN 2",
426
+ 107: "SOLO 88",
427
+ });
428
+ export const AMP_MV_LOCATION_VALUES = Object.freeze({
429
+ 0: "PRE-PI",
430
+ 1: "POST-PI",
431
+ 2: "PRE-TRIODE",
432
+ });
433
+ export const AMP_SAT_SWITCH_VALUES = Object.freeze({
434
+ 0: "OFF",
435
+ 1: "AUTH",
436
+ 2: "IDEAL",
437
+ });
438
+ export const AMP_PWR_AMP_TUBE_VALUES = Object.freeze({
439
+ 0: "IDEAL TETRODE",
440
+ 1: "IDEAL PENTODE",
441
+ 2: "EL34/6CA7",
442
+ 3: "EL84/6BQ5",
443
+ 4: "6L6/5881",
444
+ 5: "6V6",
445
+ 6: "KT66",
446
+ 7: "KT88",
447
+ 8: "6550",
448
+ 9: "6973",
449
+ 10: "6AQ5",
450
+ 11: "300B",
451
+ });
452
+ export const AMP_PREAMP_TUBES_VALUES = Object.freeze({
453
+ 0: "12AX7A SYL",
454
+ 1: "ECC83",
455
+ 2: "7025",
456
+ 3: "12AX7A JJ",
457
+ 4: "ECC803S",
458
+ 5: "EF86",
459
+ 6: "12AX7A RCA",
460
+ 7: "12AX7A",
461
+ 8: "12AX7B",
462
+ });
463
+ export const AMP_POWER_TYPE_VALUES = Object.freeze({
464
+ 0: "AC",
465
+ 1: "DC",
466
+ });
467
+ export const AMP_EQ_TYPE_VALUES = Object.freeze({
468
+ 0: "8 BAND VAR Q",
469
+ 1: "7 BAND VAR Q",
470
+ 2: "5 BAND (MARK)",
471
+ 3: "8 BAND CONST Q",
472
+ 4: "7 BAND CONST Q",
473
+ 5: "5 BAND CONST Q",
474
+ 6: "5 BAND PASSIVE",
475
+ 7: "4 BAND PASSIVE",
476
+ 8: "3 BAND PASSIVE",
477
+ 9: "3 BAND CONSOLE",
478
+ });
479
+ export const AMP_CHAR_TYPE_VALUES = Object.freeze({
480
+ 0: "SHELVING",
481
+ 1: "PEAKING",
482
+ 2: "DYNAMIC",
483
+ });
484
+ export const AMP_OUT_COMP_TYPE_VALUES = Object.freeze({
485
+ 0: "OUTPUT",
486
+ 1: "FEEDBACK",
487
+ });
488
+ export const AMP_EQ_LOCATION_VALUES = Object.freeze({
489
+ 0: "POST P.A.",
490
+ 1: "PRE P.A.",
491
+ });
492
+ export const AMP_CF_COMP_TYPE_VALUES = Object.freeze({
493
+ 0: "AUTHENTIC",
494
+ 1: "IDEAL",
495
+ });
496
+ export const CAB_MIC_VALUES = Object.freeze({
497
+ 0: "None",
498
+ 1: "57 DYN",
499
+ 2: "58 DYN",
500
+ 3: "421 DYN",
501
+ 4: "87A COND",
502
+ 5: "U87 COND",
503
+ 6: "E609 DYN",
504
+ 7: "RE16 DYN",
505
+ 8: "R121 RIB",
506
+ 9: "D112 DYN",
507
+ 10: "67 COND",
508
+ 11: "NULL",
509
+ 12: "INVERT",
510
+ });
511
+ export const CAB_MIC_R_VALUES = Object.freeze({
512
+ 0: "None",
513
+ 1: "57 DYN",
514
+ 2: "58 DYN",
515
+ 3: "421 DYN",
516
+ 4: "87A COND",
517
+ 5: "U87 COND",
518
+ 6: "E609 DYN",
519
+ 7: "RE16 DYN",
520
+ 8: "R121 RIB",
521
+ 9: "D112 DYN",
522
+ 10: "67 COND",
523
+ 11: "NULL",
524
+ 12: "INVERT",
525
+ });
526
+ export const CAB_BYPASS_MODE_VALUES = Object.freeze({
527
+ 0: "THRU",
528
+ 1: "MUTE",
529
+ });
530
+ export const CAB_EFFECT_TYPE_VALUES = Object.freeze({
531
+ 0: "HI-/ULTRA-RES",
532
+ 1: "NORMAL RES",
533
+ 2: "STEREO",
534
+ 3: "STEREO ULTRARES",
535
+ });
536
+ export const CAB_INPUT_SELECT_VALUES = Object.freeze({
537
+ 0: "STEREO",
538
+ 1: "Left",
539
+ 2: "Right",
540
+ 3: "SUM L+R",
541
+ });
542
+ export const CAB_PREAMP_TYPE_VALUES = Object.freeze({
543
+ 0: "None",
544
+ 1: "TUBE",
545
+ 2: "BIPOLAR",
546
+ 3: "FET I",
547
+ 4: "FET II",
548
+ 5: "TRANSFORMER",
549
+ 6: "TAPE 70us",
550
+ 7: "TAPE 50us",
551
+ 8: "TAPE 35us",
552
+ 9: "VINTAGE",
553
+ 10: "MODERN",
554
+ 11: "EXCITER",
555
+ });
556
+ export const CAB_PREAMP_MODE_VALUES = Object.freeze({
557
+ 0: "ECONOMY",
558
+ 1: "HIGH QUALITY",
559
+ });
560
+ export const CAB_FILTER_SLOPE_VALUES = Object.freeze({
561
+ 0: "6 dB/OCT",
562
+ 1: "12 dB/OCT",
563
+ });
564
+ export const CHORUS_EFFECT_TYPE_VALUES = Object.freeze({
565
+ 0: "DIGITAL MONO",
566
+ 1: "DIGITAL STEREO",
567
+ 2: "ANALOG MONO",
568
+ 3: "ANALOG STEREO",
569
+ 4: "JAPan CE-2",
570
+ 5: "WARM STEREO",
571
+ 6: "80'S STYLE",
572
+ 7: "TRIANGLE CHORUS",
573
+ 8: "8-VOICE STEREO",
574
+ 9: "VINTAGE TAPE",
575
+ 10: "DIMENSION 1",
576
+ 11: "DIMENSION 2",
577
+ 12: "4-VOICE ANALOG",
578
+ });
579
+ export const CHORUS_LFO_TYPE_VALUES = Object.freeze({
580
+ 0: "SINE",
581
+ 1: "TRIANGLE",
582
+ 2: "SQUARE",
583
+ 3: "SAW UP",
584
+ 4: "SAW DOWN",
585
+ 5: "RANDOM",
586
+ 6: "LOG",
587
+ 7: "EXP",
588
+ 8: "TRAPEZOID",
589
+ });
590
+ export const CHORUS_AUTO_DEPTH_VALUES = Object.freeze({
591
+ 0: "OFF",
592
+ 1: "LOW",
593
+ 2: "HIGH",
594
+ });
595
+ export const CHORUS_BYPASS_MODE_VALUES = Object.freeze({
596
+ 0: "THRU",
597
+ 1: "MUTE FX OUT",
598
+ 2: "MUTE OUT",
599
+ });
600
+ export const CHORUS_PHASE_REVERSE_VALUES = Object.freeze({
601
+ 0: "None",
602
+ 1: "Right",
603
+ 2: "Left",
604
+ 3: "Both",
605
+ });
606
+ export const CHORUS_DIMENSION_VALUES = Object.freeze({
607
+ 0: "OFF",
608
+ 1: "LOW",
609
+ 2: "MED",
610
+ 3: "HIGH",
611
+ });
612
+ export const COMPRESSOR_KNEE_VALUES = Object.freeze({
613
+ 0: "HARD",
614
+ 1: "SOFT",
615
+ 2: "SOFTER",
616
+ 3: "SOFTEST",
617
+ });
618
+ export const COMPRESSOR_DETECT_VALUES = Object.freeze({
619
+ 0: "RMS",
620
+ 1: "PEAK",
621
+ 2: "RMS+PEAK",
622
+ 3: "FAST RMS",
623
+ });
624
+ export const COMPRESSOR_SIDECHAIN_VALUES = Object.freeze({
625
+ 0: "BLOCK L+R",
626
+ 1: "ROW 1",
627
+ 2: "ROW 2",
628
+ 3: "ROW 3",
629
+ 4: "ROW 4",
630
+ 5: "INPUT 1",
631
+ 6: "INPUT 2",
632
+ 7: "BLOCK L",
633
+ 8: "BLOCK R",
634
+ });
635
+ export const COMPRESSOR_EFFECT_TYPE_VALUES = Object.freeze({
636
+ 0: "STUDIO COMP",
637
+ 1: "PEDAL COMP 1",
638
+ 2: "PEDAL COMP 2",
639
+ 3: "DYNAMICS",
640
+ 4: "OPTICAL 1",
641
+ 5: "OPTICAL 2",
642
+ });
643
+ export const COMPRESSOR_BYPASS_MODE_VALUES = Object.freeze({
644
+ 0: "THRU",
645
+ 1: "MUTE FX OUT",
646
+ 2: "MUTE OUT",
647
+ });
648
+ export const COMPRESSOR_INPUT_LEVEL_VALUES = Object.freeze({
649
+ 0: "INSTRUMENT",
650
+ 1: "LINE",
651
+ });
652
+ export const CONTROLLERS_LFO1_TYPE_RUN_VALUES = Object.freeze({
653
+ 0: "SINE",
654
+ 1: "TRIANGLE",
655
+ 2: "SQUARE",
656
+ 3: "SAW UP",
657
+ 4: "SAW DOWN",
658
+ 5: "RANDOM",
659
+ 6: "LOG",
660
+ 7: "EXP",
661
+ 8: "TRAPEZOID",
662
+ });
663
+ export const CONTROLLERS_LFO2_TYPE_RUN_VALUES = Object.freeze({
664
+ 0: "SINE",
665
+ 1: "TRIANGLE",
666
+ 2: "SQUARE",
667
+ 3: "SAW UP",
668
+ 4: "SAW DOWN",
669
+ 5: "RANDOM",
670
+ 6: "LOG",
671
+ 7: "EXP",
672
+ 8: "TRAPEZOID",
673
+ });
674
+ export const CONTROLLERS_MODE_VALUES = Object.freeze({
675
+ 0: "ONCE",
676
+ 1: "LOOP",
677
+ 2: "SUST",
678
+ });
679
+ export const CONTROLLERS_TEMPO_SETTING_VALUES = Object.freeze({
680
+ 0: "PRESET",
681
+ 1: "GLOBAL",
682
+ });
683
+ export const CONTROLLERS_STAGES_VALUES = Object.freeze({
684
+ 2: "2",
685
+ 3: "3",
686
+ 4: "4",
687
+ 5: "5",
688
+ 6: "6",
689
+ 7: "7",
690
+ 8: "8",
691
+ 9: "9",
692
+ 10: "10",
693
+ 11: "11",
694
+ 12: "12",
695
+ 13: "13",
696
+ 14: "14",
697
+ 15: "15",
698
+ 16: "16",
699
+ 17: "17",
700
+ 18: "18",
701
+ 19: "19",
702
+ 20: "20",
703
+ 21: "21",
704
+ 22: "22",
705
+ 23: "23",
706
+ 24: "24",
707
+ 25: "25",
708
+ 26: "26",
709
+ 27: "27",
710
+ 28: "28",
711
+ 29: "29",
712
+ 30: "30",
713
+ 31: "31",
714
+ 32: "32",
715
+ });
716
+ export const CONTROLLERS_QUANTIZE_VALUES = Object.freeze({
717
+ 1: "OFF",
718
+ 2: "2",
719
+ 3: "3",
720
+ 4: "4",
721
+ 5: "5",
722
+ 6: "6",
723
+ 7: "7",
724
+ 8: "8",
725
+ 9: "9",
726
+ 10: "10",
727
+ 11: "11",
728
+ 12: "12",
729
+ 13: "13",
730
+ 14: "14",
731
+ 15: "15",
732
+ 16: "16",
733
+ 17: "17",
734
+ 18: "18",
735
+ 19: "19",
736
+ 20: "20",
737
+ 21: "21",
738
+ 22: "22",
739
+ 23: "23",
740
+ 24: "24",
741
+ 25: "25",
742
+ 26: "26",
743
+ 27: "27",
744
+ 28: "28",
745
+ 29: "29",
746
+ 30: "30",
747
+ 31: "31",
748
+ 32: "32",
749
+ });
750
+ export const CROSSOVER_FREQ_MULTI_VALUES = Object.freeze({
751
+ 0: "X 1",
752
+ 1: "X 10",
753
+ });
754
+ export const CROSSOVER_BYPASS_MODE_VALUES = Object.freeze({
755
+ 0: "THRU",
756
+ 1: "MUTE",
757
+ });
758
+ export const DELAY_EFFECT_TYPE_VALUES = Object.freeze({
759
+ 0: "DIGITAL MONO",
760
+ 1: "DIGITAL STEREO",
761
+ 2: "ANALOG MONO",
762
+ 3: "ANALOG STEREO",
763
+ 4: "MONO TAPE",
764
+ 5: "STEREO TAPE",
765
+ 6: "PING-PONG",
766
+ 7: "DUAL DELAY",
767
+ 8: "REVERSE DELAY",
768
+ 9: "SWEEP DELAY",
769
+ 10: "DUCKING DELAY",
770
+ 11: "VINTAGE DIGITAL",
771
+ 12: "2290 W/ MOD",
772
+ 13: "AMBIENT STEREO",
773
+ 14: "DELUXE MIND GUY",
774
+ 15: "MONO BBD",
775
+ 16: "STEREO BBD",
776
+ 17: "LO-FI TAPE",
777
+ });
778
+ export const DELAY_CONFIG_VALUES = Object.freeze({
779
+ 0: "MONO",
780
+ 1: "STEREO",
781
+ 2: "PING-PONG",
782
+ 3: "DUAL",
783
+ 4: "REVERSE",
784
+ 5: "SWEEP",
785
+ 6: "TAPE",
786
+ });
787
+ export const DELAY_BYPASS_MODE_VALUES = Object.freeze({
788
+ 0: "THRU",
789
+ 1: "MUTE FX OUT",
790
+ 2: "MUTE OUT",
791
+ 3: "MUTE FX IN",
792
+ 4: "MUTE IN",
793
+ });
794
+ export const DELAY_LFO1_TYPE_VALUES = Object.freeze({
795
+ 0: "SINE",
796
+ 1: "TRIANGLE",
797
+ 2: "SQUARE",
798
+ 3: "SAW UP",
799
+ 4: "SAW DOWN",
800
+ 5: "RANDOM",
801
+ 6: "LOG",
802
+ 7: "EXP",
803
+ 8: "TRAPEZOID",
804
+ });
805
+ export const DELAY_LFO2_TYPE_VALUES = Object.freeze({
806
+ 0: "SINE",
807
+ 1: "TRIANGLE",
808
+ 2: "SQUARE",
809
+ 3: "SAW UP",
810
+ 4: "SAW DOWN",
811
+ 5: "RANDOM",
812
+ 6: "LOG",
813
+ 7: "EXP",
814
+ 8: "TRAPEZOID",
815
+ });
816
+ export const DELAY_FILTER_SLOPE_VALUES = Object.freeze({
817
+ 0: "6 dB/OCT",
818
+ 1: "12 dB/OCT",
819
+ 2: "24 dB/OCT",
820
+ 3: "36 dB/OCT",
821
+ 4: "48 dB/OCT",
822
+ });
823
+ export const DELAY_PHASE_REVERSE_VALUES = Object.freeze({
824
+ 0: "None",
825
+ 1: "Right",
826
+ 2: "Left",
827
+ 3: "Both",
828
+ });
829
+ export const DELAY_LFO1_TARGET_VALUES = Object.freeze({
830
+ 0: "Both",
831
+ 1: "Left",
832
+ 2: "Right",
833
+ });
834
+ export const DELAY_LFO2_TARGET_VALUES = Object.freeze({
835
+ 0: "Both",
836
+ 1: "Left",
837
+ 2: "Right",
838
+ });
839
+ export const DELAY_SWEEP_TYPE_VALUES = Object.freeze({
840
+ 0: "SINE",
841
+ 1: "TRIANGLE",
842
+ 2: "SQUARE",
843
+ 3: "SAW UP",
844
+ 4: "SAW DOWN",
845
+ 5: "RANDOM",
846
+ 6: "LOG",
847
+ 7: "EXP",
848
+ 8: "TRAPEZOID",
849
+ });
850
+ export const DELAY_LFO1_DEPTH_RANGE_VALUES = Object.freeze({
851
+ 0: "LOW",
852
+ 1: "HIGH",
853
+ });
854
+ /**
855
+ * Delay tempo-sync division enum — hardware-measured 2026-05-11 via
856
+ * HW-091 (wire 0..8) and HW-093 (wire 9..32). Wire 33+ not yet
857
+ * probed; the device likely saturates at wire 32 or rejects further.
858
+ *
859
+ * Pattern: wire 0 = NONE (disables sync); wires 1..21 are the
860
+ * canonical musical-division ladder TRIP/straight/DOT in increasing
861
+ * note-value; wires 22..24 are integer bar multiples; wires 25..26
862
+ * are polymeter ratios (4/3, 5/4); wires 27..32 are odd-numerator
863
+ * 64th-note ratios where 10/64 is parens-displayed as (5/32) — the
864
+ * Axe-Fx II firmware's "reduced fraction" convention (parens =
865
+ * computed value, same convention as tempo-gated `(375 ms)` on
866
+ * delay.time).
867
+ */
868
+ export const DELAY_TEMPO_VALUES = Object.freeze({
869
+ 0: "NONE",
870
+ 1: "1/64 TRIP",
871
+ 2: "1/64",
872
+ 3: "1/64 DOT",
873
+ 4: "1/32 TRIP",
874
+ 5: "1/32",
875
+ 6: "1/32 DOT",
876
+ 7: "1/16 TRIP",
877
+ 8: "1/16",
878
+ 9: "1/16 DOT",
879
+ 10: "1/8 TRIP",
880
+ 11: "1/8",
881
+ 12: "1/8 DOT",
882
+ 13: "1/4 TRIP",
883
+ 14: "1/4",
884
+ 15: "1/4 DOT",
885
+ 16: "1/2 TRIP",
886
+ 17: "1/2",
887
+ 18: "1/2 DOT",
888
+ 19: "1 TRIP",
889
+ 20: "1",
890
+ 21: "1 DOT",
891
+ 22: "2",
892
+ 23: "3",
893
+ 24: "4",
894
+ 25: "4/3",
895
+ 26: "5/4",
896
+ 27: "5/64",
897
+ 28: "7/64",
898
+ 29: "9/64",
899
+ 30: "10/64 (5/32)",
900
+ 31: "11/64",
901
+ 32: "13/64",
902
+ });
903
+ export const DRIVE_EFFECT_TYPE_VALUES = Object.freeze({
904
+ 0: "RAT DIST",
905
+ 1: "PI FUZZ",
906
+ 2: "TUBE DRV 3-KNOB",
907
+ 3: "SUPER OD",
908
+ 4: "TREBLE BOOST",
909
+ 5: "MID BOOST",
910
+ 6: "T808 OD",
911
+ 7: "FAT RAT",
912
+ 8: "T808 MOD",
913
+ 9: "OCTAVE DIST",
914
+ 10: "PLUS DIST",
915
+ 11: "HARD FUZZ",
916
+ 12: "FET BOOST",
917
+ 13: "TAPE DIST",
918
+ 14: "FULL OD",
919
+ 15: "BLUES OD",
920
+ 16: "SHRED DIST",
921
+ 17: "M-ZONE DIST",
922
+ 18: "BENDER FUZZ",
923
+ 19: "BB PRE",
924
+ 20: "MASTER FUZZ",
925
+ 21: "FACE FUZZ",
926
+ 22: "BIT CRUSHER",
927
+ 23: "ETERNAL LOVE",
928
+ 24: "ESOTERIC ACB",
929
+ 25: "ESOTERIC RCB",
930
+ 26: "ZEN MASTER",
931
+ 27: "TUBE DRV 4-KNOB",
932
+ 28: "FAS LED-DRIVE",
933
+ 29: "SDD PREAMP",
934
+ 30: "FET PREAMP",
935
+ 31: "RUCKUS",
936
+ 32: "MICRO BOOST",
937
+ 33: "FAS BOOST",
938
+ 34: "TIMOTHY",
939
+ 35: "SHIMMER DRIVE",
940
+ });
941
+ export const DRIVE_BYPASS_MODE_VALUES = Object.freeze({
942
+ 0: "THRU",
943
+ 1: "MUTE",
944
+ });
945
+ export const DRIVE_CLIP_TYPE_VALUES = Object.freeze({
946
+ 0: "LV TUBE",
947
+ 1: "HARD",
948
+ 2: "SOFT",
949
+ 3: "GERMANIUM",
950
+ 4: "FW RECT",
951
+ 5: "HV TUBE",
952
+ 6: "SILICON",
953
+ 7: "4558/DIODE",
954
+ 8: "LED",
955
+ 9: "FET",
956
+ 10: "OP-AMP",
957
+ 11: "VARIABLE",
958
+ 12: "NULL",
959
+ });
960
+ export const DRIVE_INPUT_VALUES = Object.freeze({
961
+ 0: "L+R",
962
+ 1: "Left",
963
+ 2: "Right",
964
+ });
965
+ export const EFFECTSLOOP_BYPASS_MODE_VALUES = Object.freeze({
966
+ 0: "THRU",
967
+ 1: "MUTE",
968
+ });
969
+ export const ENHANCER_EFFECT_TYPE_VALUES = Object.freeze({
970
+ 0: "MODERN",
971
+ 1: "CLASSIC",
972
+ });
973
+ export const ENHANCER_INVERT_VALUES = Object.freeze({
974
+ 0: "None",
975
+ 1: "Right",
976
+ 2: "Left",
977
+ 3: "Both",
978
+ });
979
+ export const FEEDBACKRETURN_BYPASS_MODE_VALUES = Object.freeze({
980
+ 0: "THRU",
981
+ 1: "MUTE",
982
+ });
983
+ export const FILTER_EFFECT_TYPE_VALUES = Object.freeze({
984
+ 0: "NULL",
985
+ 1: "LOWPASS",
986
+ 2: "BANDPASS",
987
+ 3: "HIGHPASS",
988
+ 4: "LOWSHELF",
989
+ 5: "HIGHSHLF",
990
+ 6: "PEAKING",
991
+ 7: "NOTCH",
992
+ 8: "TILT EQ",
993
+ 9: "LOWSHELF2",
994
+ 10: "HIGHSHLF2",
995
+ 11: "PEAKING2",
996
+ });
997
+ export const FILTER_BYPASS_MODE_VALUES = Object.freeze({
998
+ 0: "THRU",
999
+ 1: "MUTE",
1000
+ });
1001
+ export const FILTER_ORDER_VALUES = Object.freeze({
1002
+ 0: "2nd",
1003
+ 1: "4th",
1004
+ });
1005
+ export const FILTER_INVERT_VALUES = Object.freeze({
1006
+ 0: "None",
1007
+ 1: "Right",
1008
+ 2: "Left",
1009
+ 3: "Both",
1010
+ });
1011
+ export const FLANGER_EFFECT_TYPE_VALUES = Object.freeze({
1012
+ 0: "DIGITAL MONO",
1013
+ 1: "DIGITAL STEREO",
1014
+ 2: "ANALOG MONO",
1015
+ 3: "ANALOG STEREO",
1016
+ 4: "THRU-ZERO",
1017
+ 5: "STEREO JET",
1018
+ 6: "ZERO FLANGER",
1019
+ 7: "POP FLANGER",
1020
+ });
1021
+ export const FLANGER_LFO_TYPE_VALUES = Object.freeze({
1022
+ 0: "SINE",
1023
+ 1: "TRIANGLE",
1024
+ 2: "SQUARE",
1025
+ 3: "SAW UP",
1026
+ 4: "SAW DOWN",
1027
+ 5: "RANDOM",
1028
+ 6: "LOG",
1029
+ 7: "EXP",
1030
+ 8: "TRAPEZOID",
1031
+ });
1032
+ export const FLANGER_AUTO_DEPTH_VALUES = Object.freeze({
1033
+ 0: "OFF",
1034
+ 1: "LOW",
1035
+ 2: "MED",
1036
+ 3: "HIGH",
1037
+ });
1038
+ export const FLANGER_BYPASS_MODE_VALUES = Object.freeze({
1039
+ 0: "THRU",
1040
+ 1: "MUTE FX OUT",
1041
+ 2: "MUTE OUT",
1042
+ });
1043
+ export const FLANGER_PHASE_REVERSE_VALUES = Object.freeze({
1044
+ 0: "None",
1045
+ 1: "Right",
1046
+ 2: "Left",
1047
+ 3: "Both",
1048
+ });
1049
+ export const FORMANT_START_VALUES = Object.freeze({
1050
+ 0: "AAA",
1051
+ 1: "EEE",
1052
+ 2: "III",
1053
+ 3: "OHH",
1054
+ 4: "OOO",
1055
+ 5: "EHH",
1056
+ 6: "AHH",
1057
+ 7: "AWW",
1058
+ 8: "UHH",
1059
+ 9: "ERR",
1060
+ });
1061
+ export const FORMANT_MID_VALUES = Object.freeze({
1062
+ 0: "AAA",
1063
+ 1: "EEE",
1064
+ 2: "III",
1065
+ 3: "OHH",
1066
+ 4: "OOO",
1067
+ 5: "EHH",
1068
+ 6: "AHH",
1069
+ 7: "AWW",
1070
+ 8: "UHH",
1071
+ 9: "ERR",
1072
+ });
1073
+ export const FORMANT_END_VALUES = Object.freeze({
1074
+ 0: "AAA",
1075
+ 1: "EEE",
1076
+ 2: "III",
1077
+ 3: "OHH",
1078
+ 4: "OOO",
1079
+ 5: "EHH",
1080
+ 6: "AHH",
1081
+ 7: "AWW",
1082
+ 8: "UHH",
1083
+ 9: "ERR",
1084
+ });
1085
+ export const FORMANT_BYPASS_MODE_VALUES = Object.freeze({
1086
+ 0: "THRU",
1087
+ 1: "MUTE FX OUT",
1088
+ 2: "MUTE OUT",
1089
+ });
1090
+ export const GATEEXPANDER_SIDECHAIN_SELECT_VALUES = Object.freeze({
1091
+ 0: "BLOCK L+R",
1092
+ 1: "ROW 1",
1093
+ 2: "ROW 2",
1094
+ 3: "ROW 3",
1095
+ 4: "ROW 4",
1096
+ 5: "INPUT 1",
1097
+ 6: "INPUT 2",
1098
+ });
1099
+ export const GATEEXPANDER_BYPASS_MODE_VALUES = Object.freeze({
1100
+ 0: "THRU",
1101
+ 1: "MUTE",
1102
+ });
1103
+ export const GRAPHICEQ_BYPASS_MODE_VALUES = Object.freeze({
1104
+ 0: "THRU",
1105
+ 1: "MUTE",
1106
+ });
1107
+ export const GRAPHICEQ_EFFECT_TYPE_VALUES = Object.freeze({
1108
+ 0: "10 BAND CONST Q",
1109
+ 1: "8 BAND CONST Q",
1110
+ 2: "7 BAND CONST Q",
1111
+ 3: "5 BAND CONST Q",
1112
+ 4: "10 BAND VAR Q",
1113
+ 5: "8 BAND VAR Q",
1114
+ 6: "7 BAND VAR Q",
1115
+ 7: "5 BAND VAR Q",
1116
+ 8: "5 BAND PASSIVE",
1117
+ 9: "4 BAND PASSIVE",
1118
+ 10: "3 BAND PASSIVE",
1119
+ 11: "3 BAND CONSOLE",
1120
+ });
1121
+ export const INPUT_INPUT_Z_VALUES = Object.freeze({
1122
+ 0: "AUTO:",
1123
+ 1: "1M",
1124
+ 2: "1M+CAP",
1125
+ 3: "230K",
1126
+ 4: "230K+CAP",
1127
+ 5: "90K",
1128
+ 6: "90K+CAP",
1129
+ 7: "70K",
1130
+ 8: "70K+CAP",
1131
+ 9: "32K",
1132
+ 10: "32K+CAP",
1133
+ 11: "22K",
1134
+ 12: "22K+CAP",
1135
+ });
1136
+ export const INPUT_EFFECT_TYPE_VALUES = Object.freeze({
1137
+ 0: "CLASSIC",
1138
+ 1: "INTELLIGENT",
1139
+ });
1140
+ export const LOOPER_BYPASS_MODE_VALUES = Object.freeze({
1141
+ 0: "THRU",
1142
+ 1: "MUTE FX OUT",
1143
+ 2: "MUTE OUT",
1144
+ });
1145
+ export const LOOPER_MODE_VALUES = Object.freeze({
1146
+ 0: "MONO",
1147
+ 1: "STEREO",
1148
+ 2: "MONO UNDO",
1149
+ 3: "STEREO UNDO",
1150
+ });
1151
+ export const LOOPER_QUANTIZE_VALUES = Object.freeze({
1152
+ 0: "OFF",
1153
+ 1: "QUARTER",
1154
+ 2: "EIGTH",
1155
+ 3: "SIXTEENTH",
1156
+ });
1157
+ export const MIXER_OUT_MODE_VALUES = Object.freeze({
1158
+ 0: "STEREO",
1159
+ 1: "MONO",
1160
+ });
1161
+ export const MULTIBANDCOMP_DETECT_1_VALUES = Object.freeze({
1162
+ 0: "RMS",
1163
+ 1: "PEAK",
1164
+ 2: "FAST RMS",
1165
+ });
1166
+ export const MULTIBANDCOMP_DETECT_2_VALUES = Object.freeze({
1167
+ 0: "RMS",
1168
+ 1: "PEAK",
1169
+ 2: "FAST RMS",
1170
+ });
1171
+ export const MULTIBANDCOMP_DETECT_3_VALUES = Object.freeze({
1172
+ 0: "RMS",
1173
+ 1: "PEAK",
1174
+ 2: "FAST RMS",
1175
+ });
1176
+ export const MULTIBANDCOMP_BYPASS_MODE_VALUES = Object.freeze({
1177
+ 0: "THRU",
1178
+ 1: "MUTE",
1179
+ });
1180
+ export const MULTIDELAY_BYPASS_MODE_VALUES = Object.freeze({
1181
+ 0: "THRU",
1182
+ 1: "MUTE FX OUT",
1183
+ 2: "MUTE OUT",
1184
+ 3: "MUTE FX IN",
1185
+ 4: "MUTE IN",
1186
+ });
1187
+ export const MULTIDELAY_EFFECT_TYPE_VALUES = Object.freeze({
1188
+ 0: "QUAD-TAP",
1189
+ 1: "PLEX DELAY",
1190
+ 2: "PLEX DETUNE",
1191
+ 3: "PLEX SHIFT",
1192
+ 4: "BAND DELAY",
1193
+ 5: "QUAD-SERIES",
1194
+ 6: "TEN-TAP DLY",
1195
+ 7: "RHYTHM TAP",
1196
+ 8: "DIFFUSOR",
1197
+ 9: "QUAD TAPE DLY",
1198
+ });
1199
+ export const MULTIDELAY_DIRECTION_VALUES = Object.freeze({
1200
+ 0: "FORWARD",
1201
+ 1: "REVERSE",
1202
+ });
1203
+ export const MULTIDELAY_FB_SEND_VALUES = Object.freeze({
1204
+ 0: "1",
1205
+ 1: "2",
1206
+ 2: "3",
1207
+ 3: "4",
1208
+ });
1209
+ export const MULTIDELAY_FB_RETURN_VALUES = Object.freeze({
1210
+ 0: "1",
1211
+ 1: "2",
1212
+ 2: "3",
1213
+ 3: "4",
1214
+ });
1215
+ export const MULTIDELAY_MONO_STEREO_VALUES = Object.freeze({
1216
+ 0: "MONO",
1217
+ 1: "STEREO",
1218
+ });
1219
+ export const MULTIDELAY_PAN_SHAPE_VALUES = Object.freeze({
1220
+ 0: "CONSTANT",
1221
+ 1: "INCREASING",
1222
+ 2: "DECREASING",
1223
+ 3: "UP / DOWN",
1224
+ 4: "DOWN / UP",
1225
+ 5: "SINE",
1226
+ });
1227
+ export const OUTPUT_BYPASS_MODE_VALUES = Object.freeze({
1228
+ 0: "THRU",
1229
+ 1: "MUTE",
1230
+ });
1231
+ export const PANTREM_EFFECT_TYPE_VALUES = Object.freeze({
1232
+ 0: "TREMOLO",
1233
+ 1: "PanNER",
1234
+ });
1235
+ export const PANTREM_LFO_TYPE_VALUES = Object.freeze({
1236
+ 0: "SINE",
1237
+ 1: "TRIANGLE",
1238
+ 2: "SQUARE",
1239
+ 3: "SAW UP",
1240
+ 4: "SAW DOWN",
1241
+ 5: "RANDOM",
1242
+ 6: "LOG",
1243
+ 7: "EXP",
1244
+ 8: "TRAPEZOID",
1245
+ });
1246
+ export const PANTREM_BYPASS_MODE_VALUES = Object.freeze({
1247
+ 0: "THRU",
1248
+ 1: "MUTE",
1249
+ });
1250
+ export const PARAMETRICEQ_FREQ_TYPE_1_VALUES = Object.freeze({
1251
+ 0: "SHELVING",
1252
+ 1: "PEAKING",
1253
+ 2: "BLOCKING",
1254
+ 3: "SHELVING2",
1255
+ });
1256
+ export const PARAMETRICEQ_FREQ_TYPE_5_VALUES = Object.freeze({
1257
+ 0: "SHELVING",
1258
+ 1: "PEAKING",
1259
+ 2: "BLOCKING",
1260
+ 3: "SHELVING2",
1261
+ });
1262
+ export const PARAMETRICEQ_FREQ_TYPE_2_VALUES = Object.freeze({
1263
+ 0: "PEAKING",
1264
+ 1: "SHELVING",
1265
+ 2: "SHELVING2",
1266
+ });
1267
+ export const PARAMETRICEQ_FREQ_TYPE_4_VALUES = Object.freeze({
1268
+ 0: "PEAKING",
1269
+ 1: "SHELVING",
1270
+ 2: "SHELVING2",
1271
+ });
1272
+ export const PARAMETRICEQ_BYPASS_MODE_VALUES = Object.freeze({
1273
+ 0: "THRU",
1274
+ 1: "MUTE",
1275
+ });
1276
+ export const PHASER_EFFECT_TYPE_VALUES = Object.freeze({
1277
+ 0: "DIGITAL MONO",
1278
+ 1: "DIGITAL STEREO",
1279
+ 2: "SCRIPT 45",
1280
+ 3: "SCRIPT 90",
1281
+ 4: "BLOCK 90",
1282
+ 5: "CLASSIC VIBE",
1283
+ 6: "STEREO 8-STAGE",
1284
+ 7: "BARBERPOLE",
1285
+ });
1286
+ export const PHASER_ORDER_VALUES = Object.freeze({
1287
+ 0: "2",
1288
+ 1: "4",
1289
+ 2: "6",
1290
+ 3: "8",
1291
+ 4: "10",
1292
+ 5: "12",
1293
+ });
1294
+ export const PHASER_LFO_TYPE_VALUES = Object.freeze({
1295
+ 0: "SINE",
1296
+ 1: "TRIANGLE",
1297
+ 2: "SQUARE",
1298
+ 3: "SAW UP",
1299
+ 4: "SAW DOWN",
1300
+ 5: "RANDOM",
1301
+ 6: "LOG",
1302
+ 7: "EXP",
1303
+ 8: "TRAPEZOID",
1304
+ });
1305
+ export const PHASER_BYPASS_MODE_VALUES = Object.freeze({
1306
+ 0: "THRU",
1307
+ 1: "MUTE FX OUT",
1308
+ 2: "MUTE OUT",
1309
+ });
1310
+ export const PHASER_MODE_VALUES = Object.freeze({
1311
+ 0: "NORMAL",
1312
+ 1: "VIBE",
1313
+ 2: "BARBERPOLE",
1314
+ });
1315
+ export const PHASER_DIRECTION_VALUES = Object.freeze({
1316
+ 0: "UP",
1317
+ 1: "DOWN",
1318
+ });
1319
+ export const PHASER_LFO_BYPASS_RESET_VALUES = Object.freeze({
1320
+ 0: "OFF",
1321
+ 1: "0 DEG",
1322
+ 2: "90 DEG",
1323
+ 3: "180 DEG",
1324
+ 4: "270 DEG",
1325
+ });
1326
+ export const PITCH_EFFECT_TYPE_VALUES = Object.freeze({
1327
+ 0: "DETUNE",
1328
+ 1: "FIXED HARM",
1329
+ 2: "INTEL HARM",
1330
+ 3: "CL. WHAMMY",
1331
+ 4: "OCTAVE DIV",
1332
+ 5: "CRYSTALS",
1333
+ 6: "AD. WHAMMY",
1334
+ 7: "ARPEGGIATOR",
1335
+ 8: "CUST. SHIFT",
1336
+ });
1337
+ export const PITCH_MODE_VALUES = Object.freeze({
1338
+ 5: "UP|DN 2 OCT",
1339
+ });
1340
+ export const PITCH_KEY_VALUES = Object.freeze({
1341
+ 0: "A",
1342
+ 1: "Bb",
1343
+ 2: "B",
1344
+ 3: "C",
1345
+ 4: "Db",
1346
+ 5: "D",
1347
+ 6: "Eb",
1348
+ 7: "E",
1349
+ 8: "F",
1350
+ 9: "Gb",
1351
+ 10: "G",
1352
+ 11: "Ab",
1353
+ });
1354
+ export const PITCH_SCALE_VALUES = Object.freeze({
1355
+ 0: "IONIAN MAJ",
1356
+ 1: "DORIAN",
1357
+ 2: "PHRYGIAN",
1358
+ 3: "LYDIAN",
1359
+ 4: "MIXOLYDIAN",
1360
+ 5: "AEOLIAN MIN",
1361
+ 6: "LOCRIAN",
1362
+ 7: "MEL. MINOR",
1363
+ 8: "HARM. MINOR",
1364
+ 9: "DIMINISHED",
1365
+ 10: "WHOLE TONE",
1366
+ 11: "DOM. SEVEN",
1367
+ 12: "DIM. WHOLE",
1368
+ 13: "PENTA. MAJ",
1369
+ 14: "PENTA. MIN",
1370
+ 15: "BLUES",
1371
+ 16: "CHROMATIC",
1372
+ 17: "CUSTOM",
1373
+ });
1374
+ export const PITCH_TRACK_MODE_VALUES = Object.freeze({
1375
+ 0: "SMOOTH",
1376
+ 1: "STEPPED",
1377
+ });
1378
+ export const PITCH_PITCH_TRACK_VALUES = Object.freeze({
1379
+ 0: "OFF",
1380
+ 1: "POLY",
1381
+ 2: "MONO",
1382
+ });
1383
+ export const PITCH_BYPASS_MODE_VALUES = Object.freeze({
1384
+ 0: "THRU",
1385
+ 1: "MUTE FX OUT",
1386
+ 2: "MUTE OUT",
1387
+ 3: "MUTE FX IN",
1388
+ 4: "MUTE IN",
1389
+ });
1390
+ export const PITCH_FEEDBACK_TYPE_VALUES = Object.freeze({
1391
+ 0: "DUAL",
1392
+ 1: "Both",
1393
+ 2: "PING-PONG",
1394
+ });
1395
+ export const PITCH_NOTES_VALUES = Object.freeze({
1396
+ 4: "4",
1397
+ 5: "5",
1398
+ 6: "6",
1399
+ 7: "7",
1400
+ 8: "8",
1401
+ });
1402
+ export const PITCH_REPEATS_VALUES = Object.freeze({
1403
+ 1: "1",
1404
+ 2: "2",
1405
+ 3: "3",
1406
+ 4: "4",
1407
+ 5: "5",
1408
+ 6: "6",
1409
+ 7: "7",
1410
+ 8: "8",
1411
+ 9: "9",
1412
+ 10: "10",
1413
+ 11: "11",
1414
+ 12: "12",
1415
+ 13: "13",
1416
+ 14: "14",
1417
+ 15: "15",
1418
+ 16: "16",
1419
+ 17: "17",
1420
+ 18: "18",
1421
+ 19: "19",
1422
+ 20: "20",
1423
+ 21: "21",
1424
+ 22: "22",
1425
+ 23: "23",
1426
+ 24: "24",
1427
+ 25: "25",
1428
+ 26: "26",
1429
+ 27: "27",
1430
+ 28: "28",
1431
+ 29: "29",
1432
+ 30: "30",
1433
+ 31: "Infinite",
1434
+ });
1435
+ export const PITCH_AMPLITUBE_SHAPE_VALUES = Object.freeze({
1436
+ 0: "CONSTANT",
1437
+ 1: "INCREASING",
1438
+ 2: "DECREASING",
1439
+ 3: "UP / DOWN",
1440
+ 4: "DOWN / UP",
1441
+ 5: "SINE",
1442
+ });
1443
+ export const PITCH_PAN_SHAPE_VALUES = Object.freeze({
1444
+ 0: "CONSTANT",
1445
+ 1: "INCREASING",
1446
+ 2: "DECREASING",
1447
+ 3: "UP / DOWN",
1448
+ 4: "DOWN / UP",
1449
+ 5: "SINE",
1450
+ });
1451
+ export const PITCH_PITCH_SOURCE_VALUES = Object.freeze({
1452
+ 0: "GLOBAL",
1453
+ 1: "LOCAL",
1454
+ });
1455
+ export const PITCH_INPUT_MODE_VALUES = Object.freeze({
1456
+ 0: "MONO",
1457
+ 1: "STEREO",
1458
+ });
1459
+ export const REVERB_EFFECT_TYPE_VALUES = Object.freeze({
1460
+ 0: "SMALL ROOM",
1461
+ 1: "MEDIUM ROOM",
1462
+ 2: "LARGE ROOM",
1463
+ 3: "SMALL HALL",
1464
+ 4: "MEDIUM HALL",
1465
+ 5: "LARGE HALL",
1466
+ 6: "SMALL CHAMBER",
1467
+ 7: "MEDIUM CHAMBER",
1468
+ 8: "LARGE CHAMBER",
1469
+ 9: "SMALL PLATE",
1470
+ 10: "MEDIUM PLATE",
1471
+ 11: "LARGE PLATE",
1472
+ 12: "SMALL CATHEDRAL",
1473
+ 13: "MED. CATHEDRAL",
1474
+ 14: "LARGE CATHEDRAL",
1475
+ 15: "SMALL SPRING",
1476
+ 16: "MEDIUM SPRING",
1477
+ 17: "LARGE SPRING",
1478
+ 18: "CAVERN",
1479
+ 19: "STONE QUARRY",
1480
+ 20: "STUDIO",
1481
+ 21: "AMBIENCE",
1482
+ 22: "CONCERT HALL",
1483
+ 23: "LARGE DEEP HALL",
1484
+ 24: "REC STUDIO C",
1485
+ 25: "NORTH CHURCH",
1486
+ 26: "SOUTH CHURCH",
1487
+ 27: "LONDON PLATE",
1488
+ 28: "SUN PLATE",
1489
+ 29: "HUGE ROOM",
1490
+ 30: "DRUM ROOM",
1491
+ 31: "HALLWAY",
1492
+ 32: "TUNNEL",
1493
+ 33: "DEEP CHAMBER",
1494
+ 34: "LG WOODEN ROOM",
1495
+ 35: "GYMNASIUM",
1496
+ 36: "ASYLUM HALL",
1497
+ 37: "DEEP SPACE",
1498
+ 38: "REC STUDIO A",
1499
+ 39: "LG TILED ROOM",
1500
+ 40: "VOCAL PLATE",
1501
+ 41: "WIDE HALL",
1502
+ 42: "RICH HALL",
1503
+ });
1504
+ export const REVERB_BYPASS_MODE_VALUES = Object.freeze({
1505
+ 0: "THRU",
1506
+ 1: "MUTE FX OUT",
1507
+ 2: "MUTE OUT",
1508
+ 3: "MUTE FX IN",
1509
+ 4: "MUTE IN",
1510
+ });
1511
+ export const REVERB_QUALITY_VALUES = Object.freeze({
1512
+ 0: "NORMAL",
1513
+ 1: "HIGH",
1514
+ });
1515
+ export const RINGMOD_BYPASS_MODE_VALUES = Object.freeze({
1516
+ 0: "THRU",
1517
+ 1: "MUTE FX OUT",
1518
+ 2: "MUTE OUT",
1519
+ });
1520
+ export const ROTARY_BYPASS_MODE_VALUES = Object.freeze({
1521
+ 0: "THRU",
1522
+ 1: "MUTE FX OUT",
1523
+ 2: "MUTE OUT",
1524
+ });
1525
+ export const SYNTH_TYPE_1_VALUES = Object.freeze({
1526
+ 0: "SINE",
1527
+ 1: "TRIANGLE",
1528
+ 2: "SQUARE",
1529
+ 3: "SAWTOOTH",
1530
+ 4: "RANDOM",
1531
+ 5: "WHT NOISE",
1532
+ 6: "PINK NOISE",
1533
+ 7: "OFF",
1534
+ });
1535
+ export const SYNTH_TRACK_1_VALUES = Object.freeze({
1536
+ 0: "OFF",
1537
+ 1: "ENV ONLY",
1538
+ 2: "PITCH+ENV",
1539
+ 3: "QUANTIZE",
1540
+ });
1541
+ export const SYNTH_TYPE_2_VALUES = Object.freeze({
1542
+ 0: "SINE",
1543
+ 1: "TRIANGLE",
1544
+ 2: "SQUARE",
1545
+ 3: "SAWTOOTH",
1546
+ 4: "RANDOM",
1547
+ 5: "WHT NOISE",
1548
+ 6: "PINK NOISE",
1549
+ 7: "OFF",
1550
+ });
1551
+ export const SYNTH_TRACK_2_VALUES = Object.freeze({
1552
+ 0: "OFF",
1553
+ 1: "ENV ONLY",
1554
+ 2: "PITCH+ENV",
1555
+ 3: "QUANTIZE",
1556
+ });
1557
+ export const SYNTH_BYPASS_MODE_VALUES = Object.freeze({
1558
+ 0: "THRU",
1559
+ 1: "MUTE FX OUT",
1560
+ 2: "MUTE OUT",
1561
+ });
1562
+ export const SYNTH_TYPE_3_VALUES = Object.freeze({
1563
+ 0: "SINE",
1564
+ 1: "TRIANGLE",
1565
+ 2: "SQUARE",
1566
+ 3: "SAWTOOTH",
1567
+ 4: "RANDOM",
1568
+ 5: "WHT NOISE",
1569
+ 6: "PINK NOISE",
1570
+ 7: "OFF",
1571
+ });
1572
+ export const SYNTH_TRACK_3_VALUES = Object.freeze({
1573
+ 0: "OFF",
1574
+ 1: "ENV ONLY",
1575
+ 2: "PITCH+ENV",
1576
+ 3: "QUANTIZE",
1577
+ });
1578
+ export const VOLPAN_VOLUME_TAPER_VALUES = Object.freeze({
1579
+ 0: "LINEAR",
1580
+ 1: "LOG 30A",
1581
+ 2: "LOG 20A",
1582
+ 3: "LOG 15A",
1583
+ 4: "LOG 10A",
1584
+ 5: "LOG 5A",
1585
+ });
1586
+ export const VOLPAN_BYPASS_MODE_VALUES = Object.freeze({
1587
+ 0: "THRU",
1588
+ 1: "MUTE",
1589
+ });
1590
+ export const VOLPAN_INPUT_SELECT_VALUES = Object.freeze({
1591
+ 0: "STEREO",
1592
+ 1: "Left ONLY",
1593
+ 2: "Right ONLY",
1594
+ });
1595
+ export const WAH_EFFECT_TYPE_VALUES = Object.freeze({
1596
+ 0: "FAS STANDARD",
1597
+ 1: "CLYDE",
1598
+ 2: "CRY BABE",
1599
+ 3: "VX846",
1600
+ 4: "COLOR-TONE",
1601
+ 5: "FUNK",
1602
+ 6: "MORTAL",
1603
+ 7: "VX845",
1604
+ });
1605
+ export const WAH_BYPASS_MODE_VALUES = Object.freeze({
1606
+ 0: "THRU",
1607
+ 1: "MUTE",
1608
+ });
1609
+ export const WAH_TAPER_VALUES = Object.freeze({
1610
+ 0: "LINEAR",
1611
+ 1: "LOG 30A",
1612
+ 2: "LOG 20A",
1613
+ 3: "LOG 15A",
1614
+ 4: "LOG 10A",
1615
+ 5: "LOG 5A",
1616
+ });
1617
+ export const KNOWN_PARAMS = {
1618
+ "amp.effect_type": { groupCode: "AMP", block: "amp", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: AMP_EFFECT_TYPE_VALUES },
1619
+ // HW-079 calibration (2026-05-11): hardware sweep on Q8.02 confirmed
1620
+ // wire 0..65534 ↔ display 0.00..10.00 linear for these 5 amp params,
1621
+ // with quarter-scale anchors landing exactly at 2.50/5.00/7.50/10.00.
1622
+ // Conversion: display = wire / 65534 * 10. NOT regenerated from
1623
+ // wiki/XML — the wiki doesn't document display ranges for these.
1624
+ // If you regen this file via `scripts/extract-axe-fx-ii-params.ts`
1625
+ // and these displayMin/displayMax fields disappear, re-apply from
1626
+ // this commit. See `docs/_private/HARDWARE-TASKS-AXEFX2.md` HW-079.
1627
+ "amp.input_drive": { groupCode: "AMP", block: "amp", paramId: 1, wikiName: "INPUT DRIVE", name: "input_drive", controlType: "knob", parameterName: "DISTORT_DRIVE", xmlLabel: "Input Drive", modifierAssignable: true, gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5", displayMin: 0, displayMax: 10 },
1628
+ "amp.bass": { groupCode: "AMP", block: "amp", paramId: 2, wikiName: "BASS", name: "bass", controlType: "knob", parameterName: "DISTORT_BASS", xmlLabel: "Bass", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5", displayMin: 0, displayMax: 10 },
1629
+ "amp.middle": { groupCode: "AMP", block: "amp", paramId: 3, wikiName: "MIDDLE", name: "middle", controlType: "knob", displayMin: 0, displayMax: 10 },
1630
+ "amp.treble": { groupCode: "AMP", block: "amp", paramId: 4, wikiName: "TREBLE", name: "treble", controlType: "knob", displayMin: 0, displayMax: 10 },
1631
+ "amp.master_volume": { groupCode: "AMP", block: "amp", paramId: 5, wikiName: "MASTER VOLUME", name: "master_volume", controlType: "knob", parameterName: "DISTORT_MASTER", xmlLabel: "Master Volume", modifierAssignable: true, gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5", displayMin: 0, displayMax: 10 },
1632
+ // HW-092 calibration (2026-05-11): 10..1000 Hz log10 over 2 decades.
1633
+ "amp.preamp_low_cut": { groupCode: "AMP", block: "amp", paramId: 6, wikiName: "PREAMP LOW CUT", name: "preamp_low_cut", controlType: "knob", displayMin: 10, displayMax: 1000, displayScale: 'log10' },
1634
+ // HW-092 calibration (2026-05-11): 400..40000 Hz log10 over 2 decades.
1635
+ "amp.high_cut_freq": { groupCode: "AMP", block: "amp", paramId: 7, wikiName: "HIGH CUT FREQ", name: "high_cut_freq", controlType: "knob", displayMin: 400, displayMax: 40000, displayScale: 'log10' },
1636
+ "amp.tone_freq": { groupCode: "AMP", block: "amp", paramId: 8, wikiName: "TONE FREQ", name: "tone_freq", controlType: "knob", parameterName: "DISTORT_TONEFREQ", xmlLabel: "Tone Freq" },
1637
+ "amp.xformer_grind": { groupCode: "AMP", block: "amp", paramId: 9, wikiName: "XFORMER GRIND", name: "xformer_grind", controlType: "knob", parameterName: "DISTORT_XFRMRGRIND", xmlLabel: "XFormer Grind" },
1638
+ "amp.bright_cap": { groupCode: "AMP", block: "amp", paramId: 10, wikiName: "BRight CAP", name: "bright_cap", controlType: "knob", parameterName: "DISTORT_BRIGHTCAP", xmlLabel: "Bright Cap", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1639
+ "amp.xformer_low_freq": { groupCode: "AMP", block: "amp", paramId: 12, wikiName: "XFORMER LOW FREQ", name: "xformer_low_freq", controlType: "knob", parameterName: "DISTORT_XFHPF", xmlLabel: "XFormer Low Freq" },
1640
+ "amp.xformer_hi_freq": { groupCode: "AMP", block: "amp", paramId: 13, wikiName: "XFORMER HI FREQ", name: "xformer_hi_freq", controlType: "knob", parameterName: "DISTORT_XFLPF", xmlLabel: "XFormer Hi Freq" },
1641
+ "amp.tone_location": { groupCode: "AMP", block: "amp", paramId: 14, wikiName: "TONE LOCATION", name: "tone_location", controlType: "select", parameterName: "DISTORT_TONELOC", xmlLabel: "Tone Location", enumValues: AMP_TONE_LOCATION_VALUES },
1642
+ "amp.input_select": { groupCode: "AMP", block: "amp", paramId: 15, wikiName: "INPUT SELECT", name: "input_select", controlType: "select", parameterName: "DISTORT_INPUTSELECT", xmlLabel: "Input Select", enumValues: AMP_INPUT_SELECT_VALUES },
1643
+ // Session 68 calibration: depth + presence are 0..10 knobs on the
1644
+ // amp's front panel (same range as input_drive / bass / middle /
1645
+ // treble / master_volume). Adding the explicit displayMin/Max
1646
+ // unblocks apply_preset_at calls that pass display values like
1647
+ // `presence: 6.5` — previously rejected as "wire out of range".
1648
+ "amp.depth": { groupCode: "AMP", block: "amp", paramId: 16, wikiName: "DEPTH", name: "depth", controlType: "knob", parameterName: "DISTORT_DEPTH", xmlLabel: "Depth", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5", displayMin: 0, displayMax: 10 },
1649
+ "amp.supply_sag": { groupCode: "AMP", block: "amp", paramId: 19, wikiName: "SUPPLY SAG", name: "supply_sag", controlType: "knob", parameterName: "DISTORT_SUPPLYSAG", xmlLabel: "Supply Sag" },
1650
+ "amp.presence": { groupCode: "AMP", block: "amp", paramId: 20, wikiName: "PRESENCE", name: "presence", controlType: "knob", parameterName: "DISTORT_PRESENCE", xmlLabel: "Presence", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5", displayMin: 0, displayMax: 10 },
1651
+ "amp.level": { groupCode: "AMP", block: "amp", paramId: 21, wikiName: "Level", name: "level", controlType: "knob", parameterName: "DISTORT_LEVEL", xmlLabel: "Level" },
1652
+ // HW-089 calibration (2026-05-11): wire 0..65534 ↔ -100..+100 bipolar linear (wire 32767 = 0.0).
1653
+ "amp.balance": { groupCode: "AMP", block: "amp", paramId: 22, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "DISTORT_PAN", xmlLabel: "Balance", modifierAssignable: true, displayMin: -100, displayMax: 100 },
1654
+ "amp.bypass_mode": { groupCode: "AMP", block: "amp", paramId: 23, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "DISTORT_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: AMP_BYPASS_MODE_VALUES, modifierAssignable: true },
1655
+ "amp.neg_feedback": { groupCode: "AMP", block: "amp", paramId: 24, wikiName: "NEG FEEDBACK", name: "neg_feedback", controlType: "knob" },
1656
+ "amp.presence_freq": { groupCode: "AMP", block: "amp", paramId: 25, wikiName: "PRESENCE FREQ", name: "presence_freq", controlType: "knob", parameterName: "DISTORT_PRESFREQ", xmlLabel: "Presence Freq" },
1657
+ "amp.low_res_freq": { groupCode: "AMP", block: "amp", paramId: 26, wikiName: "LOW RES FREQ", name: "low_res_freq", controlType: "knob", parameterName: "DISTORT_SPKRLFREQ", xmlLabel: "Low Res Freq" },
1658
+ "amp.low_res": { groupCode: "AMP", block: "amp", paramId: 27, wikiName: "LOW RES", name: "low_res", controlType: "knob" },
1659
+ "amp.depth_freq": { groupCode: "AMP", block: "amp", paramId: 29, wikiName: "DEPTH FREQ", name: "depth_freq", controlType: "knob", parameterName: "DISTORT_DEPTHFREQ", xmlLabel: "Depth Freq" },
1660
+ "amp.mv_cap": { groupCode: "AMP", block: "amp", paramId: 31, wikiName: "MV CAP", name: "mv_cap", controlType: "knob", parameterName: "DISTORT_MVCAP", xmlLabel: "MV Cap" },
1661
+ "amp.harmonics": { groupCode: "AMP", block: "amp", paramId: 33, wikiName: "HARMONICS", name: "harmonics", controlType: "knob", parameterName: "DISTORT_CFCLIP", xmlLabel: "Harmonics" },
1662
+ "amp.tone_stack": { groupCode: "AMP", block: "amp", paramId: 34, wikiName: "TONE STACK", name: "tone_stack", controlType: "select", enumValues: AMP_TONE_STACK_VALUES },
1663
+ "amp.b_time_const": { groupCode: "AMP", block: "amp", paramId: 35, wikiName: "B+ TIME CONST", name: "b_time_const", controlType: "knob" },
1664
+ "amp.tube_grid_bias": { groupCode: "AMP", block: "amp", paramId: 36, wikiName: "TUBE GRID BIAS", name: "tube_grid_bias", controlType: "knob" },
1665
+ "amp.bright_switch": { groupCode: "AMP", block: "amp", paramId: 39, wikiName: "BRight SWITCH", name: "bright_switch", controlType: "switch", parameterName: "DISTORT_BRIGHT", xmlLabel: "Bright Switch", modifierAssignable: true, gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1666
+ "amp.boost": { groupCode: "AMP", block: "amp", paramId: 40, wikiName: "BOOST", name: "boost", controlType: "switch", parameterName: "DISTORT_BOOST", xmlLabel: "Boost", modifierAssignable: true, gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1667
+ "amp.low_res_q": { groupCode: "AMP", block: "amp", paramId: 41, wikiName: "LOW RES Q", name: "low_res_q", controlType: "knob", parameterName: "DISTORT_SPKRLFQ", xmlLabel: "Low Res Q" },
1668
+ "amp.preamp_bias": { groupCode: "AMP", block: "amp", paramId: 42, wikiName: "PREAMP BIAS", name: "preamp_bias", controlType: "knob", parameterName: "DISTORT_OFFSET2", xmlLabel: "Preamp Bias" },
1669
+ "amp.hi_freq": { groupCode: "AMP", block: "amp", paramId: 43, wikiName: "HI FREQ", name: "hi_freq", controlType: "knob", parameterName: "DISTORT_SPKRHFREQ", xmlLabel: "Hi Freq" },
1670
+ "amp.hi_resonance": { groupCode: "AMP", block: "amp", paramId: 44, wikiName: "HI RESONANCE", name: "hi_resonance", controlType: "knob", parameterName: "DISTORT_SPKRHFGAIN", xmlLabel: "Hi Resonance" },
1671
+ "amp.cut": { groupCode: "AMP", block: "amp", paramId: 45, wikiName: "CUT", name: "cut", controlType: "switch", parameterName: "DISTORT_CUT", xmlLabel: "Cut", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1672
+ "amp.xformer_drive": { groupCode: "AMP", block: "amp", paramId: 46, wikiName: "XFORMER DRIVE", name: "xformer_drive", controlType: "knob", parameterName: "DISTORT_XDRIVE", xmlLabel: "XFormer Drive" },
1673
+ "amp.input_trim": { groupCode: "AMP", block: "amp", paramId: 47, wikiName: "INPUT TRIM", name: "input_trim", controlType: "knob", parameterName: "DISTORT_TRIM", xmlLabel: "Input Trim", modifierAssignable: true, gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1674
+ "amp.preamp_hardness": { groupCode: "AMP", block: "amp", paramId: 48, wikiName: "PREAMP HARDNESS", name: "preamp_hardness", controlType: "knob", parameterName: "DISTORT_HARDNESS2", xmlLabel: "Preamp Hardness" },
1675
+ "amp.mv_location": { groupCode: "AMP", block: "amp", paramId: 49, wikiName: "MV LOCATION", name: "mv_location", controlType: "select", parameterName: "DISTORT_MVPOSITION", xmlLabel: "MV Location", enumValues: AMP_MV_LOCATION_VALUES },
1676
+ "amp.speaker_drive": { groupCode: "AMP", block: "amp", paramId: 50, wikiName: "SPEAKER DRIVE", name: "speaker_drive", controlType: "knob", parameterName: "DISTORT_SPKRDRIVE", xmlLabel: "Speaker\nDrive" },
1677
+ "amp.xformer_match": { groupCode: "AMP", block: "amp", paramId: 51, wikiName: "XFORMER MATCH", name: "xformer_match", controlType: "knob", parameterName: "DISTORT_GAINDIST", xmlLabel: "XFormer Match" },
1678
+ "amp.sat_switch": { groupCode: "AMP", block: "amp", paramId: 54, wikiName: "SAT SWITCH", name: "sat_switch", controlType: "select", enumValues: AMP_SAT_SWITCH_VALUES },
1679
+ "amp.geq_band_1": { groupCode: "AMP", block: "amp", paramId: 55, wikiName: "GEQ BAND 1", name: "geq_band_1", controlType: "unknown" },
1680
+ "amp.geq_band_2": { groupCode: "AMP", block: "amp", paramId: 56, wikiName: "GEQ BAND 2", name: "geq_band_2", controlType: "unknown" },
1681
+ "amp.geq_band_3": { groupCode: "AMP", block: "amp", paramId: 57, wikiName: "GEQ BAND 3", name: "geq_band_3", controlType: "unknown" },
1682
+ "amp.geq_band_4": { groupCode: "AMP", block: "amp", paramId: 58, wikiName: "GEQ BAND 4", name: "geq_band_4", controlType: "unknown" },
1683
+ "amp.geq_band_5": { groupCode: "AMP", block: "amp", paramId: 59, wikiName: "GEQ BAND 5", name: "geq_band_5", controlType: "unknown" },
1684
+ "amp.geq_band_6": { groupCode: "AMP", block: "amp", paramId: 60, wikiName: "GEQ BAND 6", name: "geq_band_6", controlType: "unknown" },
1685
+ "amp.geq_band_7": { groupCode: "AMP", block: "amp", paramId: 61, wikiName: "GEQ BAND 7", name: "geq_band_7", controlType: "unknown" },
1686
+ "amp.geq_band_8": { groupCode: "AMP", block: "amp", paramId: 62, wikiName: "GEQ BAND 8", name: "geq_band_8", controlType: "unknown" },
1687
+ "amp.bias_excursion": { groupCode: "AMP", block: "amp", paramId: 63, wikiName: "BIAS EXCURSION", name: "bias_excursion", controlType: "knob", parameterName: "DISTORT_BIASEXCURSION", xmlLabel: "Bias Excursion" },
1688
+ "amp.triode_2_plate_freq": { groupCode: "AMP", block: "amp", paramId: 66, wikiName: "TRIODE 2 PLATE FREQ", name: "triode_2_plate_freq", controlType: "knob", parameterName: "DISTORT_FEEDFWDFREQ2", xmlLabel: "Triode 2 Plate Freq" },
1689
+ "amp.triode_1_plate_freq": { groupCode: "AMP", block: "amp", paramId: 67, wikiName: "TRIODE 1 PLATE FREQ", name: "triode_1_plate_freq", controlType: "knob", parameterName: "DISTORT_FEEDFWDFREQ1", xmlLabel: "Triode 1 Plate Freq" },
1690
+ "amp.pwr_amp_tube": { groupCode: "AMP", block: "amp", paramId: 68, wikiName: "PWR AMP TUBE", name: "pwr_amp_tube", controlType: "select", enumValues: AMP_PWR_AMP_TUBE_VALUES },
1691
+ "amp.preamp_tubes": { groupCode: "AMP", block: "amp", paramId: 69, wikiName: "PREAMP TUBES", name: "preamp_tubes", controlType: "select", enumValues: AMP_PREAMP_TUBES_VALUES },
1692
+ "amp.out_comp_clarity": { groupCode: "AMP", block: "amp", paramId: 70, wikiName: "OUT COMP CLARITY", name: "out_comp_clarity", controlType: "knob", parameterName: "DISTORT_CLARITY", xmlLabel: "Out Comp\nClarity" },
1693
+ "amp.character_q": { groupCode: "AMP", block: "amp", paramId: 71, wikiName: "CHARACTER Q", name: "character_q", controlType: "knob", parameterName: "DISTORT_HMQ", xmlLabel: "Character\nQ" },
1694
+ "amp.character_freq": { groupCode: "AMP", block: "amp", paramId: 72, wikiName: "CHARACTER FREQ", name: "character_freq", controlType: "knob", parameterName: "DISTORT_HMFREQ", xmlLabel: "Character\nFreq" },
1695
+ "amp.character_amt": { groupCode: "AMP", block: "amp", paramId: 73, wikiName: "CHARACTER AMT", name: "character_amt", controlType: "knob", parameterName: "DISTORT_HMRATIO", xmlLabel: "Character\nAmt" },
1696
+ "amp.overdrive": { groupCode: "AMP", block: "amp", paramId: 74, wikiName: "OVERDRIVE", name: "overdrive", controlType: "knob", parameterName: "DISTORT_DRIVE2", xmlLabel: "Overdrive", gateOn: "DISTORT_DRIVETYPE", gateValues: "1" },
1697
+ "amp.out_comp_amount": { groupCode: "AMP", block: "amp", paramId: 75, wikiName: "OUT COMP AMOUNT", name: "out_comp_amount", controlType: "knob", parameterName: "DISTORT_COMPRESSION", xmlLabel: "Out Comp\nAmount", modifierAssignable: true },
1698
+ "amp.out_comp_threshold": { groupCode: "AMP", block: "amp", paramId: 76, wikiName: "OUT COMP THRESHOLD", name: "out_comp_threshold", controlType: "knob", parameterName: "DISTORT_THRESHOLD", xmlLabel: "Out Comp\nThreshold" },
1699
+ "amp.master_trim": { groupCode: "AMP", block: "amp", paramId: 77, wikiName: "MASTER TRIM", name: "master_trim", controlType: "knob", modifierAssignable: true },
1700
+ "amp.fat": { groupCode: "AMP", block: "amp", paramId: 78, wikiName: "FAT", name: "fat", controlType: "switch", parameterName: "DISTORT_FAT", xmlLabel: "Fat", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1701
+ "amp.definition": { groupCode: "AMP", block: "amp", paramId: 79, wikiName: "DEFINITION", name: "definition", controlType: "knob", parameterName: "DISTORT_DEFINITION", xmlLabel: "Definition" },
1702
+ "amp.preamp_cf_compress": { groupCode: "AMP", block: "amp", paramId: 80, wikiName: "PREAMP CF COMPRESS", name: "preamp_cf_compress", controlType: "knob", parameterName: "DISTORT_CFTHRESH", xmlLabel: "Preamp CF\nCompress" },
1703
+ "amp.preamp_cf_time": { groupCode: "AMP", block: "amp", paramId: 81, wikiName: "PREAMP CF TIME", name: "preamp_cf_time", controlType: "knob", parameterName: "DISTORT_CFTIME", xmlLabel: "Preamp CF\nTime" },
1704
+ "amp.dynamic_presence": { groupCode: "AMP", block: "amp", paramId: 84, wikiName: "DYNAMIC PRESENCE", name: "dynamic_presence", controlType: "knob", parameterName: "DISTORT_DYNPRES", xmlLabel: "Dynamic Presence" },
1705
+ "amp.dynamic_depth": { groupCode: "AMP", block: "amp", paramId: 85, wikiName: "DYNAMIC DEPTH", name: "dynamic_depth", controlType: "knob", parameterName: "DISTORT_DYNDEPTH", xmlLabel: "Dynamic Depth" },
1706
+ "amp.power_type": { groupCode: "AMP", block: "amp", paramId: 86, wikiName: "POWER TYPE", name: "power_type", controlType: "select", parameterName: "DISTORT_SUPPLYTYPE", xmlLabel: "Power Type", enumValues: AMP_POWER_TYPE_VALUES },
1707
+ "amp.ac_line_freq": { groupCode: "AMP", block: "amp", paramId: 87, wikiName: "AC LINE FREQ", name: "ac_line_freq", controlType: "knob", parameterName: "DISTORT_LINEFREQ", xmlLabel: "AC Line Freq" },
1708
+ "amp.pwr_amp_hardness": { groupCode: "AMP", block: "amp", paramId: 88, wikiName: "PWR AMP HARDNESS", name: "pwr_amp_hardness", controlType: "knob", parameterName: "DISTORT_PAHARDNESS", xmlLabel: "Pwr Amp Hardness" },
1709
+ "amp.preamp_cf_ratio": { groupCode: "AMP", block: "amp", paramId: 91, wikiName: "PREAMP CF RATIO", name: "preamp_cf_ratio", controlType: "knob", parameterName: "DISTORT_CFRATIO", xmlLabel: "Preamp CF\nRatio" },
1710
+ "amp.eq_type": { groupCode: "AMP", block: "amp", paramId: 92, wikiName: "EQ TYPE", name: "eq_type", controlType: "select", parameterName: "DISTORT_EQTYPE", xmlLabel: "EQ Type", enumValues: AMP_EQ_TYPE_VALUES },
1711
+ "amp.cathode_resist": { groupCode: "AMP", block: "amp", paramId: 93, wikiName: "CATHODE RESIST", name: "cathode_resist", controlType: "knob" },
1712
+ "amp.preamp_sag": { groupCode: "AMP", block: "amp", paramId: 96, wikiName: "PREAMP SAG", name: "preamp_sag", controlType: "switch", parameterName: "DISTORT_PRESAG", xmlLabel: "Preamp Sag" },
1713
+ "amp.bright": { groupCode: "AMP", block: "amp", paramId: 97, wikiName: "BRight", name: "bright", controlType: "knob", parameterName: "DISTORT_HITREBLE", xmlLabel: "Bright", gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1714
+ "amp.pwr_amp_bias": { groupCode: "AMP", block: "amp", paramId: 98, wikiName: "PWR AMP BIAS", name: "pwr_amp_bias", controlType: "knob", parameterName: "DISTORT_PAOFFSET", xmlLabel: "Pwr Amp Bias" },
1715
+ "amp.preamp_dynamics": { groupCode: "AMP", block: "amp", paramId: 99, wikiName: "PREAMP DYNAMICS", name: "preamp_dynamics", controlType: "knob", parameterName: "DISTORT_INDYNAMICS", xmlLabel: "Preamp Dynamics" },
1716
+ "amp.hi_freq_slope": { groupCode: "AMP", block: "amp", paramId: 100, wikiName: "HI FREQ SLOPE", name: "hi_freq_slope", controlType: "knob", parameterName: "DISTORT_SPKRHFQ", xmlLabel: "Hi Freq Slope" },
1717
+ "amp.variac": { groupCode: "AMP", block: "amp", paramId: 101, wikiName: "VARIAC", name: "variac", controlType: "knob", parameterName: "DISTORT_VARIAC", xmlLabel: "Variac" },
1718
+ "amp.char_type": { groupCode: "AMP", block: "amp", paramId: 102, wikiName: "CHAR TYPE", name: "char_type", controlType: "select", enumValues: AMP_CHAR_TYPE_VALUES },
1719
+ "amp.presence_shift": { groupCode: "AMP", block: "amp", paramId: 104, wikiName: "PRESENCE SHIFT", name: "presence_shift", controlType: "switch", parameterName: "DISTORT_PRESSHIFT", xmlLabel: "Presence Shift", gateOn: "DISTORT_TYPE" },
1720
+ "amp.saturation_drive": { groupCode: "AMP", block: "amp", paramId: 105, wikiName: "SATURATION DRIVE", name: "saturation_drive", controlType: "knob", parameterName: "DISTORT_SATDRIVE", xmlLabel: "Saturation Drive", modifierAssignable: true, gateOn: "DISTORT_DRIVETYPE", gateValues: "0,4,5" },
1721
+ "amp.crunch": { groupCode: "AMP", block: "amp", paramId: 106, wikiName: "CRUNCH", name: "crunch", controlType: "knob", parameterName: "DISTORT_TRIODE2RATIO", xmlLabel: "Crunch" },
1722
+ "amp.out_comp_type": { groupCode: "AMP", block: "amp", paramId: 109, wikiName: "OUT COMP TYPE", name: "out_comp_type", controlType: "select", parameterName: "DISTORT_COMPTYPE", xmlLabel: "Out Comp\nType", enumValues: AMP_OUT_COMP_TYPE_VALUES },
1723
+ "amp.eq_location": { groupCode: "AMP", block: "amp", paramId: 110, wikiName: "EQ LOCATION", name: "eq_location", controlType: "select", parameterName: "DISTORT_EQPOSITION", xmlLabel: "EQ Location", enumValues: AMP_EQ_LOCATION_VALUES },
1724
+ "amp.cf_comp_type": { groupCode: "AMP", block: "amp", paramId: 111, wikiName: "CF COMP TYPE", name: "cf_comp_type", controlType: "select", enumValues: AMP_CF_COMP_TYPE_VALUES },
1725
+ "amp.preamp_cf_hardness": { groupCode: "AMP", block: "amp", paramId: 113, wikiName: "PREAMP CF HARDNESS", name: "preamp_cf_hardness", controlType: "knob", parameterName: "DISTORT_CFHARDNESS", xmlLabel: "Preamp CF\nHardness" },
1726
+ "amp.pi_bias_shift": { groupCode: "AMP", block: "amp", paramId: 114, wikiName: "PI BIAS SHIFT", name: "pi_bias_shift", controlType: "knob", parameterName: "DISTORT_PIEXCURSION", xmlLabel: "PI Bias Shift" },
1727
+ "amp.motor_drive": { groupCode: "AMP", block: "amp", paramId: 115, wikiName: "MOTOR DRIVE", name: "motor_drive", controlType: "knob", fwAdded: "Since Quantum 7.02" },
1728
+ "amp.motor_time_const": { groupCode: "AMP", block: "amp", paramId: 116, wikiName: "MOTOR TIME CONST", name: "motor_time_const", controlType: "knob", parameterName: "DISTORT_MDTIME", xmlLabel: "Motor Time Const", fwAdded: "Since Quantum 7.02" },
1729
+ "cab.cab": { groupCode: "CAB", block: "cab", paramId: 0, wikiName: "CAB", name: "cab", controlType: "select", parameterName: "CABINET_TYPEL", xmlLabel: "Cab" },
1730
+ "cab.mic": { groupCode: "CAB", block: "cab", paramId: 1, wikiName: "MIC", name: "mic", controlType: "select", parameterName: "CABINET_MICL", xmlLabel: "Mic", enumValues: CAB_MIC_VALUES },
1731
+ "cab.cab_r": { groupCode: "CAB", block: "cab", paramId: 2, wikiName: "CAB R", name: "cab_r", controlType: "select", parameterName: "CABINET_TYPER", xmlLabel: "Cab R" },
1732
+ "cab.mic_r": { groupCode: "CAB", block: "cab", paramId: 3, wikiName: "MIC R", name: "mic_r", controlType: "select", parameterName: "CABINET_MICR", xmlLabel: "Mic R", enumValues: CAB_MIC_R_VALUES },
1733
+ "cab.link": { groupCode: "CAB", block: "cab", paramId: 4, wikiName: "LINK", name: "link", controlType: "switch", parameterName: "CABINET_LINK", xmlLabel: "Link" },
1734
+ "cab.level_l": { groupCode: "CAB", block: "cab", paramId: 5, wikiName: "Level L", name: "level_l", controlType: "knob", parameterName: "CABINET_LEVELL", xmlLabel: "Level L" },
1735
+ "cab.level_r": { groupCode: "CAB", block: "cab", paramId: 6, wikiName: "Level R", name: "level_r", controlType: "knob", parameterName: "CABINET_LEVELR", xmlLabel: "Level R" },
1736
+ // HW-089 calibration (2026-05-11): wire 0..65534 ↔ -100..+100 bipolar linear.
1737
+ "cab.pan_l": { groupCode: "CAB", block: "cab", paramId: 7, wikiName: "Pan L", name: "pan_l", controlType: "knob", parameterName: "CABINET_PANL", xmlLabel: "Pan L", displayMin: -100, displayMax: 100 },
1738
+ "cab.pan_r": { groupCode: "CAB", block: "cab", paramId: 8, wikiName: "Pan R", name: "pan_r", controlType: "knob", parameterName: "CABINET_PANR", xmlLabel: "Pan R" },
1739
+ // HW-088 calibration (2026-05-11): wire 0..65534 ↔ -80..+20 dB linear.
1740
+ "cab.level": { groupCode: "CAB", block: "cab", paramId: 9, wikiName: "Level", name: "level", controlType: "knob", parameterName: "CABINET_LEVEL", xmlLabel: "Level", modifierAssignable: true, displayMin: -80, displayMax: 20 },
1741
+ "cab.balance": { groupCode: "CAB", block: "cab", paramId: 10, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "CABINET_PAN", xmlLabel: "Balance", modifierAssignable: true },
1742
+ "cab.bypass_mode": { groupCode: "CAB", block: "cab", paramId: 11, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "CABINET_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: CAB_BYPASS_MODE_VALUES, modifierAssignable: true },
1743
+ "cab.effect_type": { groupCode: "CAB", block: "cab", paramId: 12, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: CAB_EFFECT_TYPE_VALUES },
1744
+ "cab.drive": { groupCode: "CAB", block: "cab", paramId: 14, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "CABINET_DRIVE", xmlLabel: "Drive" },
1745
+ "cab.saturation": { groupCode: "CAB", block: "cab", paramId: 15, wikiName: "SATURATION", name: "saturation", controlType: "knob", parameterName: "CABINET_BIAS", xmlLabel: "Saturation" },
1746
+ "cab.room_level": { groupCode: "CAB", block: "cab", paramId: 16, wikiName: "ROOM Level", name: "room_level", controlType: "knob", parameterName: "CABINET_ROOMMIX", xmlLabel: "Room Level" },
1747
+ "cab.room_size": { groupCode: "CAB", block: "cab", paramId: 17, wikiName: "ROOM SIZE", name: "room_size", controlType: "knob", parameterName: "CABINET_ROOMSIZE", xmlLabel: "Room Size" },
1748
+ "cab.mic_spacing": { groupCode: "CAB", block: "cab", paramId: 18, wikiName: "MIC SPACING", name: "mic_spacing", controlType: "knob", parameterName: "CABINET_MICSPACE", xmlLabel: "Mic Spacing" },
1749
+ // HW-090 calibration (2026-05-11): wire 0..65534 ↔ 20..2000 Hz log10
1750
+ // (2 decades). Verified at all 9 anchors against displayHz =
1751
+ // 20 × 100^(wire/65534): wire 32767 → 200 Hz (geometric mean) ✓.
1752
+ "cab.low_cut": { groupCode: "CAB", block: "cab", paramId: 19, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "CABINET_LOCUT", xmlLabel: "Low Cut", displayMin: 20, displayMax: 2000, displayScale: 'log10' },
1753
+ // HW-090 calibration (2026-05-11): wire 0..65534 ↔ 200..20000 Hz
1754
+ // log10 (2 decades). Verified at all 9 anchors.
1755
+ "cab.high_cut": { groupCode: "CAB", block: "cab", paramId: 20, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "CABINET_HICUT", xmlLabel: "High Cut", displayMin: 200, displayMax: 20000, displayScale: 'log10' },
1756
+ "cab.speaker_size": { groupCode: "CAB", block: "cab", paramId: 21, wikiName: "SPEAKER SIZE", name: "speaker_size", controlType: "knob", parameterName: "CABINET_WARP", xmlLabel: "Speaker Size" },
1757
+ "cab.proximity": { groupCode: "CAB", block: "cab", paramId: 22, wikiName: "PROXIMITY", name: "proximity", controlType: "knob", parameterName: "CABINET_PROXIMITYL", xmlLabel: "Proximity" },
1758
+ "cab.air": { groupCode: "CAB", block: "cab", paramId: 23, wikiName: "AIR", name: "air", controlType: "knob", parameterName: "CABINET_DIRECT", xmlLabel: "Air" },
1759
+ "cab.motor_drive": { groupCode: "CAB", block: "cab", paramId: 24, wikiName: "MOTOR DRIVE", name: "motor_drive", controlType: "knob", parameterName: "CABINET_DYNAMICS", xmlLabel: "Motor Drive" },
1760
+ "cab.air_freq": { groupCode: "CAB", block: "cab", paramId: 25, wikiName: "AIR FREQ", name: "air_freq", controlType: "knob" },
1761
+ "cab.delay_l": { groupCode: "CAB", block: "cab", paramId: 26, wikiName: "DELAY L", name: "delay_l", controlType: "knob" },
1762
+ "cab.delay_r": { groupCode: "CAB", block: "cab", paramId: 27, wikiName: "DELAY R", name: "delay_r", controlType: "knob", parameterName: "CABINET_DELAYR", xmlLabel: "Delay R" },
1763
+ "cab.proximity_r": { groupCode: "CAB", block: "cab", paramId: 28, wikiName: "PROXIMITY R", name: "proximity_r", controlType: "knob", parameterName: "CABINET_PROXIMITYR", xmlLabel: "Proximity R" },
1764
+ "cab.prox_freq": { groupCode: "CAB", block: "cab", paramId: 29, wikiName: "PROX. FREQ.", name: "prox_freq", controlType: "knob" },
1765
+ "cab.input_select": { groupCode: "CAB", block: "cab", paramId: 30, wikiName: "INPUT SELECT", name: "input_select", controlType: "select", parameterName: "CABINET_INPUTSEL", xmlLabel: "Input Select", enumValues: CAB_INPUT_SELECT_VALUES },
1766
+ "cab.preamp_type": { groupCode: "CAB", block: "cab", paramId: 31, wikiName: "PREAMP TYPE", name: "preamp_type", controlType: "select", parameterName: "CABINET_PRETYPE", xmlLabel: "Preamp Type", enumValues: CAB_PREAMP_TYPE_VALUES },
1767
+ "cab.bass": { groupCode: "CAB", block: "cab", paramId: 32, wikiName: "BASS", name: "bass", controlType: "knob", parameterName: "CABINET_BASS", xmlLabel: "Bass" },
1768
+ "cab.mid": { groupCode: "CAB", block: "cab", paramId: 33, wikiName: "MID", name: "mid", controlType: "knob", parameterName: "CABINET_MID", xmlLabel: "Mid" },
1769
+ "cab.treble": { groupCode: "CAB", block: "cab", paramId: 34, wikiName: "TREBLE", name: "treble", controlType: "knob", parameterName: "CABINET_TREBLE", xmlLabel: "Treble" },
1770
+ "cab.preamp_mode": { groupCode: "CAB", block: "cab", paramId: 35, wikiName: "PREAMP MODE", name: "preamp_mode", controlType: "select", parameterName: "CABINET_OVERSAMPLE", xmlLabel: "Preamp Mode", enumValues: CAB_PREAMP_MODE_VALUES },
1771
+ "cab.dephase": { groupCode: "CAB", block: "cab", paramId: 36, wikiName: "DEPHASE", name: "dephase", controlType: "knob", parameterName: "CABINET_SMOOTH", xmlLabel: "Dephase" },
1772
+ "cab.filter_slope": { groupCode: "CAB", block: "cab", paramId: 37, wikiName: "FILTER SLOPE", name: "filter_slope", controlType: "select", parameterName: "CABINET_ORDER", xmlLabel: "Filter Slope", enumValues: CAB_FILTER_SLOPE_VALUES },
1773
+ "cab.motor_time_constant": { groupCode: "CAB", block: "cab", paramId: 38, wikiName: "MOTOR TIME CONSTANT", name: "motor_time_constant", controlType: "knob" },
1774
+ "chorus.effect_type": { groupCode: "CHO", block: "chorus", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: CHORUS_EFFECT_TYPE_VALUES },
1775
+ "chorus.voices": { groupCode: "CHO", block: "chorus", paramId: 1, wikiName: "VOICES", name: "voices", controlType: "unknown", parameterName: "CHORUS_VOICES", xmlLabel: "Voices", displayMin: 1, displayMax: 4, step: 1 },
1776
+ "chorus.rate": { groupCode: "CHO", block: "chorus", paramId: 2, wikiName: "RATE", name: "rate", controlType: "knob", parameterName: "CHORUS_RATE", xmlLabel: "Rate", modifierAssignable: true },
1777
+ "chorus.tempo": { groupCode: "CHO", block: "chorus", paramId: 3, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "CHORUS_TEMPO", xmlLabel: "Tempo" },
1778
+ "chorus.depth": { groupCode: "CHO", block: "chorus", paramId: 4, wikiName: "DEPTH", name: "depth", controlType: "knob", parameterName: "CHORUS_DEPTH", xmlLabel: "Depth", modifierAssignable: true },
1779
+ "chorus.high_cut": { groupCode: "CHO", block: "chorus", paramId: 5, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob" },
1780
+ "chorus.delay_time": { groupCode: "CHO", block: "chorus", paramId: 6, wikiName: "DELAY TIME", name: "delay_time", controlType: "knob", parameterName: "CHORUS_DELAYTIME", xmlLabel: "Delay Time" },
1781
+ "chorus.lfo_phase": { groupCode: "CHO", block: "chorus", paramId: 7, wikiName: "LFO PHASE", name: "lfo_phase", controlType: "knob", parameterName: "CHORUS_LFOPHASE", xmlLabel: "LFO Phase" },
1782
+ "chorus.lfo_type": { groupCode: "CHO", block: "chorus", paramId: 8, wikiName: "LFO TYPE", name: "lfo_type", controlType: "select", parameterName: "CHORUS_LFOTYPE", xmlLabel: "LFO Type", enumValues: CHORUS_LFO_TYPE_VALUES },
1783
+ "chorus.auto_depth": { groupCode: "CHO", block: "chorus", paramId: 9, wikiName: "AUTO DEPTH", name: "auto_depth", controlType: "select", parameterName: "CHORUS_AUTO", xmlLabel: "Auto Depth", enumValues: CHORUS_AUTO_DEPTH_VALUES },
1784
+ // HW-088 calibration (2026-05-11): wire 0..65534 ↔ 0..100% linear.
1785
+ "chorus.mix": { groupCode: "CHO", block: "chorus", paramId: 10, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "CHORUS_MIX", xmlLabel: "Mix", modifierAssignable: true, displayMin: 0, displayMax: 100 },
1786
+ "chorus.level": { groupCode: "CHO", block: "chorus", paramId: 11, wikiName: "Level", name: "level", controlType: "knob", parameterName: "CHORUS_LEVEL", xmlLabel: "Level", modifierAssignable: true },
1787
+ "chorus.balance": { groupCode: "CHO", block: "chorus", paramId: 12, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "CHORUS_PAN", xmlLabel: "Balance", modifierAssignable: true },
1788
+ "chorus.bypass_mode": { groupCode: "CHO", block: "chorus", paramId: 13, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "CHORUS_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: CHORUS_BYPASS_MODE_VALUES, modifierAssignable: true },
1789
+ "chorus.global": { groupCode: "CHO", block: "chorus", paramId: 14, wikiName: "GLOBAL", name: "global", controlType: "switch" },
1790
+ "chorus.phase_reverse": { groupCode: "CHO", block: "chorus", paramId: 16, wikiName: "PHASE REVERSE", name: "phase_reverse", controlType: "select", parameterName: "CHORUS_PHASEREV", xmlLabel: "Phase Reverse", enumValues: CHORUS_PHASE_REVERSE_VALUES },
1791
+ "chorus.width": { groupCode: "CHO", block: "chorus", paramId: 17, wikiName: "WIDTH", name: "width", controlType: "knob", parameterName: "CHORUS_WIDTH", xmlLabel: "Width" },
1792
+ "chorus.lfo_2_rate": { groupCode: "CHO", block: "chorus", paramId: 18, wikiName: "LFO 2 RATE", name: "lfo_2_rate", controlType: "knob" },
1793
+ "chorus.lfo_2_depth": { groupCode: "CHO", block: "chorus", paramId: 19, wikiName: "LFO 2 DEPTH", name: "lfo_2_depth", controlType: "knob" },
1794
+ "chorus.drive": { groupCode: "CHO", block: "chorus", paramId: 20, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "CHORUS_DRIVE", xmlLabel: "Drive" },
1795
+ "chorus.low_cut": { groupCode: "CHO", block: "chorus", paramId: 21, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "CHORUS_LOWCUT", xmlLabel: "Low Cut" },
1796
+ "chorus.spread": { groupCode: "CHO", block: "chorus", paramId: 22, wikiName: "SPREAD", name: "spread", controlType: "knob", parameterName: "CHORUS_SPREAD", xmlLabel: "Spread" },
1797
+ "chorus.dimension": { groupCode: "CHO", block: "chorus", paramId: 23, wikiName: "DIMENSION", name: "dimension", controlType: "select", enumValues: CHORUS_DIMENSION_VALUES },
1798
+ "compressor.treshold": { groupCode: "CPR", block: "compressor", paramId: 0, wikiName: "TRESHOLD", name: "treshold", controlType: "knob" },
1799
+ "compressor.ratio": { groupCode: "CPR", block: "compressor", paramId: 1, wikiName: "RATIO", name: "ratio", controlType: "knob", parameterName: "COMP_RATIO", xmlLabel: "Ratio" },
1800
+ "compressor.attack": { groupCode: "CPR", block: "compressor", paramId: 2, wikiName: "ATTACK", name: "attack", controlType: "knob", parameterName: "COMP_ATTACK", xmlLabel: "Attack" },
1801
+ "compressor.release": { groupCode: "CPR", block: "compressor", paramId: 3, wikiName: "RELEASE", name: "release", controlType: "knob", parameterName: "COMP_RELEASE", xmlLabel: "Release" },
1802
+ "compressor.level": { groupCode: "CPR", block: "compressor", paramId: 4, wikiName: "Level", name: "level", controlType: "knob", parameterName: "COMP_LEVEL", xmlLabel: "Level", modifierAssignable: true },
1803
+ "compressor.knee": { groupCode: "CPR", block: "compressor", paramId: 5, wikiName: "KNEE", name: "knee", controlType: "select", parameterName: "COMP_KNEE", xmlLabel: "Knee", enumValues: COMPRESSOR_KNEE_VALUES },
1804
+ "compressor.makeup": { groupCode: "CPR", block: "compressor", paramId: 6, wikiName: "MAKEUP", name: "makeup", controlType: "switch", parameterName: "COMP_AUTO", xmlLabel: "Makeup" },
1805
+ "compressor.detect": { groupCode: "CPR", block: "compressor", paramId: 7, wikiName: "DETECT", name: "detect", controlType: "select", parameterName: "COMP_PEAKRMS", xmlLabel: "Detect", enumValues: COMPRESSOR_DETECT_VALUES },
1806
+ "compressor.filter": { groupCode: "CPR", block: "compressor", paramId: 8, wikiName: "FILTER", name: "filter", controlType: "knob", parameterName: "COMP_CONTOUR", xmlLabel: "Filter" },
1807
+ "compressor.sidechain": { groupCode: "CPR", block: "compressor", paramId: 10, wikiName: "SIDECHAIN", name: "sidechain", controlType: "select", enumValues: COMPRESSOR_SIDECHAIN_VALUES },
1808
+ "compressor.mix": { groupCode: "CPR", block: "compressor", paramId: 11, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "COMP_MIX", xmlLabel: "Mix", modifierAssignable: true },
1809
+ "compressor.effect_type": { groupCode: "CPR", block: "compressor", paramId: 12, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: COMPRESSOR_EFFECT_TYPE_VALUES },
1810
+ "compressor.comp": { groupCode: "CPR", block: "compressor", paramId: 13, wikiName: "COMP", name: "comp", controlType: "knob", parameterName: "COMP_SUSTAIN", xmlLabel: "Comp" },
1811
+ "compressor.bypass_mode": { groupCode: "CPR", block: "compressor", paramId: 14, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "COMP_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: COMPRESSOR_BYPASS_MODE_VALUES, modifierAssignable: true },
1812
+ "compressor.look_ahead": { groupCode: "CPR", block: "compressor", paramId: 15, wikiName: "LOOK AHEAD", name: "look_ahead", controlType: "knob", parameterName: "COMP_DELAYTIME", xmlLabel: "Look Ahead" },
1813
+ "compressor.auto": { groupCode: "CPR", block: "compressor", paramId: 16, wikiName: "AUTO", name: "auto", controlType: "switch", parameterName: "COMP_AUTOMODE", xmlLabel: "Auto" },
1814
+ "compressor.emphasis": { groupCode: "CPR", block: "compressor", paramId: 17, wikiName: "EMPHASIS", name: "emphasis", controlType: "knob", parameterName: "COMP_EMPHASIS", xmlLabel: "Emphasis" },
1815
+ "compressor.dynamics": { groupCode: "CPR", block: "compressor", paramId: 18, wikiName: "DYNAMICS", name: "dynamics", controlType: "knob", parameterName: "COMP_DYNAMICS", xmlLabel: "Dynamics" },
1816
+ "compressor.input_level": { groupCode: "CPR", block: "compressor", paramId: 19, wikiName: "INPUT Level", name: "input_level", controlType: "select", parameterName: "COMP_INPUTLEVEL", xmlLabel: "Input Level", enumValues: COMPRESSOR_INPUT_LEVEL_VALUES, fwAdded: "Since Quantum 7.01" },
1817
+ "controllers.lfo1_type_run": { groupCode: "CONTROLLERS", block: "controllers", paramId: 0, wikiName: "LFO1 TYPE [RUN]", name: "lfo1_type_run", controlType: "select", parameterName: "CONTROLLERS_LFO1TYPE", xmlLabel: "LFO1 Type [Run]", enumValues: CONTROLLERS_LFO1_TYPE_RUN_VALUES, modifierAssignable: true },
1818
+ "controllers.lfo1_rate": { groupCode: "CONTROLLERS", block: "controllers", paramId: 1, wikiName: "LFO1 RATE", name: "lfo1_rate", controlType: "knob", parameterName: "CONTROLLERS_LFO1FREQ", xmlLabel: "LFO1 Rate", modifierAssignable: true },
1819
+ "controllers.lfo1_depth": { groupCode: "CONTROLLERS", block: "controllers", paramId: 2, wikiName: "LFO1 DEPTH", name: "lfo1_depth", controlType: "knob", parameterName: "CONTROLLERS_LFO1DEPTH", xmlLabel: "LFO1 Depth", modifierAssignable: true },
1820
+ "controllers.lfo1_duty": { groupCode: "CONTROLLERS", block: "controllers", paramId: 3, wikiName: "LFO1 DUTY", name: "lfo1_duty", controlType: "knob", parameterName: "CONTROLLERS_LFO1DUTY", xmlLabel: "LFO1 Duty", modifierAssignable: true },
1821
+ "controllers.output_b_phase": { groupCode: "CONTROLLERS", block: "controllers", paramId: 4, wikiName: "OUTPUT B PHASE", name: "output_b_phase", controlType: "knob", parameterName: "CONTROLLERS_LFO1PHASE", xmlLabel: "Output B Phase" },
1822
+ "controllers.lfo1_tempo": { groupCode: "CONTROLLERS", block: "controllers", paramId: 5, wikiName: "LFO1 Tempo", name: "lfo1_tempo", controlType: "select", parameterName: "CONTROLLERS_LFO1TEMPO", xmlLabel: "LFO1 Tempo" },
1823
+ "controllers.lfo2_type_run": { groupCode: "CONTROLLERS", block: "controllers", paramId: 6, wikiName: "LFO2 TYPE [RUN]", name: "lfo2_type_run", controlType: "select", parameterName: "CONTROLLERS_LFO2TYPE", xmlLabel: "LFO2 Type [Run]", enumValues: CONTROLLERS_LFO2_TYPE_RUN_VALUES, modifierAssignable: true },
1824
+ "controllers.lfo2_rate": { groupCode: "CONTROLLERS", block: "controllers", paramId: 7, wikiName: "LFO2 RATE", name: "lfo2_rate", controlType: "knob", parameterName: "CONTROLLERS_LFO2FREQ", xmlLabel: "LFO2 Rate", modifierAssignable: true },
1825
+ "controllers.lfo2_depth": { groupCode: "CONTROLLERS", block: "controllers", paramId: 8, wikiName: "LFO2 DEPTH", name: "lfo2_depth", controlType: "knob", parameterName: "CONTROLLERS_LFO2DEPTH", xmlLabel: "LFO2 Depth", modifierAssignable: true },
1826
+ "controllers.lfo2_duty": { groupCode: "CONTROLLERS", block: "controllers", paramId: 9, wikiName: "LFO2 DUTY", name: "lfo2_duty", controlType: "knob", parameterName: "CONTROLLERS_LFO2DUTY", xmlLabel: "LFO2 Duty", modifierAssignable: true },
1827
+ "controllers.lfo2_tempo": { groupCode: "CONTROLLERS", block: "controllers", paramId: 11, wikiName: "LFO2 Tempo", name: "lfo2_tempo", controlType: "select", parameterName: "CONTROLLERS_LFO2TEMPO", xmlLabel: "LFO2 Tempo" },
1828
+ "controllers.mode": { groupCode: "CONTROLLERS", block: "controllers", paramId: 12, wikiName: "MODE", name: "mode", controlType: "select", parameterName: "CONTROLLERS_ADSR1MODE", xmlLabel: "Mode", enumValues: CONTROLLERS_MODE_VALUES },
1829
+ "controllers.retrig": { groupCode: "CONTROLLERS", block: "controllers", paramId: 13, wikiName: "RETRIG", name: "retrig", controlType: "switch", parameterName: "CONTROLLERS_ADSR1RETRIG", xmlLabel: "Retrig" },
1830
+ "controllers.attack": { groupCode: "CONTROLLERS", block: "controllers", paramId: 14, wikiName: "ATTACK", name: "attack", controlType: "knob", parameterName: "CONTROLLERS_ADSR1ATTACK", xmlLabel: "Attack" },
1831
+ "controllers.decay": { groupCode: "CONTROLLERS", block: "controllers", paramId: 15, wikiName: "DECAY", name: "decay", controlType: "knob", parameterName: "CONTROLLERS_ADSR1DECAY", xmlLabel: "Decay" },
1832
+ "controllers.sustain": { groupCode: "CONTROLLERS", block: "controllers", paramId: 16, wikiName: "SUSTAIN", name: "sustain", controlType: "knob", parameterName: "CONTROLLERS_ADSR1SUSTAIN", xmlLabel: "Sustain" },
1833
+ "controllers.level": { groupCode: "CONTROLLERS", block: "controllers", paramId: 17, wikiName: "Level", name: "level", controlType: "knob", parameterName: "CONTROLLERS_ADSR1LEVEL", xmlLabel: "Level" },
1834
+ "controllers.release": { groupCode: "CONTROLLERS", block: "controllers", paramId: 18, wikiName: "RELEASE", name: "release", controlType: "knob", parameterName: "CONTROLLERS_ADSR1RELEASE", xmlLabel: "Release" },
1835
+ "controllers.threshold": { groupCode: "CONTROLLERS", block: "controllers", paramId: 19, wikiName: "THRESHOLD", name: "threshold", controlType: "knob", parameterName: "CONTROLLERS_ADSR1THRESH", xmlLabel: "Threshold" },
1836
+ "controllers.gain": { groupCode: "CONTROLLERS", block: "controllers", paramId: 31, wikiName: "GAIN", name: "gain", controlType: "knob", parameterName: "CONTROLLERS_ENVGAIN", xmlLabel: "Gain" },
1837
+ "controllers.tap_tempo": { groupCode: "CONTROLLERS", block: "controllers", paramId: 32, wikiName: "TAP Tempo", name: "tap_tempo", controlType: "unknown", displayMin: 30, displayMax: 250, step: 1 },
1838
+ "controllers.tempo_setting": { groupCode: "CONTROLLERS", block: "controllers", paramId: 33, wikiName: "Tempo SETTING", name: "tempo_setting", controlType: "select", enumValues: CONTROLLERS_TEMPO_SETTING_VALUES },
1839
+ "controllers.rate": { groupCode: "CONTROLLERS", block: "controllers", paramId: 34, wikiName: "RATE", name: "rate", controlType: "knob", parameterName: "CONTROLLERS_SEQFREQ", xmlLabel: "Rate", modifierAssignable: true },
1840
+ "controllers.tempo": { groupCode: "CONTROLLERS", block: "controllers", paramId: 35, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "CONTROLLERS_SEQTEMPO", xmlLabel: "Tempo" },
1841
+ "controllers.stages": { groupCode: "CONTROLLERS", block: "controllers", paramId: 36, wikiName: "STAGES", name: "stages", controlType: "select", parameterName: "CONTROLLERS_SEQSTAGES", xmlLabel: "Stages", enumValues: CONTROLLERS_STAGES_VALUES, displayMin: 2 },
1842
+ "controllers.1": { groupCode: "CONTROLLERS", block: "controllers", paramId: 37, wikiName: "1", name: "1", controlType: "unknown", parameterName: "CONTROLLERS_SEQ1", xmlLabel: "1" },
1843
+ "controllers.2": { groupCode: "CONTROLLERS", block: "controllers", paramId: 38, wikiName: "2", name: "2", controlType: "unknown" },
1844
+ "controllers.3": { groupCode: "CONTROLLERS", block: "controllers", paramId: 39, wikiName: "3", name: "3", controlType: "unknown" },
1845
+ "controllers.4": { groupCode: "CONTROLLERS", block: "controllers", paramId: 40, wikiName: "4", name: "4", controlType: "unknown" },
1846
+ "controllers.5": { groupCode: "CONTROLLERS", block: "controllers", paramId: 41, wikiName: "5", name: "5", controlType: "unknown" },
1847
+ "controllers.6": { groupCode: "CONTROLLERS", block: "controllers", paramId: 42, wikiName: "6", name: "6", controlType: "unknown" },
1848
+ "controllers.7": { groupCode: "CONTROLLERS", block: "controllers", paramId: 43, wikiName: "7", name: "7", controlType: "unknown" },
1849
+ "controllers.8": { groupCode: "CONTROLLERS", block: "controllers", paramId: 44, wikiName: "8", name: "8", controlType: "unknown" },
1850
+ "controllers.9": { groupCode: "CONTROLLERS", block: "controllers", paramId: 45, wikiName: "9", name: "9", controlType: "unknown" },
1851
+ "controllers.10": { groupCode: "CONTROLLERS", block: "controllers", paramId: 46, wikiName: "10", name: "10", controlType: "unknown" },
1852
+ "controllers.11": { groupCode: "CONTROLLERS", block: "controllers", paramId: 47, wikiName: "11", name: "11", controlType: "unknown" },
1853
+ "controllers.12": { groupCode: "CONTROLLERS", block: "controllers", paramId: 48, wikiName: "12", name: "12", controlType: "unknown" },
1854
+ "controllers.13": { groupCode: "CONTROLLERS", block: "controllers", paramId: 49, wikiName: "13", name: "13", controlType: "unknown" },
1855
+ "controllers.14": { groupCode: "CONTROLLERS", block: "controllers", paramId: 50, wikiName: "14", name: "14", controlType: "unknown" },
1856
+ "controllers.15": { groupCode: "CONTROLLERS", block: "controllers", paramId: 51, wikiName: "15", name: "15", controlType: "unknown" },
1857
+ "controllers.16": { groupCode: "CONTROLLERS", block: "controllers", paramId: 52, wikiName: "16", name: "16", controlType: "unknown" },
1858
+ "controllers.run": { groupCode: "CONTROLLERS", block: "controllers", paramId: 54, wikiName: "RUN", name: "run", controlType: "switch", parameterName: "CONTROLLERS_SEQRUN", xmlLabel: "Run", modifierAssignable: true },
1859
+ "controllers.a": { groupCode: "CONTROLLERS", block: "controllers", paramId: 55, wikiName: "A", name: "a", controlType: "knob" },
1860
+ "controllers.b": { groupCode: "CONTROLLERS", block: "controllers", paramId: 56, wikiName: "B", name: "b", controlType: "knob" },
1861
+ "controllers.c": { groupCode: "CONTROLLERS", block: "controllers", paramId: 57, wikiName: "C", name: "c", controlType: "knob" },
1862
+ "controllers.d": { groupCode: "CONTROLLERS", block: "controllers", paramId: 58, wikiName: "D", name: "d", controlType: "knob" },
1863
+ "controllers.17": { groupCode: "CONTROLLERS", block: "controllers", paramId: 59, wikiName: "17", name: "17", controlType: "unknown" },
1864
+ "controllers.18": { groupCode: "CONTROLLERS", block: "controllers", paramId: 60, wikiName: "18", name: "18", controlType: "unknown" },
1865
+ "controllers.19": { groupCode: "CONTROLLERS", block: "controllers", paramId: 61, wikiName: "19", name: "19", controlType: "unknown" },
1866
+ "controllers.20": { groupCode: "CONTROLLERS", block: "controllers", paramId: 62, wikiName: "20", name: "20", controlType: "unknown" },
1867
+ "controllers.21": { groupCode: "CONTROLLERS", block: "controllers", paramId: 63, wikiName: "21", name: "21", controlType: "unknown" },
1868
+ "controllers.22": { groupCode: "CONTROLLERS", block: "controllers", paramId: 64, wikiName: "22", name: "22", controlType: "unknown" },
1869
+ "controllers.23": { groupCode: "CONTROLLERS", block: "controllers", paramId: 65, wikiName: "23", name: "23", controlType: "unknown" },
1870
+ "controllers.24": { groupCode: "CONTROLLERS", block: "controllers", paramId: 66, wikiName: "24", name: "24", controlType: "unknown" },
1871
+ "controllers.25": { groupCode: "CONTROLLERS", block: "controllers", paramId: 67, wikiName: "25", name: "25", controlType: "unknown" },
1872
+ "controllers.26": { groupCode: "CONTROLLERS", block: "controllers", paramId: 68, wikiName: "26", name: "26", controlType: "unknown" },
1873
+ "controllers.27": { groupCode: "CONTROLLERS", block: "controllers", paramId: 69, wikiName: "27", name: "27", controlType: "unknown" },
1874
+ "controllers.28": { groupCode: "CONTROLLERS", block: "controllers", paramId: 70, wikiName: "28", name: "28", controlType: "unknown" },
1875
+ "controllers.29": { groupCode: "CONTROLLERS", block: "controllers", paramId: 71, wikiName: "29", name: "29", controlType: "unknown" },
1876
+ "controllers.30": { groupCode: "CONTROLLERS", block: "controllers", paramId: 72, wikiName: "30", name: "30", controlType: "unknown" },
1877
+ "controllers.31": { groupCode: "CONTROLLERS", block: "controllers", paramId: 73, wikiName: "31", name: "31", controlType: "unknown" },
1878
+ "controllers.32": { groupCode: "CONTROLLERS", block: "controllers", paramId: 74, wikiName: "32", name: "32", controlType: "unknown" },
1879
+ "controllers.scene_1": { groupCode: "CONTROLLERS", block: "controllers", paramId: 78, wikiName: "SCENE 1", name: "scene_1", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL1", xmlLabel: "Scene 1" },
1880
+ "controllers.scene_2": { groupCode: "CONTROLLERS", block: "controllers", paramId: 79, wikiName: "SCENE 2", name: "scene_2", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL2", xmlLabel: "Scene 2" },
1881
+ "controllers.scene_3": { groupCode: "CONTROLLERS", block: "controllers", paramId: 80, wikiName: "SCENE 3", name: "scene_3", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL3", xmlLabel: "Scene 3" },
1882
+ "controllers.scene_4": { groupCode: "CONTROLLERS", block: "controllers", paramId: 81, wikiName: "SCENE 4", name: "scene_4", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL4", xmlLabel: "Scene 4" },
1883
+ "controllers.scene_5": { groupCode: "CONTROLLERS", block: "controllers", paramId: 82, wikiName: "SCENE 5", name: "scene_5", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL5", xmlLabel: "Scene 5" },
1884
+ "controllers.scene_6": { groupCode: "CONTROLLERS", block: "controllers", paramId: 83, wikiName: "SCENE 6", name: "scene_6", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL6", xmlLabel: "Scene 6" },
1885
+ "controllers.scene_7": { groupCode: "CONTROLLERS", block: "controllers", paramId: 84, wikiName: "SCENE 7", name: "scene_7", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL7", xmlLabel: "Scene 7" },
1886
+ "controllers.scene_8": { groupCode: "CONTROLLERS", block: "controllers", paramId: 85, wikiName: "SCENE 8", name: "scene_8", controlType: "knob", parameterName: "CONTROLLERS_SCENE1_VAL8", xmlLabel: "Scene 8" },
1887
+ "controllers.quantize": { groupCode: "CONTROLLERS", block: "controllers", paramId: 94, wikiName: "QUANTIZE", name: "quantize", controlType: "select", enumValues: CONTROLLERS_QUANTIZE_VALUES, displayMin: 1 },
1888
+ "crossover.freq": { groupCode: "XVR", block: "crossover", paramId: 0, wikiName: "Freq", name: "freq", controlType: "knob", parameterName: "CROSSOVER_FREQ", xmlLabel: "Freq", modifierAssignable: true },
1889
+ "crossover.freq_multi": { groupCode: "XVR", block: "crossover", paramId: 1, wikiName: "Freq Multi.", name: "freq_multi", controlType: "select", enumValues: CROSSOVER_FREQ_MULTI_VALUES },
1890
+ "crossover.lo_level_l": { groupCode: "XVR", block: "crossover", paramId: 2, wikiName: "Lo Level L", name: "lo_level_l", controlType: "knob", parameterName: "CROSSOVER_LOWGAINL", xmlLabel: "Lo Level L" },
1891
+ "crossover.hi_level_l": { groupCode: "XVR", block: "crossover", paramId: 3, wikiName: "Hi Level L", name: "hi_level_l", controlType: "knob", parameterName: "CROSSOVER_HIGAINL", xmlLabel: "Hi level L" },
1892
+ "crossover.lo_level_r": { groupCode: "XVR", block: "crossover", paramId: 4, wikiName: "Lo Level R", name: "lo_level_r", controlType: "knob", parameterName: "CROSSOVER_LOWGAINR", xmlLabel: "Lo Level R" },
1893
+ "crossover.hi_level_r": { groupCode: "XVR", block: "crossover", paramId: 5, wikiName: "Hi Level R", name: "hi_level_r", controlType: "knob", parameterName: "CROSSOVER_HIGAINR", xmlLabel: "Hi Level R" },
1894
+ "crossover.lo_pan_l": { groupCode: "XVR", block: "crossover", paramId: 6, wikiName: "Lo Pan L", name: "lo_pan_l", controlType: "knob", parameterName: "CROSSOVER_LOWPANL", xmlLabel: "Lo Pan L" },
1895
+ "crossover.hi_pan_l": { groupCode: "XVR", block: "crossover", paramId: 7, wikiName: "Hi Pan L", name: "hi_pan_l", controlType: "knob", parameterName: "CROSSOVER_HIPANL", xmlLabel: "Hi Pan L" },
1896
+ "crossover.lo_pan_r": { groupCode: "XVR", block: "crossover", paramId: 8, wikiName: "Lo Pan R", name: "lo_pan_r", controlType: "knob", parameterName: "CROSSOVER_LOWPANR", xmlLabel: "Lo Pan R" },
1897
+ "crossover.hi_pan_r": { groupCode: "XVR", block: "crossover", paramId: 9, wikiName: "Hi Pan R", name: "hi_pan_r", controlType: "knob", parameterName: "CROSSOVER_HIPANR", xmlLabel: "Hi Pan R" },
1898
+ "crossover.level": { groupCode: "XVR", block: "crossover", paramId: 11, wikiName: "Level", name: "level", controlType: "knob", parameterName: "CROSSOVER_LEVEL", xmlLabel: "Level", modifierAssignable: true },
1899
+ "crossover.balance": { groupCode: "XVR", block: "crossover", paramId: 12, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "CROSSOVER_PAN", xmlLabel: "Balance", modifierAssignable: true },
1900
+ "crossover.bypass_mode": { groupCode: "XVR", block: "crossover", paramId: 13, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "CROSSOVER_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: CROSSOVER_BYPASS_MODE_VALUES, modifierAssignable: true },
1901
+ "delay.effect_type": { groupCode: "DLY", block: "delay", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: DELAY_EFFECT_TYPE_VALUES },
1902
+ "delay.config": { groupCode: "DLY", block: "delay", paramId: 1, wikiName: "CONFIG", name: "config", controlType: "select", parameterName: "DELAY_TYPE", xmlLabel: "Config", enumValues: DELAY_CONFIG_VALUES },
1903
+ // HW-091 calibration (2026-05-11, tempo sync DISABLED): wire 0..65534
1904
+ // ↔ 1..8000 ms linear. NOTE: when `delay.tempo` is set to a non-NONE
1905
+ // sync value, the device IGNORES manual `delay.time` writes and shows
1906
+ // the tempo-derived time in parens (e.g. "(375 ms)"). Caller should
1907
+ // set `delay.tempo` to wire 0 (NONE) before setting `delay.time`
1908
+ // manually, OR accept that the time write will be silently overridden.
1909
+ "delay.time": { groupCode: "DLY", block: "delay", paramId: 2, wikiName: "TIME", name: "time", controlType: "knob", parameterName: "DELAY_TIME", xmlLabel: "Time", modifierAssignable: true, displayMin: 1, displayMax: 8000 },
1910
+ "delay.ratio": { groupCode: "DLY", block: "delay", paramId: 3, wikiName: "RATIO", name: "ratio", controlType: "knob", parameterName: "DELAY_RATIO", xmlLabel: "Ratio", modifierAssignable: true },
1911
+ // HW-088 calibration (2026-05-11): wire 0..65534 ↔ -100..+100% bipolar linear (wire 32767 = exact zero crossing).
1912
+ "delay.feedback": { groupCode: "DLY", block: "delay", paramId: 4, wikiName: "FEEDBACK", name: "feedback", controlType: "knob", parameterName: "DELAY_FEED", xmlLabel: "Feedback", modifierAssignable: true, displayMin: -100, displayMax: 100 },
1913
+ "delay.feedback_r": { groupCode: "DLY", block: "delay", paramId: 6, wikiName: "FEEDBACK R", name: "feedback_r", controlType: "knob", parameterName: "DELAY_FEEDR", xmlLabel: "Feedback R", modifierAssignable: true },
1914
+ "delay.echo_pan": { groupCode: "DLY", block: "delay", paramId: 7, wikiName: "ECHO Pan", name: "echo_pan", controlType: "knob", parameterName: "DELAY_DELAYPAN", xmlLabel: "Echo Pan", modifierAssignable: true },
1915
+ "delay.spread": { groupCode: "DLY", block: "delay", paramId: 8, wikiName: "SPREAD", name: "spread", controlType: "knob", modifierAssignable: true },
1916
+ // HW-091 + HW-093 enum table (2026-05-11): 33 entries mapped wire 0..32.
1917
+ "delay.tempo": { groupCode: "DLY", block: "delay", paramId: 9, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "DELAY_TEMPO", xmlLabel: "Tempo", enumValues: DELAY_TEMPO_VALUES },
1918
+ "delay.low_cut": { groupCode: "DLY", block: "delay", paramId: 10, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "DELAY_LOCUT", xmlLabel: "Low Cut" },
1919
+ "delay.high_cut": { groupCode: "DLY", block: "delay", paramId: 11, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "DELAY_HICUT", xmlLabel: "High Cut" },
1920
+ "delay.lfo1_rate": { groupCode: "DLY", block: "delay", paramId: 12, wikiName: "LFO1 RATE", name: "lfo1_rate", controlType: "knob", parameterName: "DELAY_RATE1", xmlLabel: "LFO1 Rate", modifierAssignable: true },
1921
+ "delay.lfo2_rate": { groupCode: "DLY", block: "delay", paramId: 13, wikiName: "LFO2 RATE", name: "lfo2_rate", controlType: "knob", parameterName: "DELAY_RATE2", xmlLabel: "LFO2 Rate", modifierAssignable: true },
1922
+ "delay.lfo1_depth": { groupCode: "DLY", block: "delay", paramId: 14, wikiName: "LFO1 DEPTH", name: "lfo1_depth", controlType: "knob", parameterName: "DELAY_DEPTH1", xmlLabel: "LFO1 Depth", modifierAssignable: true },
1923
+ "delay.lfo2_depth": { groupCode: "DLY", block: "delay", paramId: 15, wikiName: "LFO2 DEPTH", name: "lfo2_depth", controlType: "knob", parameterName: "DELAY_DEPTH2", xmlLabel: "LFO2 Depth", modifierAssignable: true },
1924
+ "delay.drive": { groupCode: "DLY", block: "delay", paramId: 16, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "DELAY_DRIVE", xmlLabel: "Drive", modifierAssignable: true },
1925
+ "delay.mix": { groupCode: "DLY", block: "delay", paramId: 17, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "DELAY_MIX", xmlLabel: "Mix", modifierAssignable: true },
1926
+ "delay.level": { groupCode: "DLY", block: "delay", paramId: 18, wikiName: "Level", name: "level", controlType: "knob", parameterName: "DELAY_LEVEL", xmlLabel: "Level", modifierAssignable: true },
1927
+ "delay.balance": { groupCode: "DLY", block: "delay", paramId: 19, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "DELAY_PAN", xmlLabel: "Balance", modifierAssignable: true },
1928
+ "delay.bypass_mode": { groupCode: "DLY", block: "delay", paramId: 20, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "DELAY_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: DELAY_BYPASS_MODE_VALUES, modifierAssignable: true },
1929
+ "delay.global": { groupCode: "DLY", block: "delay", paramId: 21, wikiName: "GLOBAL", name: "global", controlType: "switch" },
1930
+ "delay.input_gain": { groupCode: "DLY", block: "delay", paramId: 23, wikiName: "INPUT GAIN", name: "input_gain", controlType: "knob", parameterName: "DELAY_GAIN", xmlLabel: "Input Gain", modifierAssignable: true },
1931
+ "delay.lfo1_type": { groupCode: "DLY", block: "delay", paramId: 24, wikiName: "LFO1 TYPE", name: "lfo1_type", controlType: "select", parameterName: "DELAY_LFO1TYPE", xmlLabel: "LFO1 Type", enumValues: DELAY_LFO1_TYPE_VALUES },
1932
+ "delay.lfo2_type": { groupCode: "DLY", block: "delay", paramId: 25, wikiName: "LFO2 TYPE", name: "lfo2_type", controlType: "select", parameterName: "DELAY_LFO2TYPE", xmlLabel: "LFO2 Type", enumValues: DELAY_LFO2_TYPE_VALUES },
1933
+ "delay.time_r": { groupCode: "DLY", block: "delay", paramId: 26, wikiName: "TIME R", name: "time_r", controlType: "knob", parameterName: "DELAY_TIMER", xmlLabel: "Time R", modifierAssignable: true },
1934
+ "delay.repeat_hold": { groupCode: "DLY", block: "delay", paramId: 27, wikiName: "REPEAT HOLD", name: "repeat_hold", controlType: "switch", parameterName: "DELAY_HOLD", xmlLabel: "Repeat Hold", modifierAssignable: true },
1935
+ "delay.master_feedback": { groupCode: "DLY", block: "delay", paramId: 28, wikiName: "MASTER FEEDBACK", name: "master_feedback", controlType: "knob", parameterName: "DELAY_MSTRFDBK", xmlLabel: "Master Feedback", modifierAssignable: true },
1936
+ "delay.tempo_r": { groupCode: "DLY", block: "delay", paramId: 29, wikiName: "Tempo R", name: "tempo_r", controlType: "select", parameterName: "DELAY_TEMPOR", xmlLabel: "Tempo R" },
1937
+ "delay.feedback_l_r": { groupCode: "DLY", block: "delay", paramId: 30, wikiName: "FEEDBACK L>R", name: "feedback_l_r", controlType: "knob" },
1938
+ "delay.feedback_r_l": { groupCode: "DLY", block: "delay", paramId: 31, wikiName: "FEEDBACK R>L", name: "feedback_r_l", controlType: "knob" },
1939
+ "delay.level_1": { groupCode: "DLY", block: "delay", paramId: 32, wikiName: "Level 1", name: "level_1", controlType: "knob", modifierAssignable: true },
1940
+ "delay.level_2": { groupCode: "DLY", block: "delay", paramId: 33, wikiName: "Level 2", name: "level_2", controlType: "knob", modifierAssignable: true },
1941
+ "delay.pan_1": { groupCode: "DLY", block: "delay", paramId: 34, wikiName: "Pan 1", name: "pan_1", controlType: "knob" },
1942
+ "delay.pan_2": { groupCode: "DLY", block: "delay", paramId: 35, wikiName: "Pan 2", name: "pan_2", controlType: "knob" },
1943
+ "delay.lfo1_phase": { groupCode: "DLY", block: "delay", paramId: 36, wikiName: "LFO1 PHASE", name: "lfo1_phase", controlType: "knob", parameterName: "DELAY_LFO1PHASE", xmlLabel: "LFO1 Phase", modifierAssignable: true },
1944
+ "delay.lfo2_phase": { groupCode: "DLY", block: "delay", paramId: 37, wikiName: "LFO2 PHASE", name: "lfo2_phase", controlType: "knob", parameterName: "DELAY_LFO2PHASE", xmlLabel: "LFO2 Phase", modifierAssignable: true },
1945
+ "delay.x_fade_time": { groupCode: "DLY", block: "delay", paramId: 38, wikiName: "X FADE TIME", name: "x_fade_time", controlType: "knob" },
1946
+ "delay.run": { groupCode: "DLY", block: "delay", paramId: 39, wikiName: "RUN", name: "run", controlType: "switch", parameterName: "DELAY_RUN", xmlLabel: "Run" },
1947
+ "delay.trigger_restart": { groupCode: "DLY", block: "delay", paramId: 40, wikiName: "TRIGGER RESTART", name: "trigger_restart", controlType: "switch", parameterName: "DELAY_MODE", xmlLabel: "Trigger Restart" },
1948
+ "delay.filter_slope": { groupCode: "DLY", block: "delay", paramId: 41, wikiName: "FILTER SLOPE", name: "filter_slope", controlType: "select", parameterName: "DELAY_FILTORDER", xmlLabel: "Filter Slope", enumValues: DELAY_FILTER_SLOPE_VALUES },
1949
+ "delay.duck_attn": { groupCode: "DLY", block: "delay", paramId: 42, wikiName: "DUCK ATTN", name: "duck_attn", controlType: "knob", modifierAssignable: true },
1950
+ "delay.duck_thres": { groupCode: "DLY", block: "delay", paramId: 43, wikiName: "DUCK THRES", name: "duck_thres", controlType: "knob" },
1951
+ "delay.duck_release": { groupCode: "DLY", block: "delay", paramId: 44, wikiName: "DUCK RELEASE", name: "duck_release", controlType: "knob" },
1952
+ "delay.diffusion": { groupCode: "DLY", block: "delay", paramId: 45, wikiName: "DIFFUSION", name: "diffusion", controlType: "knob", parameterName: "DELAY_DIFFUSE", xmlLabel: "Diffusion", modifierAssignable: true },
1953
+ "delay.diff_time": { groupCode: "DLY", block: "delay", paramId: 46, wikiName: "DIFF TIME", name: "diff_time", controlType: "knob", parameterName: "DELAY_DIFFTIME", xmlLabel: "Diff Time" },
1954
+ "delay.phase_reverse": { groupCode: "DLY", block: "delay", paramId: 47, wikiName: "PHASE REVERSE", name: "phase_reverse", controlType: "select", parameterName: "DELAY_PHASEREV", xmlLabel: "Phase Reverse", enumValues: DELAY_PHASE_REVERSE_VALUES },
1955
+ "delay.lfo1_target": { groupCode: "DLY", block: "delay", paramId: 48, wikiName: "LFO1 TARGET", name: "lfo1_target", controlType: "select", parameterName: "DELAY_LFO1TARGET", xmlLabel: "LFO1 Target", enumValues: DELAY_LFO1_TARGET_VALUES },
1956
+ "delay.lfo2_target": { groupCode: "DLY", block: "delay", paramId: 49, wikiName: "LFO2 TARGET", name: "lfo2_target", controlType: "select", parameterName: "DELAY_LFO2TARGET", xmlLabel: "LFO2 Target", enumValues: DELAY_LFO2_TARGET_VALUES },
1957
+ "delay.lfo1_tempo": { groupCode: "DLY", block: "delay", paramId: 50, wikiName: "LFO1 Tempo", name: "lfo1_tempo", controlType: "select", parameterName: "DELAY_LFO1TEMPO", xmlLabel: "LFO1 Tempo" },
1958
+ "delay.lfo2_tempo": { groupCode: "DLY", block: "delay", paramId: 51, wikiName: "LFO2 Tempo", name: "lfo2_tempo", controlType: "select", parameterName: "DELAY_LFO2TEMPO", xmlLabel: "LFO2 Tempo" },
1959
+ "delay.sweep_rate": { groupCode: "DLY", block: "delay", paramId: 52, wikiName: "SWEEP RATE", name: "sweep_rate", controlType: "knob", parameterName: "DELAY_RATE3", xmlLabel: "Sweep Rate" },
1960
+ "delay.sweep_type": { groupCode: "DLY", block: "delay", paramId: 53, wikiName: "SWEEP TYPE", name: "sweep_type", controlType: "select", parameterName: "DELAY_LFO3TYPE", xmlLabel: "Sweep Type", enumValues: DELAY_SWEEP_TYPE_VALUES },
1961
+ "delay.sweep_phase": { groupCode: "DLY", block: "delay", paramId: 54, wikiName: "SWEEP PHASE", name: "sweep_phase", controlType: "knob", parameterName: "DELAY_LFO3PHASE", xmlLabel: "Sweep Phase" },
1962
+ "delay.sweep_tempo": { groupCode: "DLY", block: "delay", paramId: 55, wikiName: "SWEEP Tempo", name: "sweep_tempo", controlType: "select", parameterName: "DELAY_LFO3TEMPO", xmlLabel: "Sweep Tempo" },
1963
+ "delay.start_freq": { groupCode: "DLY", block: "delay", paramId: 56, wikiName: "START FREQ", name: "start_freq", controlType: "knob", parameterName: "DELAY_FSTART", xmlLabel: "Start Freq" },
1964
+ "delay.stop_freq": { groupCode: "DLY", block: "delay", paramId: 57, wikiName: "STOP FREQ", name: "stop_freq", controlType: "knob", parameterName: "DELAY_FSTOP", xmlLabel: "Stop Freq" },
1965
+ "delay.resonance": { groupCode: "DLY", block: "delay", paramId: 58, wikiName: "RESONANCE", name: "resonance", controlType: "knob", parameterName: "DELAY_Q", xmlLabel: "Resonance" },
1966
+ "delay.q": { groupCode: "DLY", block: "delay", paramId: 59, wikiName: "Q", name: "q", controlType: "knob", parameterName: "DELAY_FILTERQ", xmlLabel: "Q" },
1967
+ "delay.bit_reduction": { groupCode: "DLY", block: "delay", paramId: 60, wikiName: "BIT REDUCTION", name: "bit_reduction", controlType: "unknown", parameterName: "DELAY_BITREDUCE", xmlLabel: "Bit Reduction", displayMin: 0, displayMax: 24, step: 1, modifierAssignable: true },
1968
+ "delay.freq_1": { groupCode: "DLY", block: "delay", paramId: 61, wikiName: "FREQ 1", name: "freq_1", controlType: "knob", parameterName: "DELAY_FREQ1", xmlLabel: "Freq 1" },
1969
+ "delay.freq_2": { groupCode: "DLY", block: "delay", paramId: 62, wikiName: "FREQ 2", name: "freq_2", controlType: "knob", parameterName: "DELAY_FREQ2", xmlLabel: "Freq 2" },
1970
+ "delay.q_1": { groupCode: "DLY", block: "delay", paramId: 63, wikiName: "Q 1", name: "q_1", controlType: "knob", parameterName: "DELAY_Q1", xmlLabel: "Q 1" },
1971
+ "delay.q_2": { groupCode: "DLY", block: "delay", paramId: 64, wikiName: "Q 2", name: "q_2", controlType: "knob", parameterName: "DELAY_Q2", xmlLabel: "Q 2" },
1972
+ "delay.gain_1": { groupCode: "DLY", block: "delay", paramId: 65, wikiName: "GAIN 1", name: "gain_1", controlType: "knob", parameterName: "DELAY_GAIN1", xmlLabel: "Gain 1" },
1973
+ "delay.gain_2": { groupCode: "DLY", block: "delay", paramId: 66, wikiName: "GAIN 2", name: "gain_2", controlType: "knob", parameterName: "DELAY_GAIN2", xmlLabel: "Gain 2" },
1974
+ "delay.lfo1_depth_range": { groupCode: "DLY", block: "delay", paramId: 67, wikiName: "LFO1 DEPTH RANGE", name: "lfo1_depth_range", controlType: "select", enumValues: DELAY_LFO1_DEPTH_RANGE_VALUES, modifierAssignable: true },
1975
+ "delay.motor_speed": { groupCode: "DLY", block: "delay", paramId: 68, wikiName: "MOTOR SPEED", name: "motor_speed", controlType: "knob", parameterName: "DELAY_SPEED", xmlLabel: "Motor Speed", modifierAssignable: true },
1976
+ "delay.right_post_delay": { groupCode: "DLY", block: "delay", paramId: 69, wikiName: "Right POST DELAY", name: "right_post_delay", controlType: "knob", parameterName: "DELAY_OFFSET", xmlLabel: "Right Post Delay" },
1977
+ "drive.effect_type": { groupCode: "DRV", block: "drive", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: DRIVE_EFFECT_TYPE_VALUES },
1978
+ // HW-092 calibration (2026-05-11): 0..10 linear, same as AMP first-page knobs.
1979
+ "drive.gain": { groupCode: "DRV", block: "drive", paramId: 1, wikiName: "GAIN", name: "gain", controlType: "knob", modifierAssignable: true, displayMin: 0, displayMax: 10 },
1980
+ "drive.tone": { groupCode: "DRV", block: "drive", paramId: 2, wikiName: "TONE", name: "tone", controlType: "knob", parameterName: "FUZZ_TONE", xmlLabel: "Tone", modifierAssignable: true },
1981
+ "drive.volume": { groupCode: "DRV", block: "drive", paramId: 3, wikiName: "VOLUME", name: "volume", controlType: "knob", modifierAssignable: true },
1982
+ "drive.mix": { groupCode: "DRV", block: "drive", paramId: 4, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "FUZZ_MIX", xmlLabel: "Mix", modifierAssignable: true },
1983
+ "drive.bypass_mode": { groupCode: "DRV", block: "drive", paramId: 5, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "FUZZ_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: DRIVE_BYPASS_MODE_VALUES, modifierAssignable: true },
1984
+ "drive.slew_limit": { groupCode: "DRV", block: "drive", paramId: 6, wikiName: "SLEW LIMIT", name: "slew_limit", controlType: "knob", parameterName: "FUZZ_SLEW", xmlLabel: "Slew Limit" },
1985
+ "drive.lo_cut": { groupCode: "DRV", block: "drive", paramId: 8, wikiName: "LO CUT", name: "lo_cut", controlType: "knob" },
1986
+ "drive.hi_cut": { groupCode: "DRV", block: "drive", paramId: 9, wikiName: "HI CUT", name: "hi_cut", controlType: "knob" },
1987
+ "drive.clip_type": { groupCode: "DRV", block: "drive", paramId: 10, wikiName: "CLIP TYPE", name: "clip_type", controlType: "select", parameterName: "FUZZ_CLIPTYPE", xmlLabel: "Clip Type", enumValues: DRIVE_CLIP_TYPE_VALUES },
1988
+ "drive.bias": { groupCode: "DRV", block: "drive", paramId: 11, wikiName: "BIAS", name: "bias", controlType: "knob", parameterName: "FUZZ_BIAS", xmlLabel: "Bias" },
1989
+ "drive.bass": { groupCode: "DRV", block: "drive", paramId: 12, wikiName: "BASS", name: "bass", controlType: "knob", parameterName: "FUZZ_BASS", xmlLabel: "Bass" },
1990
+ "drive.middle": { groupCode: "DRV", block: "drive", paramId: 13, wikiName: "MIDDLE", name: "middle", controlType: "knob" },
1991
+ "drive.mid_freq": { groupCode: "DRV", block: "drive", paramId: 14, wikiName: "MID FREQ", name: "mid_freq", controlType: "knob", parameterName: "FUZZ_MIDFREQ", xmlLabel: "Mid Freq" },
1992
+ "drive.treble": { groupCode: "DRV", block: "drive", paramId: 15, wikiName: "TREBLE", name: "treble", controlType: "knob", parameterName: "FUZZ_TREBLE", xmlLabel: "Treble" },
1993
+ "drive.bit_reduce": { groupCode: "DRV", block: "drive", paramId: 16, wikiName: "BIT REDUCE", name: "bit_reduce", controlType: "unknown", parameterName: "FUZZ_BITREDUCE", xmlLabel: "Bit Reduce", displayMin: 0, displayMax: 24, step: 1, modifierAssignable: true },
1994
+ "drive.input": { groupCode: "DRV", block: "drive", paramId: 17, wikiName: "INPUT", name: "input", controlType: "select", enumValues: DRIVE_INPUT_VALUES },
1995
+ "drive.balance": { groupCode: "DRV", block: "drive", paramId: 18, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "FUZZ_PAN", xmlLabel: "Balance", modifierAssignable: true },
1996
+ "drive.sample_rate": { groupCode: "DRV", block: "drive", paramId: 19, wikiName: "SAMPLE RATE", name: "sample_rate", controlType: "knob", parameterName: "FUZZ_RESAMPLE", xmlLabel: "Sample Rate", modifierAssignable: true },
1997
+ "effectsloop.level_1": { groupCode: "FXL", block: "effectsloop", paramId: 0, wikiName: "Level 1", name: "level_1", controlType: "knob", parameterName: "OUTPUT_LEVEL1", xmlLabel: "Level 1" },
1998
+ "effectsloop.level_2": { groupCode: "FXL", block: "effectsloop", paramId: 1, wikiName: "Level 2", name: "level_2", controlType: "knob", parameterName: "OUTPUT_LEVEL2", xmlLabel: "Level 2" },
1999
+ "effectsloop.level_3": { groupCode: "FXL", block: "effectsloop", paramId: 2, wikiName: "Level 3", name: "level_3", controlType: "knob", parameterName: "OUTPUT_LEVEL3", xmlLabel: "Level 3" },
2000
+ "effectsloop.level_4": { groupCode: "FXL", block: "effectsloop", paramId: 3, wikiName: "Level 4", name: "level_4", controlType: "knob", parameterName: "OUTPUT_LEVEL4", xmlLabel: "Level 4" },
2001
+ "effectsloop.pan_1": { groupCode: "FXL", block: "effectsloop", paramId: 4, wikiName: "Pan 1", name: "pan_1", controlType: "knob", parameterName: "OUTPUT_PAN1", xmlLabel: "Pan 1" },
2002
+ "effectsloop.pan_2": { groupCode: "FXL", block: "effectsloop", paramId: 5, wikiName: "Pan 2", name: "pan_2", controlType: "knob", parameterName: "OUTPUT_PAN2", xmlLabel: "Pan 2" },
2003
+ "effectsloop.pan_3": { groupCode: "FXL", block: "effectsloop", paramId: 6, wikiName: "Pan 3", name: "pan_3", controlType: "knob", parameterName: "OUTPUT_PAN3", xmlLabel: "Pan 3" },
2004
+ "effectsloop.pan_4": { groupCode: "FXL", block: "effectsloop", paramId: 7, wikiName: "Pan 4", name: "pan_4", controlType: "knob", parameterName: "OUTPUT_PAN4", xmlLabel: "Pan 4" },
2005
+ "effectsloop.scene_1": { groupCode: "FXL", block: "effectsloop", paramId: 8, wikiName: "SCENE 1", name: "scene_1", controlType: "unknown" },
2006
+ "effectsloop.scene_2": { groupCode: "FXL", block: "effectsloop", paramId: 9, wikiName: "SCENE 2", name: "scene_2", controlType: "unknown" },
2007
+ "effectsloop.scene_3": { groupCode: "FXL", block: "effectsloop", paramId: 10, wikiName: "SCENE 3", name: "scene_3", controlType: "unknown" },
2008
+ "effectsloop.scene_4": { groupCode: "FXL", block: "effectsloop", paramId: 11, wikiName: "SCENE 4", name: "scene_4", controlType: "unknown" },
2009
+ "effectsloop.scene_5": { groupCode: "FXL", block: "effectsloop", paramId: 12, wikiName: "SCENE 5", name: "scene_5", controlType: "unknown" },
2010
+ "effectsloop.scene_6": { groupCode: "FXL", block: "effectsloop", paramId: 13, wikiName: "SCENE 6", name: "scene_6", controlType: "unknown" },
2011
+ "effectsloop.scene_7": { groupCode: "FXL", block: "effectsloop", paramId: 14, wikiName: "SCENE 7", name: "scene_7", controlType: "unknown" },
2012
+ "effectsloop.scene_8": { groupCode: "FXL", block: "effectsloop", paramId: 15, wikiName: "SCENE 8", name: "scene_8", controlType: "unknown" },
2013
+ "effectsloop.level": { groupCode: "FXL", block: "effectsloop", paramId: 16, wikiName: "Level", name: "level", controlType: "knob", parameterName: "OUTPUT_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2014
+ "effectsloop.balance": { groupCode: "FXL", block: "effectsloop", paramId: 17, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "OUTPUT_PAN", xmlLabel: "Balance", modifierAssignable: true },
2015
+ "effectsloop.bypass_mode": { groupCode: "FXL", block: "effectsloop", paramId: 18, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "OUTPUT_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: EFFECTSLOOP_BYPASS_MODE_VALUES, modifierAssignable: true },
2016
+ "enhancer.width": { groupCode: "ENH", block: "enhancer", paramId: 0, wikiName: "WIDTH", name: "width", controlType: "knob", parameterName: "ENHANCER_WIDTH", xmlLabel: "Width" },
2017
+ "enhancer.depth": { groupCode: "ENH", block: "enhancer", paramId: 1, wikiName: "DEPTH", name: "depth", controlType: "knob", parameterName: "ENHANCER_DEPTH", xmlLabel: "Depth" },
2018
+ "enhancer.low_cut": { groupCode: "ENH", block: "enhancer", paramId: 2, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "ENHANCER_LOWCUT", xmlLabel: "Low Cut" },
2019
+ "enhancer.high_cut": { groupCode: "ENH", block: "enhancer", paramId: 3, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "ENHANCER_HICUT", xmlLabel: "High Cut" },
2020
+ "enhancer.level": { groupCode: "ENH", block: "enhancer", paramId: 4, wikiName: "Level", name: "level", controlType: "knob", parameterName: "ENHANCER_LEVEL", xmlLabel: "Level" },
2021
+ "enhancer.effect_type": { groupCode: "ENH", block: "enhancer", paramId: 6, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: ENHANCER_EFFECT_TYPE_VALUES },
2022
+ "enhancer.invert": { groupCode: "ENH", block: "enhancer", paramId: 7, wikiName: "INVERT", name: "invert", controlType: "select", parameterName: "ENHANCER_PHASE", xmlLabel: "Invert", enumValues: ENHANCER_INVERT_VALUES },
2023
+ "enhancer.pan_left": { groupCode: "ENH", block: "enhancer", paramId: 8, wikiName: "Pan Left", name: "pan_left", controlType: "knob", parameterName: "ENHANCER_PANL", xmlLabel: "Pan Left" },
2024
+ "enhancer.pan_right": { groupCode: "ENH", block: "enhancer", paramId: 9, wikiName: "Pan Right", name: "pan_right", controlType: "knob", parameterName: "ENHANCER_PANR", xmlLabel: "Pan Right" },
2025
+ "enhancer.balance": { groupCode: "ENH", block: "enhancer", paramId: 10, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "ENHANCER_PAN", xmlLabel: "Balance" },
2026
+ "feedbackreturn.mix": { groupCode: "RTN", block: "feedbackreturn", paramId: 0, wikiName: "Mix", name: "mix", controlType: "knob", parameterName: "FDBKRET_MIX", xmlLabel: "Mix", modifierAssignable: true },
2027
+ "feedbackreturn.level": { groupCode: "RTN", block: "feedbackreturn", paramId: 1, wikiName: "Level", name: "level", controlType: "knob", parameterName: "FDBKRET_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2028
+ "feedbackreturn.balance": { groupCode: "RTN", block: "feedbackreturn", paramId: 2, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "FDBKRET_PAN", xmlLabel: "Balance", modifierAssignable: true },
2029
+ "feedbackreturn.bypass_mode": { groupCode: "RTN", block: "feedbackreturn", paramId: 3, wikiName: "Bypass Mode", name: "bypass_mode", controlType: "select", parameterName: "FDBKRET_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: FEEDBACKRETURN_BYPASS_MODE_VALUES, modifierAssignable: true },
2030
+ "feedbackreturn.global_mix": { groupCode: "RTN", block: "feedbackreturn", paramId: 4, wikiName: "Global Mix", name: "global_mix", controlType: "switch" },
2031
+ "feedbacksend.send_level": { groupCode: "SND", block: "feedbacksend", paramId: 0, wikiName: "Send Level", name: "send_level", controlType: "knob", parameterName: "FDBKSEND_SENDLEVEL", xmlLabel: "Send Level" },
2032
+ "feedbacksend.out_level": { groupCode: "SND", block: "feedbacksend", paramId: 1, wikiName: "Out Level", name: "out_level", controlType: "knob" },
2033
+ "filter.effect_type": { groupCode: "FIL", block: "filter", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: FILTER_EFFECT_TYPE_VALUES },
2034
+ "filter.frequency": { groupCode: "FIL", block: "filter", paramId: 1, wikiName: "FREQUENCY", name: "frequency", controlType: "knob", parameterName: "FILTER_FREQ", xmlLabel: "Frequency", modifierAssignable: true },
2035
+ "filter.q": { groupCode: "FIL", block: "filter", paramId: 2, wikiName: "Q", name: "q", controlType: "knob", parameterName: "FILTER_Q", xmlLabel: "Q", modifierAssignable: true },
2036
+ "filter.gain": { groupCode: "FIL", block: "filter", paramId: 3, wikiName: "GAIN", name: "gain", controlType: "knob", parameterName: "FILTER_GAIN", xmlLabel: "Gain", modifierAssignable: true },
2037
+ "filter.level": { groupCode: "FIL", block: "filter", paramId: 4, wikiName: "Level", name: "level", controlType: "knob", parameterName: "FILTER_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2038
+ "filter.balance": { groupCode: "FIL", block: "filter", paramId: 5, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "FILTER_BAL", xmlLabel: "Balance", modifierAssignable: true },
2039
+ "filter.bypass_mode": { groupCode: "FIL", block: "filter", paramId: 6, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "FILTER_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: FILTER_BYPASS_MODE_VALUES, modifierAssignable: true },
2040
+ "filter.order": { groupCode: "FIL", block: "filter", paramId: 7, wikiName: "ORDER", name: "order", controlType: "select", parameterName: "FILTER_ORDER", xmlLabel: "Order", enumValues: FILTER_ORDER_VALUES },
2041
+ "filter.pan_left": { groupCode: "FIL", block: "filter", paramId: 9, wikiName: "Pan Left", name: "pan_left", controlType: "knob", parameterName: "FILTER_PANL", xmlLabel: "Pan Left" },
2042
+ "filter.pan_right": { groupCode: "FIL", block: "filter", paramId: 10, wikiName: "Pan Right", name: "pan_right", controlType: "knob", parameterName: "FILTER_PANR", xmlLabel: "Pan Right" },
2043
+ "filter.invert": { groupCode: "FIL", block: "filter", paramId: 11, wikiName: "INVERT", name: "invert", controlType: "select", parameterName: "FILTER_PHASE", xmlLabel: "Invert", enumValues: FILTER_INVERT_VALUES },
2044
+ "filter.low_cut": { groupCode: "FIL", block: "filter", paramId: 12, wikiName: "LOW CUT", name: "low_cut", controlType: "knob" },
2045
+ "filter.hi_cut": { groupCode: "FIL", block: "filter", paramId: 13, wikiName: "HI CUT", name: "hi_cut", controlType: "knob" },
2046
+ "flanger.effect_type": { groupCode: "FLG", block: "flanger", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: FLANGER_EFFECT_TYPE_VALUES },
2047
+ "flanger.rate": { groupCode: "FLG", block: "flanger", paramId: 1, wikiName: "RATE", name: "rate", controlType: "knob", parameterName: "FLANGER_RATE", xmlLabel: "Rate", modifierAssignable: true },
2048
+ "flanger.tempo": { groupCode: "FLG", block: "flanger", paramId: 2, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "FLANGER_TEMPO", xmlLabel: "Tempo" },
2049
+ "flanger.depth": { groupCode: "FLG", block: "flanger", paramId: 3, wikiName: "DEPTH", name: "depth", controlType: "knob", parameterName: "FLANGER_DEPTH", xmlLabel: "Depth", modifierAssignable: true },
2050
+ "flanger.feedback": { groupCode: "FLG", block: "flanger", paramId: 4, wikiName: "FEEDBACK", name: "feedback", controlType: "knob", parameterName: "FLANGER_FEEDBACK", xmlLabel: "Feedback", modifierAssignable: true },
2051
+ "flanger.delay_time": { groupCode: "FLG", block: "flanger", paramId: 5, wikiName: "DELAY TIME", name: "delay_time", controlType: "knob", parameterName: "FLANGER_DELAYTIME", xmlLabel: "Delay Time", modifierAssignable: true },
2052
+ "flanger.dry_delay_shift": { groupCode: "FLG", block: "flanger", paramId: 6, wikiName: "DRY DELAY SHIFT", name: "dry_delay_shift", controlType: "knob" },
2053
+ "flanger.lfo_phase": { groupCode: "FLG", block: "flanger", paramId: 7, wikiName: "LFO PHASE", name: "lfo_phase", controlType: "knob", parameterName: "FLANGER_LFOPHASE", xmlLabel: "LFO Phase" },
2054
+ "flanger.lfo_type": { groupCode: "FLG", block: "flanger", paramId: 8, wikiName: "LFO TYPE", name: "lfo_type", controlType: "select", parameterName: "FLANGER_LFOTYPE", xmlLabel: "LFO Type", enumValues: FLANGER_LFO_TYPE_VALUES },
2055
+ "flanger.lfo_highcut": { groupCode: "FLG", block: "flanger", paramId: 9, wikiName: "LFO HIGHCUT", name: "lfo_highcut", controlType: "knob" },
2056
+ "flanger.auto_depth": { groupCode: "FLG", block: "flanger", paramId: 10, wikiName: "AUTO DEPTH", name: "auto_depth", controlType: "select", parameterName: "FLANGER_AUTO", xmlLabel: "Auto depth", enumValues: FLANGER_AUTO_DEPTH_VALUES },
2057
+ "flanger.mix": { groupCode: "FLG", block: "flanger", paramId: 11, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "FLANGER_MIX", xmlLabel: "Mix", modifierAssignable: true },
2058
+ "flanger.level": { groupCode: "FLG", block: "flanger", paramId: 12, wikiName: "Level", name: "level", controlType: "knob", parameterName: "FLANGER_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2059
+ "flanger.balance": { groupCode: "FLG", block: "flanger", paramId: 13, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "FLANGER_PAN", xmlLabel: "Balance", modifierAssignable: true },
2060
+ "flanger.bypass_mode": { groupCode: "FLG", block: "flanger", paramId: 14, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "FLANGER_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: FLANGER_BYPASS_MODE_VALUES, modifierAssignable: true },
2061
+ "flanger.global": { groupCode: "FLG", block: "flanger", paramId: 15, wikiName: "GLOBAL", name: "global", controlType: "switch" },
2062
+ "flanger.phase_reverse": { groupCode: "FLG", block: "flanger", paramId: 17, wikiName: "PHASE REVERSE", name: "phase_reverse", controlType: "select", parameterName: "FLANGER_PHASEREV", xmlLabel: "Phase Reverse", enumValues: FLANGER_PHASE_REVERSE_VALUES },
2063
+ "flanger.thru_zero": { groupCode: "FLG", block: "flanger", paramId: 18, wikiName: "THRU ZERO", name: "thru_zero", controlType: "switch", parameterName: "FLANGER_THRUZERO", xmlLabel: "Thru-Zero" },
2064
+ "flanger.high_cut": { groupCode: "FLG", block: "flanger", paramId: 19, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob" },
2065
+ "flanger.drive": { groupCode: "FLG", block: "flanger", paramId: 20, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "FLANGER_DRIVE", xmlLabel: "Drive" },
2066
+ "flanger.low_cut": { groupCode: "FLG", block: "flanger", paramId: 21, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "FLANGER_LOWCUT", xmlLabel: "Low Cut" },
2067
+ "flanger.spread": { groupCode: "FLG", block: "flanger", paramId: 22, wikiName: "SPREAD", name: "spread", controlType: "knob", parameterName: "FLANGER_SPREAD", xmlLabel: "Spread" },
2068
+ "formant.start": { groupCode: "FRM", block: "formant", paramId: 0, wikiName: "START", name: "start", controlType: "select", parameterName: "FORMANT_FSTART", xmlLabel: "Start", enumValues: FORMANT_START_VALUES },
2069
+ "formant.mid": { groupCode: "FRM", block: "formant", paramId: 1, wikiName: "MID", name: "mid", controlType: "select", parameterName: "FORMANT_FMID", xmlLabel: "Mid", enumValues: FORMANT_MID_VALUES },
2070
+ "formant.end": { groupCode: "FRM", block: "formant", paramId: 2, wikiName: "END", name: "end", controlType: "select", parameterName: "FORMANT_FEND", xmlLabel: "End", enumValues: FORMANT_END_VALUES },
2071
+ "formant.resonance": { groupCode: "FRM", block: "formant", paramId: 3, wikiName: "RESONANCE", name: "resonance", controlType: "knob", parameterName: "FORMANT_Q", xmlLabel: "Resonance", modifierAssignable: true },
2072
+ "formant.control": { groupCode: "FRM", block: "formant", paramId: 4, wikiName: "CONTROL", name: "control", controlType: "knob", parameterName: "FORMANT_CTRL", xmlLabel: "Control", modifierAssignable: true },
2073
+ "formant.mix": { groupCode: "FRM", block: "formant", paramId: 5, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "FORMANT_MIX", xmlLabel: "Mix", modifierAssignable: true },
2074
+ "formant.level": { groupCode: "FRM", block: "formant", paramId: 6, wikiName: "Level", name: "level", controlType: "knob", parameterName: "FORMANT_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2075
+ "formant.balance": { groupCode: "FRM", block: "formant", paramId: 7, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "FORMANT_PAN", xmlLabel: "Balance", modifierAssignable: true },
2076
+ "formant.bypass_mode": { groupCode: "FRM", block: "formant", paramId: 8, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "FORMANT_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: FORMANT_BYPASS_MODE_VALUES, modifierAssignable: true },
2077
+ "formant.global": { groupCode: "FRM", block: "formant", paramId: 9, wikiName: "GLOBAL", name: "global", controlType: "switch" },
2078
+ "gateexpander.threshold": { groupCode: "GTE", block: "gateexpander", paramId: 0, wikiName: "THRESHOLD", name: "threshold", controlType: "knob", parameterName: "GATE_THRESH", xmlLabel: "Threshold", modifierAssignable: true },
2079
+ "gateexpander.attack": { groupCode: "GTE", block: "gateexpander", paramId: 1, wikiName: "ATTACK", name: "attack", controlType: "knob", parameterName: "GATE_ATTACK", xmlLabel: "Attack" },
2080
+ "gateexpander.hold": { groupCode: "GTE", block: "gateexpander", paramId: 2, wikiName: "HOLD", name: "hold", controlType: "knob", parameterName: "GATE_HOLD", xmlLabel: "Hold" },
2081
+ "gateexpander.release": { groupCode: "GTE", block: "gateexpander", paramId: 3, wikiName: "RELEASE", name: "release", controlType: "knob", parameterName: "GATE_RELEASE", xmlLabel: "Release" },
2082
+ "gateexpander.ratio": { groupCode: "GTE", block: "gateexpander", paramId: 4, wikiName: "RATIO", name: "ratio", controlType: "knob", parameterName: "GATE_RATIO", xmlLabel: "Ratio", modifierAssignable: true },
2083
+ "gateexpander.sidechain_select": { groupCode: "GTE", block: "gateexpander", paramId: 5, wikiName: "SIDECHAIN SELECT", name: "sidechain_select", controlType: "select", parameterName: "GATE_KEY", xmlLabel: "Sidechain Select", enumValues: GATEEXPANDER_SIDECHAIN_SELECT_VALUES },
2084
+ "gateexpander.low_cut": { groupCode: "GTE", block: "gateexpander", paramId: 6, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "GATE_LOWCUT", xmlLabel: "Low Cut" },
2085
+ "gateexpander.high_cut": { groupCode: "GTE", block: "gateexpander", paramId: 7, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "GATE_HICUT", xmlLabel: "High Cut" },
2086
+ "gateexpander.level": { groupCode: "GTE", block: "gateexpander", paramId: 9, wikiName: "Level", name: "level", controlType: "knob", parameterName: "GATE_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2087
+ "gateexpander.balance": { groupCode: "GTE", block: "gateexpander", paramId: 10, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "GATE_PAN", xmlLabel: "Balance", modifierAssignable: true },
2088
+ "gateexpander.bypass_mode": { groupCode: "GTE", block: "gateexpander", paramId: 11, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "GATE_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: GATEEXPANDER_BYPASS_MODE_VALUES, modifierAssignable: true },
2089
+ "graphiceq.31": { groupCode: "GEQ", block: "graphiceq", paramId: 0, wikiName: "31", name: "31", controlType: "unknown", parameterName: "GEQ_GAIN1", xmlLabel: "31", gateOn: "GEQ_TYPE" },
2090
+ "graphiceq.63": { groupCode: "GEQ", block: "graphiceq", paramId: 1, wikiName: "63", name: "63", controlType: "unknown", parameterName: "GEQ_GAIN2", xmlLabel: "63", gateOn: "GEQ_TYPE" },
2091
+ "graphiceq.125": { groupCode: "GEQ", block: "graphiceq", paramId: 2, wikiName: "125", name: "125", controlType: "unknown", parameterName: "GEQ_GAIN3", xmlLabel: "125", gateOn: "GEQ_TYPE" },
2092
+ "graphiceq.250": { groupCode: "GEQ", block: "graphiceq", paramId: 3, wikiName: "250", name: "250", controlType: "unknown", parameterName: "GEQ_GAIN4", xmlLabel: "250", gateOn: "GEQ_TYPE" },
2093
+ "graphiceq.500": { groupCode: "GEQ", block: "graphiceq", paramId: 4, wikiName: "500", name: "500", controlType: "unknown", parameterName: "GEQ_GAIN5", xmlLabel: "500", gateOn: "GEQ_TYPE" },
2094
+ "graphiceq.1k": { groupCode: "GEQ", block: "graphiceq", paramId: 5, wikiName: "1K", name: "1k", controlType: "unknown", parameterName: "GEQ_GAIN6", xmlLabel: "1k", gateOn: "GEQ_TYPE" },
2095
+ "graphiceq.2k": { groupCode: "GEQ", block: "graphiceq", paramId: 6, wikiName: "2K", name: "2k", controlType: "unknown", parameterName: "GEQ_GAIN7", xmlLabel: "2k", gateOn: "GEQ_TYPE" },
2096
+ "graphiceq.4k": { groupCode: "GEQ", block: "graphiceq", paramId: 7, wikiName: "4K", name: "4k", controlType: "unknown", parameterName: "GEQ_GAIN8", xmlLabel: "4k", gateOn: "GEQ_TYPE" },
2097
+ "graphiceq.8k": { groupCode: "GEQ", block: "graphiceq", paramId: 8, wikiName: "8K", name: "8k", controlType: "unknown", parameterName: "GEQ_GAIN9", xmlLabel: "8k", gateOn: "GEQ_TYPE" },
2098
+ "graphiceq.16k": { groupCode: "GEQ", block: "graphiceq", paramId: 9, wikiName: "16K", name: "16k", controlType: "unknown", parameterName: "GEQ_GAIN10", xmlLabel: "16k", gateOn: "GEQ_TYPE" },
2099
+ "graphiceq.level": { groupCode: "GEQ", block: "graphiceq", paramId: 11, wikiName: "Level", name: "level", controlType: "knob", parameterName: "GEQ_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2100
+ "graphiceq.balance": { groupCode: "GEQ", block: "graphiceq", paramId: 12, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "GEQ_PAN", xmlLabel: "Balance", modifierAssignable: true },
2101
+ "graphiceq.bypass_mode": { groupCode: "GEQ", block: "graphiceq", paramId: 13, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "GEQ_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: GRAPHICEQ_BYPASS_MODE_VALUES, modifierAssignable: true },
2102
+ "graphiceq.effect_type": { groupCode: "GEQ", block: "graphiceq", paramId: 15, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: GRAPHICEQ_EFFECT_TYPE_VALUES },
2103
+ "graphiceq.master_q": { groupCode: "GEQ", block: "graphiceq", paramId: 16, wikiName: "MASTER Q", name: "master_q", controlType: "knob", parameterName: "GEQ_MASTERQ", xmlLabel: "Master Q" },
2104
+ "input.threshold": { groupCode: "INPUT", block: "input", paramId: 0, wikiName: "THRESHOLD", name: "threshold", controlType: "knob", modifierAssignable: true },
2105
+ "input.ratio": { groupCode: "INPUT", block: "input", paramId: 1, wikiName: "RATIO", name: "ratio", controlType: "knob", modifierAssignable: true },
2106
+ "input.release": { groupCode: "INPUT", block: "input", paramId: 2, wikiName: "RELEASE", name: "release", controlType: "knob" },
2107
+ "input.attack": { groupCode: "INPUT", block: "input", paramId: 3, wikiName: "ATTACK", name: "attack", controlType: "knob" },
2108
+ "input.input_z": { groupCode: "INPUT", block: "input", paramId: 4, wikiName: "INPUT Z", name: "input_z", controlType: "select", enumValues: INPUT_INPUT_Z_VALUES },
2109
+ "input.level": { groupCode: "INPUT", block: "input", paramId: 5, wikiName: "Level", name: "level", controlType: "knob" },
2110
+ "input.effect_type": { groupCode: "INPUT", block: "input", paramId: 7, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: INPUT_EFFECT_TYPE_VALUES },
2111
+ "looper.mix": { groupCode: "LPR", block: "looper", paramId: 0, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "LOOPER_MIX", xmlLabel: "Mix", modifierAssignable: true },
2112
+ "looper.level": { groupCode: "LPR", block: "looper", paramId: 1, wikiName: "Level", name: "level", controlType: "knob", parameterName: "LOOPER_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2113
+ "looper.balance": { groupCode: "LPR", block: "looper", paramId: 2, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "LOOPER_PAN", xmlLabel: "Balance", modifierAssignable: true },
2114
+ "looper.bypass_mode": { groupCode: "LPR", block: "looper", paramId: 3, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "LOOPER_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: LOOPER_BYPASS_MODE_VALUES, modifierAssignable: true },
2115
+ "looper.dub_mix": { groupCode: "LPR", block: "looper", paramId: 5, wikiName: "DUB MIX", name: "dub_mix", controlType: "knob", parameterName: "LOOPER_OVERDUBMIX", xmlLabel: "Dub Mix", modifierAssignable: true },
2116
+ "looper.threshold": { groupCode: "LPR", block: "looper", paramId: 6, wikiName: "THRESHOLD", name: "threshold", controlType: "switch", parameterName: "LOOPER_THRESH", xmlLabel: "Threshold" },
2117
+ "looper.thres_level": { groupCode: "LPR", block: "looper", paramId: 7, wikiName: "THRES Level", name: "thres_level", controlType: "knob" },
2118
+ "looper.mode": { groupCode: "LPR", block: "looper", paramId: 8, wikiName: "MODE", name: "mode", controlType: "select", parameterName: "LOOPER_MODE", xmlLabel: "Mode", enumValues: LOOPER_MODE_VALUES },
2119
+ "looper.quantize": { groupCode: "LPR", block: "looper", paramId: 9, wikiName: "QUANTIZE", name: "quantize", controlType: "select", parameterName: "LOOPER_QUANTIZE", xmlLabel: "Quantize", enumValues: LOOPER_QUANTIZE_VALUES },
2120
+ "looper.trim_stop": { groupCode: "LPR", block: "looper", paramId: 10, wikiName: "TRIM STOP", name: "trim_stop", controlType: "knob", parameterName: "LOOPER_STOP", xmlLabel: "Trim Stop", modifierAssignable: true },
2121
+ "looper.trim_start": { groupCode: "LPR", block: "looper", paramId: 11, wikiName: "TRIM START", name: "trim_start", controlType: "knob", parameterName: "LOOPER_START", xmlLabel: "Trim Start", modifierAssignable: true },
2122
+ "looper.immediate_play": { groupCode: "LPR", block: "looper", paramId: 12, wikiName: "IMMEDIATE PLAY", name: "immediate_play", controlType: "switch", parameterName: "LOOPER_PLAYIMMEDIATE", xmlLabel: "Immediate Play" },
2123
+ "looper.record_beats": { groupCode: "LPR", block: "looper", paramId: 13, wikiName: "RECORD BEATS", name: "record_beats", controlType: "unknown", parameterName: "LOOPER_RECORDBEATS", xmlLabel: "Record Beats", displayMin: 0, displayMax: 16, step: 1 },
2124
+ "megatap.in_gain": { groupCode: "MGT", block: "megatap", paramId: 0, wikiName: "In Gain", name: "in_gain", controlType: "knob", parameterName: "MEGATAP_INGAIN", xmlLabel: "In Gain", modifierAssignable: true },
2125
+ "megatap.master_level": { groupCode: "MGT", block: "megatap", paramId: 1, wikiName: "Master Level", name: "master_level", controlType: "knob", parameterName: "MEGATAP_MASTERLVL", xmlLabel: "Master level", modifierAssignable: true },
2126
+ "megatap.time": { groupCode: "MGT", block: "megatap", paramId: 2, wikiName: "Time", name: "time", controlType: "knob", parameterName: "MEGATAP_TIME", xmlLabel: "Time", modifierAssignable: true },
2127
+ "mixer.gain_1": { groupCode: "MIX", block: "mixer", paramId: 0, wikiName: "Gain 1", name: "gain_1", controlType: "unknown", parameterName: "MIXER_GAIN1", xmlLabel: "Gain 1", modifierAssignable: true },
2128
+ "mixer.gain_2": { groupCode: "MIX", block: "mixer", paramId: 1, wikiName: "Gain 2", name: "gain_2", controlType: "unknown", parameterName: "MIXER_GAIN2", xmlLabel: "Gain 2", modifierAssignable: true },
2129
+ "mixer.gain_3": { groupCode: "MIX", block: "mixer", paramId: 2, wikiName: "Gain 3", name: "gain_3", controlType: "unknown", parameterName: "MIXER_GAIN3", xmlLabel: "Gain 3", modifierAssignable: true },
2130
+ "mixer.gain_4": { groupCode: "MIX", block: "mixer", paramId: 3, wikiName: "Gain 4", name: "gain_4", controlType: "unknown", parameterName: "MIXER_GAIN4", xmlLabel: "Gain 4", modifierAssignable: true },
2131
+ "mixer.balance_1": { groupCode: "MIX", block: "mixer", paramId: 4, wikiName: "Balance 1", name: "balance_1", controlType: "knob", parameterName: "MIXER_PAN1", xmlLabel: "Balance 1", modifierAssignable: true },
2132
+ "mixer.balance_2": { groupCode: "MIX", block: "mixer", paramId: 5, wikiName: "Balance 2", name: "balance_2", controlType: "knob", parameterName: "MIXER_PAN2", xmlLabel: "Balance 2", modifierAssignable: true },
2133
+ "mixer.balance_3": { groupCode: "MIX", block: "mixer", paramId: 6, wikiName: "Balance 3", name: "balance_3", controlType: "knob", parameterName: "MIXER_PAN3", xmlLabel: "Balance 3", modifierAssignable: true },
2134
+ "mixer.balance_4": { groupCode: "MIX", block: "mixer", paramId: 7, wikiName: "Balance 4", name: "balance_4", controlType: "knob", parameterName: "MIXER_PAN4", xmlLabel: "Balance 4", modifierAssignable: true },
2135
+ "mixer.master": { groupCode: "MIX", block: "mixer", paramId: 8, wikiName: "Master", name: "master", controlType: "knob", modifierAssignable: true },
2136
+ "mixer.out_mode": { groupCode: "MIX", block: "mixer", paramId: 9, wikiName: "Out Mode", name: "out_mode", controlType: "select", enumValues: MIXER_OUT_MODE_VALUES, modifierAssignable: true },
2137
+ "multibandcomp.freq_1": { groupCode: "MBC", block: "multibandcomp", paramId: 0, wikiName: "Freq 1", name: "freq_1", controlType: "knob", parameterName: "MULTICOMP_FREQ1", xmlLabel: "Freq 1" },
2138
+ "multibandcomp.freq_2": { groupCode: "MBC", block: "multibandcomp", paramId: 1, wikiName: "Freq 2", name: "freq_2", controlType: "knob", parameterName: "MULTICOMP_FREQ2", xmlLabel: "Freq 2" },
2139
+ "multibandcomp.threshold_1": { groupCode: "MBC", block: "multibandcomp", paramId: 2, wikiName: "Threshold 1", name: "threshold_1", controlType: "knob" },
2140
+ "multibandcomp.ratio_1": { groupCode: "MBC", block: "multibandcomp", paramId: 3, wikiName: "Ratio 1", name: "ratio_1", controlType: "knob", parameterName: "MULTICOMP_RATIO1", xmlLabel: "Ratio 1" },
2141
+ "multibandcomp.attack_1": { groupCode: "MBC", block: "multibandcomp", paramId: 4, wikiName: "Attack 1", name: "attack_1", controlType: "knob", parameterName: "MULTICOMP_ATTACK1", xmlLabel: "Attack 1" },
2142
+ "multibandcomp.release_1": { groupCode: "MBC", block: "multibandcomp", paramId: 5, wikiName: "Release 1", name: "release_1", controlType: "knob", parameterName: "MULTICOMP_RELEASE1", xmlLabel: "Release 1" },
2143
+ "multibandcomp.level_1": { groupCode: "MBC", block: "multibandcomp", paramId: 6, wikiName: "Level 1", name: "level_1", controlType: "knob", parameterName: "MULTICOMP_LEVEL1", xmlLabel: "Level 1" },
2144
+ "multibandcomp.detect_1": { groupCode: "MBC", block: "multibandcomp", paramId: 7, wikiName: "Detect 1", name: "detect_1", controlType: "select", parameterName: "MULTICOMP_DETECT1", xmlLabel: "Detect 1", enumValues: MULTIBANDCOMP_DETECT_1_VALUES },
2145
+ "multibandcomp.mute_1": { groupCode: "MBC", block: "multibandcomp", paramId: 8, wikiName: "Mute 1", name: "mute_1", controlType: "switch", parameterName: "MULTICOMP_MUTE1", xmlLabel: "Mute 1" },
2146
+ "multibandcomp.threshold_2": { groupCode: "MBC", block: "multibandcomp", paramId: 9, wikiName: "Threshold 2", name: "threshold_2", controlType: "knob" },
2147
+ "multibandcomp.ratio_2": { groupCode: "MBC", block: "multibandcomp", paramId: 10, wikiName: "Ratio 2", name: "ratio_2", controlType: "knob", parameterName: "MULTICOMP_RATIO2", xmlLabel: "Ratio 2" },
2148
+ "multibandcomp.attack_2": { groupCode: "MBC", block: "multibandcomp", paramId: 11, wikiName: "Attack 2", name: "attack_2", controlType: "knob", parameterName: "MULTICOMP_ATTACK2", xmlLabel: "Attack 2" },
2149
+ "multibandcomp.release_2": { groupCode: "MBC", block: "multibandcomp", paramId: 12, wikiName: "Release 2", name: "release_2", controlType: "knob", parameterName: "MULTICOMP_RELEASE2", xmlLabel: "Release 2" },
2150
+ "multibandcomp.level_2": { groupCode: "MBC", block: "multibandcomp", paramId: 13, wikiName: "Level 2", name: "level_2", controlType: "knob", parameterName: "MULTICOMP_LEVEL2", xmlLabel: "Level 2" },
2151
+ "multibandcomp.detect_2": { groupCode: "MBC", block: "multibandcomp", paramId: 14, wikiName: "Detect 2", name: "detect_2", controlType: "select", parameterName: "MULTICOMP_DETECT2", xmlLabel: "Detect 2", enumValues: MULTIBANDCOMP_DETECT_2_VALUES },
2152
+ "multibandcomp.mute_2": { groupCode: "MBC", block: "multibandcomp", paramId: 15, wikiName: "Mute 2", name: "mute_2", controlType: "switch", parameterName: "MULTICOMP_MUTE2", xmlLabel: "Mute 2" },
2153
+ "multibandcomp.threshold_3": { groupCode: "MBC", block: "multibandcomp", paramId: 16, wikiName: "Threshold 3", name: "threshold_3", controlType: "knob" },
2154
+ "multibandcomp.ratio_3": { groupCode: "MBC", block: "multibandcomp", paramId: 17, wikiName: "Ratio 3", name: "ratio_3", controlType: "knob", parameterName: "MULTICOMP_RATIO3", xmlLabel: "Ratio 3" },
2155
+ "multibandcomp.attack_3": { groupCode: "MBC", block: "multibandcomp", paramId: 18, wikiName: "Attack 3", name: "attack_3", controlType: "knob", parameterName: "MULTICOMP_ATTACK3", xmlLabel: "Attack 3" },
2156
+ "multibandcomp.release_3": { groupCode: "MBC", block: "multibandcomp", paramId: 19, wikiName: "Release 3", name: "release_3", controlType: "knob", parameterName: "MULTICOMP_RELEASE3", xmlLabel: "Release 3" },
2157
+ "multibandcomp.level_3": { groupCode: "MBC", block: "multibandcomp", paramId: 20, wikiName: "Level 3", name: "level_3", controlType: "knob", parameterName: "MULTICOMP_LEVEL3", xmlLabel: "Level 3" },
2158
+ "multibandcomp.detect_3": { groupCode: "MBC", block: "multibandcomp", paramId: 21, wikiName: "Detect 3", name: "detect_3", controlType: "select", parameterName: "MULTICOMP_DETECT3", xmlLabel: "Detect 3", enumValues: MULTIBANDCOMP_DETECT_3_VALUES },
2159
+ "multibandcomp.mute_3": { groupCode: "MBC", block: "multibandcomp", paramId: 22, wikiName: "Mute 3", name: "mute_3", controlType: "switch", parameterName: "MULTICOMP_MUTE3", xmlLabel: "Mute 3" },
2160
+ "multibandcomp.level": { groupCode: "MBC", block: "multibandcomp", paramId: 24, wikiName: "Level", name: "level", controlType: "knob", parameterName: "MULTICOMP_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2161
+ "multibandcomp.balance": { groupCode: "MBC", block: "multibandcomp", paramId: 25, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "MULTICOMP_PAN", xmlLabel: "Balance", modifierAssignable: true },
2162
+ "multibandcomp.bypass_mode": { groupCode: "MBC", block: "multibandcomp", paramId: 26, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "MULTICOMP_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: MULTIBANDCOMP_BYPASS_MODE_VALUES, modifierAssignable: true },
2163
+ "multidelay.time_1": { groupCode: "MTD", block: "multidelay", paramId: 0, wikiName: "TIME 1", name: "time_1", controlType: "knob", parameterName: "MULTITAP_TIME1", xmlLabel: "Time 1" },
2164
+ "multidelay.time_2": { groupCode: "MTD", block: "multidelay", paramId: 1, wikiName: "TIME 2", name: "time_2", controlType: "knob", parameterName: "MULTITAP_TIME2", xmlLabel: "Time 2" },
2165
+ "multidelay.time_3": { groupCode: "MTD", block: "multidelay", paramId: 2, wikiName: "TIME 3", name: "time_3", controlType: "knob", parameterName: "MULTITAP_TIME3", xmlLabel: "Time 3" },
2166
+ "multidelay.time_4": { groupCode: "MTD", block: "multidelay", paramId: 3, wikiName: "TIME 4", name: "time_4", controlType: "knob", parameterName: "MULTITAP_TIME4", xmlLabel: "Time 4" },
2167
+ "multidelay.tempo_1": { groupCode: "MTD", block: "multidelay", paramId: 4, wikiName: "Tempo 1", name: "tempo_1", controlType: "select", parameterName: "MULTITAP_TEMPO1", xmlLabel: "Tempo 1" },
2168
+ "multidelay.tempo_2": { groupCode: "MTD", block: "multidelay", paramId: 5, wikiName: "Tempo 2", name: "tempo_2", controlType: "select", parameterName: "MULTITAP_TEMPO2", xmlLabel: "Tempo 2" },
2169
+ "multidelay.tempo_3": { groupCode: "MTD", block: "multidelay", paramId: 6, wikiName: "Tempo 3", name: "tempo_3", controlType: "select", parameterName: "MULTITAP_TEMPO3", xmlLabel: "Tempo 3" },
2170
+ "multidelay.tempo_4": { groupCode: "MTD", block: "multidelay", paramId: 7, wikiName: "Tempo 4", name: "tempo_4", controlType: "select", parameterName: "MULTITAP_TEMPO4", xmlLabel: "Tempo 4" },
2171
+ "multidelay.level_1": { groupCode: "MTD", block: "multidelay", paramId: 8, wikiName: "Level 1", name: "level_1", controlType: "knob", parameterName: "MULTITAP_LEVEL1", xmlLabel: "Level 1" },
2172
+ "multidelay.level_2": { groupCode: "MTD", block: "multidelay", paramId: 9, wikiName: "Level 2", name: "level_2", controlType: "knob", parameterName: "MULTITAP_LEVEL2", xmlLabel: "Level 2" },
2173
+ "multidelay.level_3": { groupCode: "MTD", block: "multidelay", paramId: 10, wikiName: "Level 3", name: "level_3", controlType: "knob", parameterName: "MULTITAP_LEVEL3", xmlLabel: "Level 3" },
2174
+ "multidelay.level_4": { groupCode: "MTD", block: "multidelay", paramId: 11, wikiName: "Level 4", name: "level_4", controlType: "knob", parameterName: "MULTITAP_LEVEL4", xmlLabel: "Level 4" },
2175
+ "multidelay.feedback_1": { groupCode: "MTD", block: "multidelay", paramId: 12, wikiName: "FEEDBACK 1", name: "feedback_1", controlType: "knob", parameterName: "MULTITAP_FEEDBACK1", xmlLabel: "Feedback 1" },
2176
+ "multidelay.feedback_2": { groupCode: "MTD", block: "multidelay", paramId: 13, wikiName: "FEEDBACK 2", name: "feedback_2", controlType: "knob", parameterName: "MULTITAP_FEEDBACK2", xmlLabel: "Feedback 2" },
2177
+ "multidelay.feedback_3": { groupCode: "MTD", block: "multidelay", paramId: 14, wikiName: "FEEDBACK 3", name: "feedback_3", controlType: "knob", parameterName: "MULTITAP_FEEDBACK3", xmlLabel: "Feedback 3" },
2178
+ "multidelay.feedback_4": { groupCode: "MTD", block: "multidelay", paramId: 15, wikiName: "FEEDBACK 4", name: "feedback_4", controlType: "knob", parameterName: "MULTITAP_FEEDBACK4", xmlLabel: "Feedback 4" },
2179
+ "multidelay.pan_1": { groupCode: "MTD", block: "multidelay", paramId: 16, wikiName: "Pan 1", name: "pan_1", controlType: "knob", parameterName: "MULTITAP_PAN1", xmlLabel: "Pan 1" },
2180
+ "multidelay.pan_2": { groupCode: "MTD", block: "multidelay", paramId: 17, wikiName: "Pan 2", name: "pan_2", controlType: "knob", parameterName: "MULTITAP_PAN2", xmlLabel: "Pan 2" },
2181
+ "multidelay.pan_3": { groupCode: "MTD", block: "multidelay", paramId: 18, wikiName: "Pan 3", name: "pan_3", controlType: "knob", parameterName: "MULTITAP_PAN3", xmlLabel: "Pan 3" },
2182
+ "multidelay.pan_4": { groupCode: "MTD", block: "multidelay", paramId: 19, wikiName: "Pan 4", name: "pan_4", controlType: "knob", parameterName: "MULTITAP_PAN4", xmlLabel: "Pan 4" },
2183
+ "multidelay.lfo1_rate": { groupCode: "MTD", block: "multidelay", paramId: 20, wikiName: "LFO1 RATE", name: "lfo1_rate", controlType: "knob", parameterName: "MULTITAP_RATE1", xmlLabel: "LFO1 Rate" },
2184
+ "multidelay.lfo2_rate": { groupCode: "MTD", block: "multidelay", paramId: 21, wikiName: "LFO2 RATE", name: "lfo2_rate", controlType: "knob", parameterName: "MULTITAP_RATE2", xmlLabel: "LFO2 Rate" },
2185
+ "multidelay.lfo3_rate": { groupCode: "MTD", block: "multidelay", paramId: 22, wikiName: "LFO3 RATE", name: "lfo3_rate", controlType: "knob", parameterName: "MULTITAP_RATE3", xmlLabel: "LFO3 Rate" },
2186
+ "multidelay.lfo4_rate": { groupCode: "MTD", block: "multidelay", paramId: 23, wikiName: "LFO4 RATE", name: "lfo4_rate", controlType: "knob", parameterName: "MULTITAP_RATE4", xmlLabel: "LFO4 Rate" },
2187
+ "multidelay.lfo1_tempo": { groupCode: "MTD", block: "multidelay", paramId: 24, wikiName: "LFO1 Tempo", name: "lfo1_tempo", controlType: "select", parameterName: "MULTITAP_LFOTEMPO1", xmlLabel: "LFO1 Tempo" },
2188
+ "multidelay.lfo2_tempo": { groupCode: "MTD", block: "multidelay", paramId: 25, wikiName: "LFO2 Tempo", name: "lfo2_tempo", controlType: "select", parameterName: "MULTITAP_LFOTEMPO2", xmlLabel: "LFO2 Tempo" },
2189
+ "multidelay.lfo3_tempo": { groupCode: "MTD", block: "multidelay", paramId: 26, wikiName: "LFO3 Tempo", name: "lfo3_tempo", controlType: "select", parameterName: "MULTITAP_LFOTEMPO3", xmlLabel: "LFO3 Tempo" },
2190
+ "multidelay.lfo4_tempo": { groupCode: "MTD", block: "multidelay", paramId: 27, wikiName: "LFO4 Tempo", name: "lfo4_tempo", controlType: "select", parameterName: "MULTITAP_LFOTEMPO4", xmlLabel: "LFO4 Tempo" },
2191
+ "multidelay.mix": { groupCode: "MTD", block: "multidelay", paramId: 28, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "MULTITAP_MIX", xmlLabel: "Mix", modifierAssignable: true },
2192
+ "multidelay.level": { groupCode: "MTD", block: "multidelay", paramId: 29, wikiName: "Level", name: "level", controlType: "knob", parameterName: "MULTITAP_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2193
+ "multidelay.balance": { groupCode: "MTD", block: "multidelay", paramId: 30, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "MULTITAP_PAN", xmlLabel: "Balance", modifierAssignable: true },
2194
+ "multidelay.bypass_mode": { groupCode: "MTD", block: "multidelay", paramId: 31, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "MULTITAP_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: MULTIDELAY_BYPASS_MODE_VALUES, modifierAssignable: true },
2195
+ "multidelay.global_mix": { groupCode: "MTD", block: "multidelay", paramId: 32, wikiName: "GLOBAL MIX", name: "global_mix", controlType: "switch" },
2196
+ "multidelay.input_gain": { groupCode: "MTD", block: "multidelay", paramId: 33, wikiName: "INPUT GAIN", name: "input_gain", controlType: "knob", parameterName: "MULTITAP_INGAIN", xmlLabel: "Input Gain", modifierAssignable: true },
2197
+ "multidelay.effect_type": { groupCode: "MTD", block: "multidelay", paramId: 35, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: MULTIDELAY_EFFECT_TYPE_VALUES },
2198
+ "multidelay.decay_time": { groupCode: "MTD", block: "multidelay", paramId: 36, wikiName: "DECAY TIME", name: "decay_time", controlType: "knob", parameterName: "MULTITAP_DECAY", xmlLabel: "Decay Time" },
2199
+ "multidelay.diffusion": { groupCode: "MTD", block: "multidelay", paramId: 37, wikiName: "DIFFUSION", name: "diffusion", controlType: "knob", parameterName: "MULTITAP_DIFFUSION", xmlLabel: "Diffusion" },
2200
+ "multidelay.input_diff": { groupCode: "MTD", block: "multidelay", paramId: 38, wikiName: "INPUT DIFF", name: "input_diff", controlType: "knob" },
2201
+ "multidelay.diff_time": { groupCode: "MTD", block: "multidelay", paramId: 39, wikiName: "DIFF TIME", name: "diff_time", controlType: "knob" },
2202
+ "multidelay.ducker_thres": { groupCode: "MTD", block: "multidelay", paramId: 40, wikiName: "DUCKER THRES", name: "ducker_thres", controlType: "knob" },
2203
+ "multidelay.crossfade": { groupCode: "MTD", block: "multidelay", paramId: 41, wikiName: "CROSSFADE", name: "crossfade", controlType: "knob", parameterName: "MULTITAP_SPLICE", xmlLabel: "Crossfade" },
2204
+ "multidelay.master_time": { groupCode: "MTD", block: "multidelay", paramId: 42, wikiName: "MASTER TIME", name: "master_time", controlType: "knob", parameterName: "MULTITAP_MSTRTIME", xmlLabel: "Master Time", modifierAssignable: true },
2205
+ "multidelay.master_level": { groupCode: "MTD", block: "multidelay", paramId: 43, wikiName: "MASTER Level", name: "master_level", controlType: "knob", parameterName: "MULTITAP_MSTRLVL", xmlLabel: "Master Level", modifierAssignable: true },
2206
+ "multidelay.master_pan": { groupCode: "MTD", block: "multidelay", paramId: 44, wikiName: "MASTER Pan", name: "master_pan", controlType: "knob", parameterName: "MULTITAP_MSTRPAN", xmlLabel: "Master Pan", modifierAssignable: true },
2207
+ "multidelay.master_freq": { groupCode: "MTD", block: "multidelay", paramId: 45, wikiName: "MASTER FREQ", name: "master_freq", controlType: "knob", modifierAssignable: true },
2208
+ "multidelay.master_q": { groupCode: "MTD", block: "multidelay", paramId: 46, wikiName: "MASTER Q", name: "master_q", controlType: "knob", parameterName: "MULTITAP_MSTRQ", xmlLabel: "Master Q", modifierAssignable: true },
2209
+ "multidelay.master_feedback": { groupCode: "MTD", block: "multidelay", paramId: 47, wikiName: "MASTER FEEDBACK", name: "master_feedback", controlType: "knob", parameterName: "MULTITAP_MSTRFDBK", xmlLabel: "Master Feedback", modifierAssignable: true },
2210
+ "multidelay.master_pitch": { groupCode: "MTD", block: "multidelay", paramId: 48, wikiName: "MASTER PITCH", name: "master_pitch", controlType: "knob", parameterName: "MULTITAP_MSTRPITCH", xmlLabel: "Master Pitch", modifierAssignable: true },
2211
+ "multidelay.master_detune": { groupCode: "MTD", block: "multidelay", paramId: 49, wikiName: "MASTER DETUNE", name: "master_detune", controlType: "knob", parameterName: "MULTITAP_MSTRDTN", xmlLabel: "Master Detune", modifierAssignable: true },
2212
+ "multidelay.detune_1": { groupCode: "MTD", block: "multidelay", paramId: 50, wikiName: "DETUNE 1", name: "detune_1", controlType: "knob", parameterName: "MULTITAP_DETUNE1", xmlLabel: "Detune 1" },
2213
+ "multidelay.detune_2": { groupCode: "MTD", block: "multidelay", paramId: 51, wikiName: "DETUNE 2", name: "detune_2", controlType: "knob", parameterName: "MULTITAP_DETUNE2", xmlLabel: "Detune 2" },
2214
+ "multidelay.detune_3": { groupCode: "MTD", block: "multidelay", paramId: 52, wikiName: "DETUNE 3", name: "detune_3", controlType: "knob", parameterName: "MULTITAP_DETUNE3", xmlLabel: "Detune 3" },
2215
+ "multidelay.detune_4": { groupCode: "MTD", block: "multidelay", paramId: 53, wikiName: "DETUNE 4", name: "detune_4", controlType: "knob", parameterName: "MULTITAP_DETUNE4", xmlLabel: "Detune 4" },
2216
+ "multidelay.shift_1": { groupCode: "MTD", block: "multidelay", paramId: 54, wikiName: "SHIFT 1", name: "shift_1", controlType: "unknown", parameterName: "MULTITAP_SHIFT1", xmlLabel: "Shift 1", displayMin: 0, displayMax: 48, step: 1 },
2217
+ "multidelay.shift_2": { groupCode: "MTD", block: "multidelay", paramId: 55, wikiName: "SHIFT 2", name: "shift_2", controlType: "unknown", parameterName: "MULTITAP_SHIFT2", xmlLabel: "Shift 2", displayMin: 0, displayMax: 48, step: 1 },
2218
+ "multidelay.shift_3": { groupCode: "MTD", block: "multidelay", paramId: 56, wikiName: "SHIFT 3", name: "shift_3", controlType: "unknown", parameterName: "MULTITAP_SHIFT3", xmlLabel: "Shift 3", displayMin: 0, displayMax: 48, step: 1 },
2219
+ "multidelay.shift_4": { groupCode: "MTD", block: "multidelay", paramId: 57, wikiName: "SHIFT 4", name: "shift_4", controlType: "unknown", parameterName: "MULTITAP_SHIFT4", xmlLabel: "Shift 4", displayMin: 0, displayMax: 48, step: 1 },
2220
+ "multidelay.freq_1": { groupCode: "MTD", block: "multidelay", paramId: 58, wikiName: "FREQ 1", name: "freq_1", controlType: "knob", parameterName: "MULTITAP_FREQ1", xmlLabel: "Freq 1", modifierAssignable: true },
2221
+ "multidelay.freq_2": { groupCode: "MTD", block: "multidelay", paramId: 59, wikiName: "FREQ 2", name: "freq_2", controlType: "knob", parameterName: "MULTITAP_FREQ2", xmlLabel: "Freq 2", modifierAssignable: true },
2222
+ "multidelay.freq_3": { groupCode: "MTD", block: "multidelay", paramId: 60, wikiName: "FREQ 3", name: "freq_3", controlType: "knob", parameterName: "MULTITAP_FREQ3", xmlLabel: "Freq 3", modifierAssignable: true },
2223
+ "multidelay.freq_4": { groupCode: "MTD", block: "multidelay", paramId: 61, wikiName: "FREQ 4", name: "freq_4", controlType: "knob", parameterName: "MULTITAP_FREQ4", xmlLabel: "Freq 4", modifierAssignable: true },
2224
+ "multidelay.q_1": { groupCode: "MTD", block: "multidelay", paramId: 62, wikiName: "Q 1", name: "q_1", controlType: "knob", parameterName: "MULTITAP_Q1", xmlLabel: "Q 1" },
2225
+ "multidelay.q_2": { groupCode: "MTD", block: "multidelay", paramId: 63, wikiName: "Q 2", name: "q_2", controlType: "knob", parameterName: "MULTITAP_Q2", xmlLabel: "Q 2" },
2226
+ "multidelay.q_3": { groupCode: "MTD", block: "multidelay", paramId: 64, wikiName: "Q 3", name: "q_3", controlType: "knob", parameterName: "MULTITAP_Q3", xmlLabel: "Q 3" },
2227
+ "multidelay.q_4": { groupCode: "MTD", block: "multidelay", paramId: 65, wikiName: "Q 4", name: "q_4", controlType: "knob", parameterName: "MULTITAP_Q4", xmlLabel: "Q 4" },
2228
+ "multidelay.master_rate": { groupCode: "MTD", block: "multidelay", paramId: 66, wikiName: "MASTER RATE", name: "master_rate", controlType: "knob", parameterName: "MULTITAP_MSTRRATE", xmlLabel: "Master Rate", modifierAssignable: true },
2229
+ "multidelay.ducker_atten": { groupCode: "MTD", block: "multidelay", paramId: 67, wikiName: "DUCKER ATTEN", name: "ducker_atten", controlType: "knob", parameterName: "MULTITAP_ATTEN", xmlLabel: "Ducker Atten" },
2230
+ "multidelay.master_depth": { groupCode: "MTD", block: "multidelay", paramId: 68, wikiName: "MASTER DEPTH", name: "master_depth", controlType: "knob", parameterName: "MULTITAP_MSTRDEPTH", xmlLabel: "Master Depth", modifierAssignable: true },
2231
+ "multidelay.direction": { groupCode: "MTD", block: "multidelay", paramId: 69, wikiName: "DIRECTION", name: "direction", controlType: "select", parameterName: "MULTITAP_DIRECTION", xmlLabel: "Direction", enumValues: MULTIDELAY_DIRECTION_VALUES },
2232
+ "multidelay.tape_speed": { groupCode: "MTD", block: "multidelay", paramId: 70, wikiName: "TAPE SPEED", name: "tape_speed", controlType: "knob", parameterName: "MULTITAP_SPEED", xmlLabel: "Tape Speed" },
2233
+ "multidelay.lfo1_depth": { groupCode: "MTD", block: "multidelay", paramId: 71, wikiName: "LFO1 DEPTH", name: "lfo1_depth", controlType: "knob", parameterName: "MULTITAP_DEPTH1", xmlLabel: "LFO1 Depth" },
2234
+ "multidelay.lfo2_depth": { groupCode: "MTD", block: "multidelay", paramId: 72, wikiName: "LFO2 DEPTH", name: "lfo2_depth", controlType: "knob", parameterName: "MULTITAP_DEPTH2", xmlLabel: "LFO2 Depth" },
2235
+ "multidelay.lfo3_depth": { groupCode: "MTD", block: "multidelay", paramId: 73, wikiName: "LFO3 DEPTH", name: "lfo3_depth", controlType: "knob", parameterName: "MULTITAP_DEPTH3", xmlLabel: "LFO3 Depth" },
2236
+ "multidelay.lfo4_depth": { groupCode: "MTD", block: "multidelay", paramId: 74, wikiName: "LFO4 DEPTH", name: "lfo4_depth", controlType: "knob", parameterName: "MULTITAP_DEPTH4", xmlLabel: "LFO4 Depth" },
2237
+ "multidelay.lfo1_master": { groupCode: "MTD", block: "multidelay", paramId: 75, wikiName: "LFO1 MASTER", name: "lfo1_master", controlType: "switch", parameterName: "MULTITAP_LFOLOCK", xmlLabel: "LFO1 Master" },
2238
+ "multidelay.fb_send": { groupCode: "MTD", block: "multidelay", paramId: 76, wikiName: "FB SEND", name: "fb_send", controlType: "select", parameterName: "MULTITAP_FBKSEND", xmlLabel: "FB Send", enumValues: MULTIDELAY_FB_SEND_VALUES },
2239
+ "multidelay.fb_return": { groupCode: "MTD", block: "multidelay", paramId: 77, wikiName: "FB RETURN", name: "fb_return", controlType: "select", parameterName: "MULTITAP_FBKRET", xmlLabel: "FB Return", enumValues: MULTIDELAY_FB_RETURN_VALUES },
2240
+ "multidelay.mono_stereo": { groupCode: "MTD", block: "multidelay", paramId: 78, wikiName: "MONO/STEREO", name: "mono_stereo", controlType: "select", parameterName: "MULTITAP_STEREO", xmlLabel: "Mono/Stereo", enumValues: MULTIDELAY_MONO_STEREO_VALUES },
2241
+ "multidelay.delay_time": { groupCode: "MTD", block: "multidelay", paramId: 79, wikiName: "DELAY TIME", name: "delay_time", controlType: "knob", parameterName: "MULTITAP_TIMEM", xmlLabel: "Delay Time" },
2242
+ "multidelay.quantize": { groupCode: "MTD", block: "multidelay", paramId: 81, wikiName: "QUANTIZE", name: "quantize", controlType: "select", parameterName: "MULTITAP_QUANTIZE", xmlLabel: "Quantize" },
2243
+ "multidelay.decay": { groupCode: "MTD", block: "multidelay", paramId: 82, wikiName: "DECAY", name: "decay", controlType: "knob", parameterName: "MULTITAP_RDECAY", xmlLabel: "Decay" },
2244
+ "multidelay.number_of_taps": { groupCode: "MTD", block: "multidelay", paramId: 84, wikiName: "NUMBER OF TAPS", name: "number_of_taps", controlType: "unknown", parameterName: "MULTITAP_NUMTAPS", xmlLabel: "Number of Taps", displayMin: 1, displayMax: 10, step: 1 },
2245
+ "multidelay.shuffle": { groupCode: "MTD", block: "multidelay", paramId: 85, wikiName: "SHUFFLE", name: "shuffle", controlType: "knob", parameterName: "MULTITAP_SHUFFLE", xmlLabel: "Shuffle" },
2246
+ "multidelay.delay_tempo": { groupCode: "MTD", block: "multidelay", paramId: 86, wikiName: "DELAY Tempo", name: "delay_tempo", controlType: "select", parameterName: "MULTITAP_RTEMPO", xmlLabel: "Delay tempo" },
2247
+ "multidelay.spread": { groupCode: "MTD", block: "multidelay", paramId: 87, wikiName: "SPREAD", name: "spread", controlType: "knob", parameterName: "MULTITAP_SPREAD", xmlLabel: "Spread" },
2248
+ "multidelay.pan_shape": { groupCode: "MTD", block: "multidelay", paramId: 88, wikiName: "Pan SHAPE", name: "pan_shape", controlType: "select", parameterName: "MULTITAP_PANSHAPE", xmlLabel: "Pan Shape", enumValues: MULTIDELAY_PAN_SHAPE_VALUES },
2249
+ "multidelay.pan_alpha": { groupCode: "MTD", block: "multidelay", paramId: 89, wikiName: "Pan ALPHA", name: "pan_alpha", controlType: "knob", parameterName: "MULTITAP_PANALPHA", xmlLabel: "Pan alpha" },
2250
+ "multidelay.low_cut": { groupCode: "MTD", block: "multidelay", paramId: 90, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "MULTITAP_LOWCUT", xmlLabel: "Low Cut" },
2251
+ "multidelay.high_cut": { groupCode: "MTD", block: "multidelay", paramId: 91, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "MULTITAP_HIGHCUT", xmlLabel: "High Cut" },
2252
+ "multidelay.ratio": { groupCode: "MTD", block: "multidelay", paramId: 92, wikiName: "RATIO", name: "ratio", controlType: "knob", parameterName: "MULTITAP_OFFSET", xmlLabel: "Ratio" },
2253
+ "multidelay.feedback": { groupCode: "MTD", block: "multidelay", paramId: 93, wikiName: "FEEDBACK", name: "feedback", controlType: "knob", parameterName: "MULTITAP_FEEDBACK", xmlLabel: "Feedback" },
2254
+ "multidelay.tap_1_time": { groupCode: "MTD", block: "multidelay", paramId: 94, wikiName: "TAP 1 TIME", name: "tap_1_time", controlType: "knob" },
2255
+ "multidelay.tap_2_time": { groupCode: "MTD", block: "multidelay", paramId: 95, wikiName: "TAP 2 TIME", name: "tap_2_time", controlType: "knob" },
2256
+ "multidelay.tap_3_time": { groupCode: "MTD", block: "multidelay", paramId: 96, wikiName: "TAP 3 TIME", name: "tap_3_time", controlType: "knob" },
2257
+ "multidelay.tap_4_time": { groupCode: "MTD", block: "multidelay", paramId: 97, wikiName: "TAP 4 TIME", name: "tap_4_time", controlType: "knob" },
2258
+ "multidelay.tap_5_time": { groupCode: "MTD", block: "multidelay", paramId: 98, wikiName: "TAP 5 TIME", name: "tap_5_time", controlType: "knob" },
2259
+ "multidelay.tap_6_time": { groupCode: "MTD", block: "multidelay", paramId: 99, wikiName: "TAP 6 TIME", name: "tap_6_time", controlType: "knob" },
2260
+ "multidelay.tap_7_time": { groupCode: "MTD", block: "multidelay", paramId: 100, wikiName: "TAP 7 TIME", name: "tap_7_time", controlType: "knob" },
2261
+ "multidelay.tap_8_time": { groupCode: "MTD", block: "multidelay", paramId: 101, wikiName: "TAP 8 TIME", name: "tap_8_time", controlType: "knob" },
2262
+ "multidelay.tap_9_time": { groupCode: "MTD", block: "multidelay", paramId: 102, wikiName: "TAP 9 TIME", name: "tap_9_time", controlType: "knob" },
2263
+ "multidelay.tap_10_time": { groupCode: "MTD", block: "multidelay", paramId: 103, wikiName: "TAP 10 TIME", name: "tap_10_time", controlType: "knob" },
2264
+ "multidelay.tap_1_level": { groupCode: "MTD", block: "multidelay", paramId: 104, wikiName: "TAP 1 Level", name: "tap_1_level", controlType: "knob" },
2265
+ "multidelay.tap_2_level": { groupCode: "MTD", block: "multidelay", paramId: 105, wikiName: "TAP 2 Level", name: "tap_2_level", controlType: "knob" },
2266
+ "multidelay.tap_3_level": { groupCode: "MTD", block: "multidelay", paramId: 106, wikiName: "TAP 3 Level", name: "tap_3_level", controlType: "knob" },
2267
+ "multidelay.tap_4_level": { groupCode: "MTD", block: "multidelay", paramId: 107, wikiName: "TAP 4 Level", name: "tap_4_level", controlType: "knob" },
2268
+ "multidelay.tap_5_level": { groupCode: "MTD", block: "multidelay", paramId: 108, wikiName: "TAP 5 Level", name: "tap_5_level", controlType: "knob" },
2269
+ "multidelay.tap_6_level": { groupCode: "MTD", block: "multidelay", paramId: 109, wikiName: "TAP 6 Level", name: "tap_6_level", controlType: "knob" },
2270
+ "multidelay.tap_7_level": { groupCode: "MTD", block: "multidelay", paramId: 110, wikiName: "TAP 7 Level", name: "tap_7_level", controlType: "knob" },
2271
+ "multidelay.tap_8_level": { groupCode: "MTD", block: "multidelay", paramId: 111, wikiName: "TAP 8 Level", name: "tap_8_level", controlType: "knob" },
2272
+ "multidelay.tap_9_level": { groupCode: "MTD", block: "multidelay", paramId: 112, wikiName: "TAP 9 Level", name: "tap_9_level", controlType: "knob" },
2273
+ "multidelay.tap_10_level": { groupCode: "MTD", block: "multidelay", paramId: 113, wikiName: "TAP 10 Level", name: "tap_10_level", controlType: "knob" },
2274
+ "multidelay.ducker_release": { groupCode: "MTD", block: "multidelay", paramId: 116, wikiName: "DUCKER RELEASE", name: "ducker_release", controlType: "knob", parameterName: "MULTITAP_RELEASE", xmlLabel: "Ducker Release" },
2275
+ "multidelay.drive": { groupCode: "MTD", block: "multidelay", paramId: 117, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "MULTITAP_DRIVE", xmlLabel: "Drive" },
2276
+ "output.level_1": { groupCode: "OUTPUT", block: "output", paramId: 0, wikiName: "Level 1", name: "level_1", controlType: "knob", parameterName: "OUTPUT_LEVEL1", xmlLabel: "Level 1" },
2277
+ "output.level_2": { groupCode: "OUTPUT", block: "output", paramId: 1, wikiName: "Level 2", name: "level_2", controlType: "knob", parameterName: "OUTPUT_LEVEL2", xmlLabel: "Level 2" },
2278
+ "output.level_3": { groupCode: "OUTPUT", block: "output", paramId: 2, wikiName: "Level 3", name: "level_3", controlType: "knob", parameterName: "OUTPUT_LEVEL3", xmlLabel: "Level 3" },
2279
+ "output.level_4": { groupCode: "OUTPUT", block: "output", paramId: 3, wikiName: "Level 4", name: "level_4", controlType: "knob", parameterName: "OUTPUT_LEVEL4", xmlLabel: "Level 4" },
2280
+ "output.balance_1": { groupCode: "OUTPUT", block: "output", paramId: 4, wikiName: "Balance 1", name: "balance_1", controlType: "knob", parameterName: "OUTPUT_PAN1", xmlLabel: "Balance 1" },
2281
+ "output.balance_2": { groupCode: "OUTPUT", block: "output", paramId: 5, wikiName: "Balance 2", name: "balance_2", controlType: "knob", parameterName: "OUTPUT_PAN2", xmlLabel: "Balance 2" },
2282
+ "output.balance_3": { groupCode: "OUTPUT", block: "output", paramId: 6, wikiName: "Balance 3", name: "balance_3", controlType: "knob", parameterName: "OUTPUT_PAN3", xmlLabel: "Balance 3" },
2283
+ "output.balance_4": { groupCode: "OUTPUT", block: "output", paramId: 7, wikiName: "Balance 4", name: "balance_4", controlType: "knob", parameterName: "OUTPUT_PAN4", xmlLabel: "Balance 4" },
2284
+ "output.scene_1_main": { groupCode: "OUTPUT", block: "output", paramId: 8, wikiName: "SCENE 1 MAIN", name: "scene_1_main", controlType: "unknown" },
2285
+ "output.scene_2_main": { groupCode: "OUTPUT", block: "output", paramId: 9, wikiName: "SCENE 2 MAIN", name: "scene_2_main", controlType: "unknown" },
2286
+ "output.scene_3_main": { groupCode: "OUTPUT", block: "output", paramId: 10, wikiName: "SCENE 3 MAIN", name: "scene_3_main", controlType: "unknown" },
2287
+ "output.scene_4_main": { groupCode: "OUTPUT", block: "output", paramId: 11, wikiName: "SCENE 4 MAIN", name: "scene_4_main", controlType: "unknown" },
2288
+ "output.scene_5_main": { groupCode: "OUTPUT", block: "output", paramId: 12, wikiName: "SCENE 5 MAIN", name: "scene_5_main", controlType: "unknown" },
2289
+ "output.scene_6_main": { groupCode: "OUTPUT", block: "output", paramId: 13, wikiName: "SCENE 6 MAIN", name: "scene_6_main", controlType: "unknown" },
2290
+ "output.scene_7_main": { groupCode: "OUTPUT", block: "output", paramId: 14, wikiName: "SCENE 7 MAIN", name: "scene_7_main", controlType: "unknown" },
2291
+ "output.scene_8_main": { groupCode: "OUTPUT", block: "output", paramId: 15, wikiName: "SCENE 8 MAIN", name: "scene_8_main", controlType: "unknown" },
2292
+ "output.level": { groupCode: "OUTPUT", block: "output", paramId: 16, wikiName: "Level", name: "level", controlType: "knob" },
2293
+ "output.pan": { groupCode: "OUTPUT", block: "output", paramId: 17, wikiName: "Pan", name: "pan", controlType: "knob" },
2294
+ "output.bypass_mode": { groupCode: "OUTPUT", block: "output", paramId: 18, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", enumValues: OUTPUT_BYPASS_MODE_VALUES },
2295
+ "pantrem.effect_type": { groupCode: "TRM", block: "pantrem", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: PANTREM_EFFECT_TYPE_VALUES },
2296
+ "pantrem.lfo_type": { groupCode: "TRM", block: "pantrem", paramId: 1, wikiName: "LFO TYPE", name: "lfo_type", controlType: "select", parameterName: "TREMOLO_LFOTYPE", xmlLabel: "LFO Type", enumValues: PANTREM_LFO_TYPE_VALUES },
2297
+ "pantrem.rate": { groupCode: "TRM", block: "pantrem", paramId: 2, wikiName: "RATE", name: "rate", controlType: "knob", parameterName: "TREMOLO_RATE", xmlLabel: "Rate", modifierAssignable: true },
2298
+ "pantrem.depth": { groupCode: "TRM", block: "pantrem", paramId: 3, wikiName: "DEPTH", name: "depth", controlType: "knob", parameterName: "TREMOLO_DEPTH", xmlLabel: "Depth", modifierAssignable: true },
2299
+ "pantrem.duty": { groupCode: "TRM", block: "pantrem", paramId: 4, wikiName: "DUTY", name: "duty", controlType: "knob", parameterName: "TREMOLO_DUTY", xmlLabel: "Duty", modifierAssignable: true },
2300
+ "pantrem.tempo": { groupCode: "TRM", block: "pantrem", paramId: 5, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "TREMOLO_TEMPO", xmlLabel: "Tempo" },
2301
+ "pantrem.level": { groupCode: "TRM", block: "pantrem", paramId: 7, wikiName: "Level", name: "level", controlType: "knob", parameterName: "TREMOLO_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2302
+ "pantrem.balance": { groupCode: "TRM", block: "pantrem", paramId: 8, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "TREMOLO_PAN", xmlLabel: "Balance", modifierAssignable: true },
2303
+ "pantrem.bypass_mode": { groupCode: "TRM", block: "pantrem", paramId: 9, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "TREMOLO_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: PANTREM_BYPASS_MODE_VALUES, modifierAssignable: true },
2304
+ "pantrem.lfo_phase": { groupCode: "TRM", block: "pantrem", paramId: 11, wikiName: "LFO PHASE", name: "lfo_phase", controlType: "knob", parameterName: "TREMOLO_PHASE", xmlLabel: "LFO Phase", modifierAssignable: true },
2305
+ "pantrem.width": { groupCode: "TRM", block: "pantrem", paramId: 12, wikiName: "WIDTH", name: "width", controlType: "knob", parameterName: "TREMOLO_WIDTH", xmlLabel: "Width", modifierAssignable: true },
2306
+ "pantrem.pan_center": { groupCode: "TRM", block: "pantrem", paramId: 13, wikiName: "Pan CENTER", name: "pan_center", controlType: "knob", parameterName: "TREMOLO_CENTER", xmlLabel: "Pan Center" },
2307
+ "pantrem.start_phase": { groupCode: "TRM", block: "pantrem", paramId: 15, wikiName: "START PHASE", name: "start_phase", controlType: "knob", parameterName: "TREMOLO_STARTPHASE", xmlLabel: "Start Phase" },
2308
+ "parametriceq.freq_1": { groupCode: "PEQ", block: "parametriceq", paramId: 0, wikiName: "FREQ 1", name: "freq_1", controlType: "knob", parameterName: "PEQ_FREQ1", xmlLabel: "Freq 1" },
2309
+ "parametriceq.freq_2": { groupCode: "PEQ", block: "parametriceq", paramId: 1, wikiName: "FREQ 2", name: "freq_2", controlType: "knob", parameterName: "PEQ_FREQ2", xmlLabel: "Freq 2" },
2310
+ "parametriceq.freq_3": { groupCode: "PEQ", block: "parametriceq", paramId: 2, wikiName: "FREQ 3", name: "freq_3", controlType: "knob", parameterName: "PEQ_FREQ3", xmlLabel: "Freq 3" },
2311
+ "parametriceq.freq_4": { groupCode: "PEQ", block: "parametriceq", paramId: 3, wikiName: "FREQ 4", name: "freq_4", controlType: "knob", parameterName: "PEQ_FREQ4", xmlLabel: "Freq 4" },
2312
+ "parametriceq.freq_5": { groupCode: "PEQ", block: "parametriceq", paramId: 4, wikiName: "FREQ 5", name: "freq_5", controlType: "knob", parameterName: "PEQ_FREQ5", xmlLabel: "Freq 5" },
2313
+ "parametriceq.q_1": { groupCode: "PEQ", block: "parametriceq", paramId: 5, wikiName: "Q 1", name: "q_1", controlType: "knob" },
2314
+ "parametriceq.q_2": { groupCode: "PEQ", block: "parametriceq", paramId: 6, wikiName: "Q 2", name: "q_2", controlType: "knob" },
2315
+ "parametriceq.q_3": { groupCode: "PEQ", block: "parametriceq", paramId: 7, wikiName: "Q 3", name: "q_3", controlType: "knob" },
2316
+ "parametriceq.q_4": { groupCode: "PEQ", block: "parametriceq", paramId: 8, wikiName: "Q 4", name: "q_4", controlType: "knob" },
2317
+ "parametriceq.q_5": { groupCode: "PEQ", block: "parametriceq", paramId: 9, wikiName: "Q 5", name: "q_5", controlType: "knob" },
2318
+ "parametriceq.gain_1": { groupCode: "PEQ", block: "parametriceq", paramId: 10, wikiName: "GAIN 1", name: "gain_1", controlType: "knob", parameterName: "PEQ_GAIN1", xmlLabel: "Gain 1" },
2319
+ "parametriceq.gain_2": { groupCode: "PEQ", block: "parametriceq", paramId: 11, wikiName: "GAIN 2", name: "gain_2", controlType: "knob", parameterName: "PEQ_GAIN2", xmlLabel: "Gain 2" },
2320
+ "parametriceq.gain_3": { groupCode: "PEQ", block: "parametriceq", paramId: 12, wikiName: "GAIN 3", name: "gain_3", controlType: "knob", parameterName: "PEQ_GAIN3", xmlLabel: "Gain 3" },
2321
+ "parametriceq.gain_4": { groupCode: "PEQ", block: "parametriceq", paramId: 13, wikiName: "GAIN 4", name: "gain_4", controlType: "knob", parameterName: "PEQ_GAIN4", xmlLabel: "Gain 4" },
2322
+ "parametriceq.gain_5": { groupCode: "PEQ", block: "parametriceq", paramId: 14, wikiName: "GAIN 5", name: "gain_5", controlType: "knob", parameterName: "PEQ_GAIN5", xmlLabel: "Gain 5" },
2323
+ "parametriceq.freq_type_1": { groupCode: "PEQ", block: "parametriceq", paramId: 15, wikiName: "FREQ TYPE 1", name: "freq_type_1", controlType: "select", enumValues: PARAMETRICEQ_FREQ_TYPE_1_VALUES },
2324
+ "parametriceq.freq_type_5": { groupCode: "PEQ", block: "parametriceq", paramId: 16, wikiName: "FREQ TYPE 5", name: "freq_type_5", controlType: "select", enumValues: PARAMETRICEQ_FREQ_TYPE_5_VALUES },
2325
+ "parametriceq.freq_type_2": { groupCode: "PEQ", block: "parametriceq", paramId: 17, wikiName: "FREQ TYPE 2", name: "freq_type_2", controlType: "select", enumValues: PARAMETRICEQ_FREQ_TYPE_2_VALUES },
2326
+ "parametriceq.freq_type_4": { groupCode: "PEQ", block: "parametriceq", paramId: 18, wikiName: "FREQ TYPE 4", name: "freq_type_4", controlType: "select", enumValues: PARAMETRICEQ_FREQ_TYPE_4_VALUES },
2327
+ "parametriceq.level": { groupCode: "PEQ", block: "parametriceq", paramId: 19, wikiName: "Level", name: "level", controlType: "knob", parameterName: "PEQ_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2328
+ "parametriceq.balance": { groupCode: "PEQ", block: "parametriceq", paramId: 20, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "PEQ_PAN", xmlLabel: "Balance", modifierAssignable: true },
2329
+ "parametriceq.bypass_mode": { groupCode: "PEQ", block: "parametriceq", paramId: 21, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "PEQ_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: PARAMETRICEQ_BYPASS_MODE_VALUES, modifierAssignable: true },
2330
+ "phaser.effect_type": { groupCode: "PHA", block: "phaser", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: PHASER_EFFECT_TYPE_VALUES },
2331
+ "phaser.order": { groupCode: "PHA", block: "phaser", paramId: 1, wikiName: "ORDER", name: "order", controlType: "select", parameterName: "PHASER_ORDER", xmlLabel: "Order", enumValues: PHASER_ORDER_VALUES },
2332
+ "phaser.rate": { groupCode: "PHA", block: "phaser", paramId: 2, wikiName: "RATE", name: "rate", controlType: "knob", parameterName: "PHASER_RATE", xmlLabel: "Rate", modifierAssignable: true },
2333
+ "phaser.lfo_type": { groupCode: "PHA", block: "phaser", paramId: 3, wikiName: "LFO TYPE", name: "lfo_type", controlType: "select", parameterName: "PHASER_LFOTYPE", xmlLabel: "LFO Type", enumValues: PHASER_LFO_TYPE_VALUES },
2334
+ "phaser.tempo": { groupCode: "PHA", block: "phaser", paramId: 4, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "PHASER_TEMPO", xmlLabel: "Tempo" },
2335
+ "phaser.depth": { groupCode: "PHA", block: "phaser", paramId: 5, wikiName: "DEPTH", name: "depth", controlType: "knob", parameterName: "PHASER_DEPTH", xmlLabel: "Depth", modifierAssignable: true },
2336
+ "phaser.feedback": { groupCode: "PHA", block: "phaser", paramId: 6, wikiName: "FEEDBACK", name: "feedback", controlType: "knob", parameterName: "PHASER_FEEDBACK", xmlLabel: "Feedback", modifierAssignable: true },
2337
+ "phaser.freq_start": { groupCode: "PHA", block: "phaser", paramId: 7, wikiName: "FREQ. START", name: "freq_start", controlType: "knob" },
2338
+ "phaser.freq_span": { groupCode: "PHA", block: "phaser", paramId: 8, wikiName: "FREQ. SPan", name: "freq_span", controlType: "knob" },
2339
+ "phaser.lfo_phase": { groupCode: "PHA", block: "phaser", paramId: 9, wikiName: "LFO PHASE", name: "lfo_phase", controlType: "knob", parameterName: "PHASER_LFOPHASE", xmlLabel: "LFO Phase" },
2340
+ "phaser.bulb_bias": { groupCode: "PHA", block: "phaser", paramId: 10, wikiName: "BULB BIAS", name: "bulb_bias", controlType: "knob", parameterName: "PHASER_BIAS", xmlLabel: "Bulb Bias", gateOn: "PHASER_MODE", gateValues: "0,1" },
2341
+ "phaser.mix": { groupCode: "PHA", block: "phaser", paramId: 11, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "PHASER_MIX", xmlLabel: "Mix", modifierAssignable: true },
2342
+ "phaser.level": { groupCode: "PHA", block: "phaser", paramId: 12, wikiName: "Level", name: "level", controlType: "knob", parameterName: "PHASER_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2343
+ "phaser.balance": { groupCode: "PHA", block: "phaser", paramId: 13, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "PHASER_PAN", xmlLabel: "Balance", modifierAssignable: true },
2344
+ "phaser.bypass_mode": { groupCode: "PHA", block: "phaser", paramId: 14, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "PHASER_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: PHASER_BYPASS_MODE_VALUES, modifierAssignable: true },
2345
+ "phaser.global": { groupCode: "PHA", block: "phaser", paramId: 15, wikiName: "GLOBAL", name: "global", controlType: "switch" },
2346
+ "phaser.mode": { groupCode: "PHA", block: "phaser", paramId: 17, wikiName: "MODE", name: "mode", controlType: "select", enumValues: PHASER_MODE_VALUES },
2347
+ "phaser.feedback_tap": { groupCode: "PHA", block: "phaser", paramId: 18, wikiName: "FEEDBACK TAP", name: "feedback_tap", controlType: "switch", parameterName: "PHASER_FBTAP", xmlLabel: "Feedback Tap" },
2348
+ "phaser.tone": { groupCode: "PHA", block: "phaser", paramId: 19, wikiName: "TONE", name: "tone", controlType: "knob", parameterName: "PHASER_TONE", xmlLabel: "Tone" },
2349
+ "phaser.direction": { groupCode: "PHA", block: "phaser", paramId: 20, wikiName: "DIRECTION", name: "direction", controlType: "select", parameterName: "PHASER_DIRECTION", xmlLabel: "Direction", enumValues: PHASER_DIRECTION_VALUES },
2350
+ "phaser.filter_q": { groupCode: "PHA", block: "phaser", paramId: 21, wikiName: "FILTER Q", name: "filter_q", controlType: "knob", parameterName: "PHASER_Q", xmlLabel: "Filter Q" },
2351
+ "phaser.lfo_bypass_reset": { groupCode: "PHA", block: "phaser", paramId: 22, wikiName: "LFO BYPASS RESET", name: "lfo_bypass_reset", controlType: "select", parameterName: "PHASER_LFORESET", xmlLabel: "LFO Bypass Reset", enumValues: PHASER_LFO_BYPASS_RESET_VALUES },
2352
+ "pitch.effect_type": { groupCode: "PIT", block: "pitch", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: PITCH_EFFECT_TYPE_VALUES },
2353
+ "pitch.mode": { groupCode: "PIT", block: "pitch", paramId: 1, wikiName: "MODE", name: "mode", controlType: "select", parameterName: "PITCH_PITCHMODE", xmlLabel: "Mode", enumValues: PITCH_MODE_VALUES },
2354
+ "pitch.master_pitch": { groupCode: "PIT", block: "pitch", paramId: 2, wikiName: "MASTER PITCH", name: "master_pitch", controlType: "knob", parameterName: "PITCH_CTRL", xmlLabel: "Master Pitch", modifierAssignable: true },
2355
+ "pitch.control": { groupCode: "PIT", block: "pitch", paramId: 3, wikiName: "CONTROL", name: "control", controlType: "knob", parameterName: "PITCH_UCTRL", xmlLabel: "Control", modifierAssignable: true },
2356
+ "pitch.voice_1_harmony": { groupCode: "PIT", block: "pitch", paramId: 4, wikiName: "VOICE 1 HARMONY", name: "voice_1_harmony", controlType: "unknown", displayMin: 0, displayMax: 48, step: 1 },
2357
+ "pitch.voice_2_harmony": { groupCode: "PIT", block: "pitch", paramId: 5, wikiName: "VOICE 2 HARMONY", name: "voice_2_harmony", controlType: "unknown", displayMin: 0, displayMax: 48, step: 1 },
2358
+ "pitch.key": { groupCode: "PIT", block: "pitch", paramId: 6, wikiName: "KEY", name: "key", controlType: "select", parameterName: "PITCH_KEY", xmlLabel: "Key", enumValues: PITCH_KEY_VALUES },
2359
+ "pitch.scale": { groupCode: "PIT", block: "pitch", paramId: 7, wikiName: "SCALE", name: "scale", controlType: "select", parameterName: "PITCH_SCALE", xmlLabel: "Scale", enumValues: PITCH_SCALE_VALUES },
2360
+ "pitch.track_mode": { groupCode: "PIT", block: "pitch", paramId: 8, wikiName: "TRACK MODE", name: "track_mode", controlType: "select", parameterName: "PITCH_MODE", xmlLabel: "Track Mode", enumValues: PITCH_TRACK_MODE_VALUES },
2361
+ "pitch.voice_1_detune": { groupCode: "PIT", block: "pitch", paramId: 9, wikiName: "VOICE 1 DETUNE", name: "voice_1_detune", controlType: "knob", modifierAssignable: true },
2362
+ "pitch.voice_2_detune": { groupCode: "PIT", block: "pitch", paramId: 10, wikiName: "VOICE 2 DETUNE", name: "voice_2_detune", controlType: "knob", modifierAssignable: true },
2363
+ "pitch.voice_1_shift": { groupCode: "PIT", block: "pitch", paramId: 11, wikiName: "VOICE 1 SHIFT", name: "voice_1_shift", controlType: "unknown", displayMin: 0, displayMax: 48, step: 1, modifierAssignable: true },
2364
+ "pitch.voice_2_shift": { groupCode: "PIT", block: "pitch", paramId: 12, wikiName: "VOICE 2 SHIFT", name: "voice_2_shift", controlType: "unknown", displayMin: 0, displayMax: 48, step: 1, modifierAssignable: true },
2365
+ "pitch.voice_1_level": { groupCode: "PIT", block: "pitch", paramId: 13, wikiName: "VOICE 1 Level", name: "voice_1_level", controlType: "knob", modifierAssignable: true },
2366
+ "pitch.voice_2_level": { groupCode: "PIT", block: "pitch", paramId: 14, wikiName: "VOICE 2 Level", name: "voice_2_level", controlType: "knob", modifierAssignable: true },
2367
+ "pitch.voice_1_pan": { groupCode: "PIT", block: "pitch", paramId: 15, wikiName: "VOICE 1 Pan", name: "voice_1_pan", controlType: "knob", modifierAssignable: true },
2368
+ "pitch.voice_2_pan": { groupCode: "PIT", block: "pitch", paramId: 16, wikiName: "VOICE 2 Pan", name: "voice_2_pan", controlType: "knob", modifierAssignable: true },
2369
+ "pitch.voice_1_delay": { groupCode: "PIT", block: "pitch", paramId: 17, wikiName: "VOICE 1 DELAY", name: "voice_1_delay", controlType: "knob" },
2370
+ "pitch.voice_2_delay": { groupCode: "PIT", block: "pitch", paramId: 18, wikiName: "VOICE 2 DELAY", name: "voice_2_delay", controlType: "knob" },
2371
+ "pitch.voice_1_feedback": { groupCode: "PIT", block: "pitch", paramId: 19, wikiName: "VOICE 1 FEEDBACK", name: "voice_1_feedback", controlType: "knob" },
2372
+ "pitch.voice_2_feedback": { groupCode: "PIT", block: "pitch", paramId: 20, wikiName: "VOICE 2 FEEDBACK", name: "voice_2_feedback", controlType: "knob" },
2373
+ "pitch.pitch_track": { groupCode: "PIT", block: "pitch", paramId: 21, wikiName: "PITCH TRACK", name: "pitch_track", controlType: "select", parameterName: "PITCH_TRACKMODE", xmlLabel: "Pitch Track", enumValues: PITCH_PITCH_TRACK_VALUES },
2374
+ "pitch.track_adjust": { groupCode: "PIT", block: "pitch", paramId: 22, wikiName: "TRACK ADJUST", name: "track_adjust", controlType: "knob", parameterName: "PITCH_TRACKING", xmlLabel: "Track Adjust" },
2375
+ "pitch.mix": { groupCode: "PIT", block: "pitch", paramId: 23, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "PITCH_MIX", xmlLabel: "Mix", modifierAssignable: true },
2376
+ "pitch.level": { groupCode: "PIT", block: "pitch", paramId: 24, wikiName: "Level", name: "level", controlType: "knob", parameterName: "PITCH_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2377
+ "pitch.balance": { groupCode: "PIT", block: "pitch", paramId: 25, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "PITCH_PAN", xmlLabel: "Balance", modifierAssignable: true },
2378
+ "pitch.bypass_mode": { groupCode: "PIT", block: "pitch", paramId: 26, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "PITCH_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: PITCH_BYPASS_MODE_VALUES, modifierAssignable: true },
2379
+ "pitch.global": { groupCode: "PIT", block: "pitch", paramId: 27, wikiName: "GLOBAL", name: "global", controlType: "switch" },
2380
+ "pitch.input_gain": { groupCode: "PIT", block: "pitch", paramId: 28, wikiName: "INPUT GAIN", name: "input_gain", controlType: "knob", parameterName: "PITCH_GAIN", xmlLabel: "Input Gain", modifierAssignable: true },
2381
+ "pitch.crossfade": { groupCode: "PIT", block: "pitch", paramId: 30, wikiName: "CROSSFADE", name: "crossfade", controlType: "knob", parameterName: "PITCH_XFADE", xmlLabel: "Crossfade" },
2382
+ "pitch.voice_1_splice": { groupCode: "PIT", block: "pitch", paramId: 31, wikiName: "VOICE 1 SPLICE", name: "voice_1_splice", controlType: "knob" },
2383
+ "pitch.voice_2_splice": { groupCode: "PIT", block: "pitch", paramId: 32, wikiName: "VOICE 2 SPLICE", name: "voice_2_splice", controlType: "knob" },
2384
+ "pitch.voice_1_tempo": { groupCode: "PIT", block: "pitch", paramId: 33, wikiName: "VOICE 1 Tempo", name: "voice_1_tempo", controlType: "select" },
2385
+ "pitch.voice_2_tempo": { groupCode: "PIT", block: "pitch", paramId: 34, wikiName: "VOICE 2 Tempo", name: "voice_2_tempo", controlType: "select" },
2386
+ "pitch.splc1_tempo": { groupCode: "PIT", block: "pitch", paramId: 35, wikiName: "SPLC1 Tempo", name: "splc1_tempo", controlType: "select" },
2387
+ "pitch.splc2_tempo": { groupCode: "PIT", block: "pitch", paramId: 36, wikiName: "SPLC2 Tempo", name: "splc2_tempo", controlType: "select" },
2388
+ "pitch.feedback_type": { groupCode: "PIT", block: "pitch", paramId: 37, wikiName: "FEEDBACK TYPE", name: "feedback_type", controlType: "select", parameterName: "PITCH_FBTYPE", xmlLabel: "Feedback type", enumValues: PITCH_FEEDBACK_TYPE_VALUES },
2389
+ "pitch.reverse": { groupCode: "PIT", block: "pitch", paramId: 38, wikiName: "REVERSE", name: "reverse", controlType: "switch", parameterName: "PITCH_DIRECTION", xmlLabel: "Reverse" },
2390
+ "pitch.hi_cut": { groupCode: "PIT", block: "pitch", paramId: 39, wikiName: "HI CUT", name: "hi_cut", controlType: "knob", parameterName: "PITCH_LPFREQ", xmlLabel: "Hi Cut" },
2391
+ "pitch.glide_time": { groupCode: "PIT", block: "pitch", paramId: 40, wikiName: "GLIDE TIME", name: "glide_time", controlType: "knob", parameterName: "PITCH_GLIDE", xmlLabel: "Glide Time" },
2392
+ "pitch.master_delay": { groupCode: "PIT", block: "pitch", paramId: 41, wikiName: "MASTER DELAY", name: "master_delay", controlType: "knob", parameterName: "PITCH_MDELAY", xmlLabel: "Master Delay", modifierAssignable: true },
2393
+ "pitch.master_feedback": { groupCode: "PIT", block: "pitch", paramId: 42, wikiName: "MASTER FEEDBACK", name: "master_feedback", controlType: "knob", modifierAssignable: true },
2394
+ "pitch.master_pan": { groupCode: "PIT", block: "pitch", paramId: 43, wikiName: "MASTER Pan", name: "master_pan", controlType: "knob", parameterName: "PITCH_MPAN", xmlLabel: "Master Pan", modifierAssignable: true },
2395
+ "pitch.master_level": { groupCode: "PIT", block: "pitch", paramId: 44, wikiName: "MASTER Level", name: "master_level", controlType: "knob", parameterName: "PITCH_MLEVEL", xmlLabel: "Master Level", modifierAssignable: true },
2396
+ "pitch.notes": { groupCode: "PIT", block: "pitch", paramId: 45, wikiName: "Notes", name: "notes", controlType: "select", enumValues: PITCH_NOTES_VALUES, displayMin: 4 },
2397
+ "pitch.voice_1_scale": { groupCode: "PIT", block: "pitch", paramId: 53, wikiName: "VOICE 1 SCALE", name: "voice_1_scale", controlType: "unknown", parameterName: "PITCH_CUSTOMSCALE1", xmlLabel: "Voice 1 Scale", displayMin: 0, displayMax: 31, step: 1, modifierAssignable: true },
2398
+ "pitch.voice_2_scale": { groupCode: "PIT", block: "pitch", paramId: 54, wikiName: "VOICE 2 SCALE", name: "voice_2_scale", controlType: "unknown", parameterName: "PITCH_CUSTOMSCALE2", xmlLabel: "Voice 2 Scale", displayMin: 0, displayMax: 31, step: 1, modifierAssignable: true },
2399
+ "pitch.stages": { groupCode: "PIT", block: "pitch", paramId: 55, wikiName: "STAGES", name: "stages", controlType: "unknown", parameterName: "PITCH_NUMSTEPS", xmlLabel: "Stages", displayMin: 2, displayMax: 16, step: 1 },
2400
+ "pitch.repeats": { groupCode: "PIT", block: "pitch", paramId: 56, wikiName: "REPEATS", name: "repeats", controlType: "select", parameterName: "PITCH_NUMREPEATS", xmlLabel: "Repeats", enumValues: PITCH_REPEATS_VALUES, displayMin: 1 },
2401
+ "pitch.run": { groupCode: "PIT", block: "pitch", paramId: 57, wikiName: "RUN", name: "run", controlType: "switch", parameterName: "PITCH_ARPRUN", xmlLabel: "Run", modifierAssignable: true },
2402
+ "pitch.tempo": { groupCode: "PIT", block: "pitch", paramId: 58, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "PITCH_TEMPO", xmlLabel: "Tempo", displayMin: 1 },
2403
+ "pitch.stage_1_shift": { groupCode: "PIT", block: "pitch", paramId: 59, wikiName: "STAGE 1 SHIFT", name: "stage_1_shift", controlType: "unknown", parameterName: "PITCH_STEP1", xmlLabel: "Stage 1 Shift", displayMin: 0, displayMax: 48, step: 1 },
2404
+ "pitch.stage_2_shift": { groupCode: "PIT", block: "pitch", paramId: 60, wikiName: "STAGE 2 SHIFT", name: "stage_2_shift", controlType: "unknown", parameterName: "PITCH_STEP2", xmlLabel: "Stage 2 Shift", displayMin: 0, displayMax: 48, step: 1 },
2405
+ "pitch.stage_3_shift": { groupCode: "PIT", block: "pitch", paramId: 61, wikiName: "STAGE 3 SHIFT", name: "stage_3_shift", controlType: "unknown", parameterName: "PITCH_STEP3", xmlLabel: "Stage 3 Shift", displayMin: 0, displayMax: 48, step: 1 },
2406
+ "pitch.stage_4_shift": { groupCode: "PIT", block: "pitch", paramId: 62, wikiName: "STAGE 4 SHIFT", name: "stage_4_shift", controlType: "unknown", parameterName: "PITCH_STEP4", xmlLabel: "Stage 4 Shift", displayMin: 0, displayMax: 48, step: 1 },
2407
+ "pitch.stage_5_shift": { groupCode: "PIT", block: "pitch", paramId: 63, wikiName: "STAGE 5 SHIFT", name: "stage_5_shift", controlType: "unknown", parameterName: "PITCH_STEP5", xmlLabel: "Stage 5 Shift", displayMin: 0, displayMax: 48, step: 1 },
2408
+ "pitch.stage_6_shift": { groupCode: "PIT", block: "pitch", paramId: 64, wikiName: "STAGE 6 SHIFT", name: "stage_6_shift", controlType: "unknown", parameterName: "PITCH_STEP6", xmlLabel: "Stage 6 Shift", displayMin: 0, displayMax: 48, step: 1 },
2409
+ "pitch.stage_7_shift": { groupCode: "PIT", block: "pitch", paramId: 65, wikiName: "STAGE 7 SHIFT", name: "stage_7_shift", controlType: "unknown", parameterName: "PITCH_STEP7", xmlLabel: "Stage 7 Shift", displayMin: 0, displayMax: 48, step: 1 },
2410
+ "pitch.stage_8_shift": { groupCode: "PIT", block: "pitch", paramId: 66, wikiName: "STAGE 8 SHIFT", name: "stage_8_shift", controlType: "unknown", parameterName: "PITCH_STEP8", xmlLabel: "Stage 8 Shift", displayMin: 0, displayMax: 48, step: 1 },
2411
+ "pitch.stage_9_shift": { groupCode: "PIT", block: "pitch", paramId: 67, wikiName: "STAGE 9 SHIFT", name: "stage_9_shift", controlType: "unknown", parameterName: "PITCH_STEP9", xmlLabel: "Stage 9 Shift", displayMin: 0, displayMax: 48, step: 1 },
2412
+ "pitch.stage_10_shift": { groupCode: "PIT", block: "pitch", paramId: 68, wikiName: "STAGE 10 SHIFT", name: "stage_10_shift", controlType: "unknown", parameterName: "PITCH_STEP10", xmlLabel: "Stage 10 Shift", displayMin: 0, displayMax: 48, step: 1 },
2413
+ "pitch.stage_11_shift": { groupCode: "PIT", block: "pitch", paramId: 69, wikiName: "STAGE 11 SHIFT", name: "stage_11_shift", controlType: "unknown", parameterName: "PITCH_STEP11", xmlLabel: "Stage 11 Shift", displayMin: 0, displayMax: 48, step: 1 },
2414
+ "pitch.stage_12_shift": { groupCode: "PIT", block: "pitch", paramId: 70, wikiName: "STAGE 12 SHIFT", name: "stage_12_shift", controlType: "unknown", parameterName: "PITCH_STEP12", xmlLabel: "Stage 12 Shift", displayMin: 0, displayMax: 48, step: 1 },
2415
+ "pitch.stage_13_shift": { groupCode: "PIT", block: "pitch", paramId: 71, wikiName: "STAGE 13 SHIFT", name: "stage_13_shift", controlType: "unknown", parameterName: "PITCH_STEP13", xmlLabel: "Stage 13 Shift", displayMin: 0, displayMax: 48, step: 1 },
2416
+ "pitch.stage_14_shift": { groupCode: "PIT", block: "pitch", paramId: 72, wikiName: "STAGE 14 SHIFT", name: "stage_14_shift", controlType: "unknown", parameterName: "PITCH_STEP14", xmlLabel: "Stage 14 Shift", displayMin: 0, displayMax: 48, step: 1 },
2417
+ "pitch.stage_15_shift": { groupCode: "PIT", block: "pitch", paramId: 73, wikiName: "STAGE 15 SHIFT", name: "stage_15_shift", controlType: "unknown", parameterName: "PITCH_STEP15", xmlLabel: "Stage 15 Shift", displayMin: 0, displayMax: 48, step: 1 },
2418
+ "pitch.stage_16_shift": { groupCode: "PIT", block: "pitch", paramId: 74, wikiName: "STAGE 16 SHIFT", name: "stage_16_shift", controlType: "unknown", parameterName: "PITCH_STEP16", xmlLabel: "Stage 16 Shift", displayMin: 0, displayMax: 48, step: 1 },
2419
+ "pitch.amplitube_shape": { groupCode: "PIT", block: "pitch", paramId: 75, wikiName: "AMPLITUBE SHAPE", name: "amplitube_shape", controlType: "select", enumValues: PITCH_AMPLITUBE_SHAPE_VALUES },
2420
+ "pitch.amplitube_alpha": { groupCode: "PIT", block: "pitch", paramId: 76, wikiName: "AMPLITUBE ALPHA", name: "amplitube_alpha", controlType: "knob" },
2421
+ "pitch.pan_shape": { groupCode: "PIT", block: "pitch", paramId: 77, wikiName: "Pan SHAPE", name: "pan_shape", controlType: "select", parameterName: "PITCH_PANSHAPE", xmlLabel: "Pan Shape", enumValues: PITCH_PAN_SHAPE_VALUES },
2422
+ "pitch.pan_alpha": { groupCode: "PIT", block: "pitch", paramId: 78, wikiName: "Pan ALPHA", name: "pan_alpha", controlType: "knob", parameterName: "PITCH_PANALPHA", xmlLabel: "Pan Alpha" },
2423
+ "pitch.pitch_source": { groupCode: "PIT", block: "pitch", paramId: 81, wikiName: "PITCH SOURCE", name: "pitch_source", controlType: "select", parameterName: "PITCH_SOURCE", xmlLabel: "Pitch Source", enumValues: PITCH_PITCH_SOURCE_VALUES },
2424
+ "pitch.input_mode": { groupCode: "PIT", block: "pitch", paramId: 82, wikiName: "INPUT MODE", name: "input_mode", controlType: "select", parameterName: "PITCH_INMODE", xmlLabel: "Input Mode", enumValues: PITCH_INPUT_MODE_VALUES },
2425
+ "pitch.learn": { groupCode: "PIT", block: "pitch", paramId: 83, wikiName: "LEARN", name: "learn", controlType: "switch", parameterName: "PITCH_LEARN", xmlLabel: "Learn", modifierAssignable: true },
2426
+ "pitch.low_cut": { groupCode: "PIT", block: "pitch", paramId: 84, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "PITCH_HPFREQ", xmlLabel: "Low Cut" },
2427
+ "pitch.economy": { groupCode: "PIT", block: "pitch", paramId: 85, wikiName: "ECONOMY", name: "economy", controlType: "switch" },
2428
+ "reverb.effect_type": { groupCode: "REV", block: "reverb", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: REVERB_EFFECT_TYPE_VALUES },
2429
+ "reverb.time": { groupCode: "REV", block: "reverb", paramId: 1, wikiName: "TIME", name: "time", controlType: "knob", parameterName: "REVERB_TIME", xmlLabel: "Time", modifierAssignable: true },
2430
+ "reverb.high_cut": { groupCode: "REV", block: "reverb", paramId: 2, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "REVERB_HICUT", xmlLabel: "High Cut" },
2431
+ "reverb.hf_time": { groupCode: "REV", block: "reverb", paramId: 3, wikiName: "HF TIME", name: "hf_time", controlType: "knob", parameterName: "REVERB_HFRATIO", xmlLabel: "HF Time" },
2432
+ "reverb.wall_diffusion": { groupCode: "REV", block: "reverb", paramId: 4, wikiName: "WALL DIFFUSION", name: "wall_diffusion", controlType: "knob", parameterName: "REVERB_DIFFUSION", xmlLabel: "Wall Diffusion" },
2433
+ "reverb.size": { groupCode: "REV", block: "reverb", paramId: 5, wikiName: "SIZE", name: "size", controlType: "knob", parameterName: "REVERB_SIZE", xmlLabel: "Size" },
2434
+ "reverb.early_level": { groupCode: "REV", block: "reverb", paramId: 7, wikiName: "EARLY Level", name: "early_level", controlType: "knob", parameterName: "REVERB_EARLYLEVEL", xmlLabel: "Early Level" },
2435
+ "reverb.late_level": { groupCode: "REV", block: "reverb", paramId: 8, wikiName: "LATE Level", name: "late_level", controlType: "knob", parameterName: "REVERB_REVERBLEVEL", xmlLabel: "Late Level" },
2436
+ "reverb.predelay": { groupCode: "REV", block: "reverb", paramId: 9, wikiName: "PREDELAY", name: "predelay", controlType: "knob", parameterName: "REVERB_PREDELAY", xmlLabel: "PreDelay", modifierAssignable: true },
2437
+ "reverb.low_cut": { groupCode: "REV", block: "reverb", paramId: 10, wikiName: "LOW CUT", name: "low_cut", controlType: "knob", parameterName: "REVERB_LOWCUT", xmlLabel: "Low Cut" },
2438
+ "reverb.mod_depth": { groupCode: "REV", block: "reverb", paramId: 11, wikiName: "MOD DEPTH", name: "mod_depth", controlType: "knob", parameterName: "REVERB_DEPTH", xmlLabel: "Mod Depth" },
2439
+ "reverb.mod_rate": { groupCode: "REV", block: "reverb", paramId: 12, wikiName: "MOD RATE", name: "mod_rate", controlType: "knob", parameterName: "REVERB_RATE", xmlLabel: "Mod Rate" },
2440
+ // HW-088 calibration (2026-05-11): wire 0..65534 ↔ 0..100% linear.
2441
+ "reverb.mix": { groupCode: "REV", block: "reverb", paramId: 13, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "REVERB_MIX", xmlLabel: "Mix", modifierAssignable: true, displayMin: 0, displayMax: 100 },
2442
+ "reverb.level": { groupCode: "REV", block: "reverb", paramId: 14, wikiName: "Level", name: "level", controlType: "knob", parameterName: "REVERB_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2443
+ "reverb.balance": { groupCode: "REV", block: "reverb", paramId: 15, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "REVERB_PAN", xmlLabel: "Balance", modifierAssignable: true },
2444
+ "reverb.bypass_mode": { groupCode: "REV", block: "reverb", paramId: 16, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "REVERB_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: REVERB_BYPASS_MODE_VALUES, modifierAssignable: true },
2445
+ "reverb.global": { groupCode: "REV", block: "reverb", paramId: 17, wikiName: "GLOBAL", name: "global", controlType: "switch" },
2446
+ "reverb.input_gain": { groupCode: "REV", block: "reverb", paramId: 18, wikiName: "INPUT GAIN", name: "input_gain", controlType: "knob", parameterName: "REVERB_GAIN", xmlLabel: "Input Gain", modifierAssignable: true },
2447
+ "reverb.echo_density": { groupCode: "REV", block: "reverb", paramId: 19, wikiName: "ECHO DENSITY", name: "echo_density", controlType: "unknown", parameterName: "REVERB_DENSITY", xmlLabel: "Echo Density", displayMin: 2, displayMax: 8, step: 1 },
2448
+ "reverb.late_diffusion": { groupCode: "REV", block: "reverb", paramId: 20, wikiName: "LATE DIFFUSION", name: "late_diffusion", controlType: "knob", parameterName: "REVERB_INPDIFF", xmlLabel: "Late Diffusion" },
2449
+ "reverb.late_diff_time": { groupCode: "REV", block: "reverb", paramId: 21, wikiName: "LATE DIFF TIME", name: "late_diff_time", controlType: "knob", parameterName: "REVERB_INDIFFTIME", xmlLabel: "Late Diff Time" },
2450
+ "reverb.spring_number": { groupCode: "REV", block: "reverb", paramId: 23, wikiName: "SPRING NUMBER", name: "spring_number", controlType: "unknown", displayMin: 2, displayMax: 6, step: 1 },
2451
+ "reverb.spring_tone": { groupCode: "REV", block: "reverb", paramId: 24, wikiName: "SPRING TONE", name: "spring_tone", controlType: "knob", parameterName: "REVERB_TONE", xmlLabel: "Spring Tone" },
2452
+ "reverb.mic_spacing": { groupCode: "REV", block: "reverb", paramId: 25, wikiName: "MIC SPACING", name: "mic_spacing", controlType: "knob", parameterName: "REVERB_WIDTH", xmlLabel: "Mic Spacing" },
2453
+ "reverb.freq_1": { groupCode: "REV", block: "reverb", paramId: 26, wikiName: "FREQ 1", name: "freq_1", controlType: "knob", parameterName: "REVERB_FREQ1", xmlLabel: "Freq 1" },
2454
+ "reverb.freq_2": { groupCode: "REV", block: "reverb", paramId: 27, wikiName: "FREQ 2", name: "freq_2", controlType: "knob", parameterName: "REVERB_FREQ2", xmlLabel: "Freq 2" },
2455
+ "reverb.q_1": { groupCode: "REV", block: "reverb", paramId: 28, wikiName: "Q 1", name: "q_1", controlType: "knob", parameterName: "REVERB_Q1", xmlLabel: "Q 1" },
2456
+ "reverb.q_2": { groupCode: "REV", block: "reverb", paramId: 29, wikiName: "Q 2", name: "q_2", controlType: "knob", parameterName: "REVERB_Q2", xmlLabel: "Q 2" },
2457
+ "reverb.gain_1": { groupCode: "REV", block: "reverb", paramId: 30, wikiName: "GAIN 1", name: "gain_1", controlType: "knob", parameterName: "REVERB_GAIN1", xmlLabel: "Gain 1" },
2458
+ "reverb.gain_2": { groupCode: "REV", block: "reverb", paramId: 31, wikiName: "GAIN 2", name: "gain_2", controlType: "knob", parameterName: "REVERB_GAIN2", xmlLabel: "Gain 2" },
2459
+ "reverb.spring_drive": { groupCode: "REV", block: "reverb", paramId: 32, wikiName: "SPRING DRIVE", name: "spring_drive", controlType: "knob", parameterName: "REVERB_DRIVE", xmlLabel: "Spring Drive" },
2460
+ "reverb.lf_time": { groupCode: "REV", block: "reverb", paramId: 33, wikiName: "LF TIME", name: "lf_time", controlType: "knob", parameterName: "REVERB_LFTIME", xmlLabel: "LF Time" },
2461
+ "reverb.lf_crossover": { groupCode: "REV", block: "reverb", paramId: 34, wikiName: "LF CROSSOVER", name: "lf_crossover", controlType: "knob", parameterName: "REVERB_LFXOVER", xmlLabel: "LF Crossover" },
2462
+ "reverb.stereo_width": { groupCode: "REV", block: "reverb", paramId: 35, wikiName: "STEREO WIDTH", name: "stereo_width", controlType: "knob", parameterName: "REVERB_SPREAD", xmlLabel: "Stereo Width" },
2463
+ "reverb.atten": { groupCode: "REV", block: "reverb", paramId: 36, wikiName: "ATTEN", name: "atten", controlType: "knob", parameterName: "REVERB_ATTEN", xmlLabel: "Atten" },
2464
+ "reverb.threshold": { groupCode: "REV", block: "reverb", paramId: 37, wikiName: "THRESHOLD", name: "threshold", controlType: "knob", parameterName: "REVERB_THRESH", xmlLabel: "Threshold" },
2465
+ "reverb.release_time": { groupCode: "REV", block: "reverb", paramId: 38, wikiName: "RELEASE TIME", name: "release_time", controlType: "knob", parameterName: "REVERB_RELEASE", xmlLabel: "Release Time" },
2466
+ "reverb.early_diffusion": { groupCode: "REV", block: "reverb", paramId: 39, wikiName: "EARLY DIFFUSION", name: "early_diffusion", controlType: "knob", parameterName: "REVERB_EARLYDIFF", xmlLabel: "Early Diffusion" },
2467
+ "reverb.early_diff_time": { groupCode: "REV", block: "reverb", paramId: 40, wikiName: "EARLY DIFF TIME", name: "early_diff_time", controlType: "knob", parameterName: "REVERB_EARLYDIFFTIME", xmlLabel: "Early Diff Time" },
2468
+ "reverb.early_decay": { groupCode: "REV", block: "reverb", paramId: 41, wikiName: "EARLY DECAY", name: "early_decay", controlType: "knob", parameterName: "REVERB_EARLYDECAY", xmlLabel: "Early Decay" },
2469
+ "reverb.quality": { groupCode: "REV", block: "reverb", paramId: 43, wikiName: "QUALITY", name: "quality", controlType: "select", parameterName: "REVERB_QUALITY", xmlLabel: "Quality", enumValues: REVERB_QUALITY_VALUES },
2470
+ "reverb.hold": { groupCode: "REV", block: "reverb", paramId: 44, wikiName: "HOLD", name: "hold", controlType: "switch", parameterName: "REVERB_HOLD", xmlLabel: "Hold", modifierAssignable: true },
2471
+ "ringmod.frequency": { groupCode: "RNG", block: "ringmod", paramId: 0, wikiName: "FREQUENCY", name: "frequency", controlType: "knob", parameterName: "RINGMOD_COARSE", xmlLabel: "Frequency", modifierAssignable: true },
2472
+ "ringmod.f_multiplier": { groupCode: "RNG", block: "ringmod", paramId: 1, wikiName: "F. MULTIPLIER", name: "f_multiplier", controlType: "knob", modifierAssignable: true },
2473
+ "ringmod.track": { groupCode: "RNG", block: "ringmod", paramId: 2, wikiName: "TRACK", name: "track", controlType: "switch", parameterName: "RINGMOD_TRACK", xmlLabel: "Track" },
2474
+ "ringmod.high_cut": { groupCode: "RNG", block: "ringmod", paramId: 3, wikiName: "HIGH CUT", name: "high_cut", controlType: "knob", parameterName: "RINGMOD_HICUT", xmlLabel: "High Cut" },
2475
+ "ringmod.mix": { groupCode: "RNG", block: "ringmod", paramId: 4, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "RINGMOD_MIX", xmlLabel: "Mix", modifierAssignable: true },
2476
+ "ringmod.level": { groupCode: "RNG", block: "ringmod", paramId: 5, wikiName: "Level", name: "level", controlType: "knob", parameterName: "RINGMOD_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2477
+ "ringmod.balance": { groupCode: "RNG", block: "ringmod", paramId: 6, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "RINGMOD_PAN", xmlLabel: "Balance", modifierAssignable: true },
2478
+ "ringmod.bypass_mode": { groupCode: "RNG", block: "ringmod", paramId: 7, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "RINGMOD_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: RINGMOD_BYPASS_MODE_VALUES, modifierAssignable: true },
2479
+ "ringmod.global_mix": { groupCode: "RNG", block: "ringmod", paramId: 8, wikiName: "GLOBAL MIX", name: "global_mix", controlType: "switch" },
2480
+ "rotary.rate": { groupCode: "ROT", block: "rotary", paramId: 0, wikiName: "RATE", name: "rate", controlType: "knob", parameterName: "ROTARY_RATE", xmlLabel: "Rate", modifierAssignable: true },
2481
+ "rotary.low_depth": { groupCode: "ROT", block: "rotary", paramId: 1, wikiName: "LOW DEPTH", name: "low_depth", controlType: "knob", parameterName: "ROTARY_LFDEPTH", xmlLabel: "Low Depth" },
2482
+ "rotary.hi_depth": { groupCode: "ROT", block: "rotary", paramId: 2, wikiName: "HI DEPTH", name: "hi_depth", controlType: "knob", parameterName: "ROTARY_HFDEPTH", xmlLabel: "Hi Depth" },
2483
+ "rotary.hi_level": { groupCode: "ROT", block: "rotary", paramId: 3, wikiName: "HI Level", name: "hi_level", controlType: "knob" },
2484
+ "rotary.tempo": { groupCode: "ROT", block: "rotary", paramId: 4, wikiName: "Tempo", name: "tempo", controlType: "select", parameterName: "ROTARY_TEMPO", xmlLabel: "Tempo" },
2485
+ "rotary.mix": { groupCode: "ROT", block: "rotary", paramId: 5, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "ROTARY_MIX", xmlLabel: "Mix", modifierAssignable: true },
2486
+ "rotary.level": { groupCode: "ROT", block: "rotary", paramId: 6, wikiName: "Level", name: "level", controlType: "knob", parameterName: "ROTARY_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2487
+ "rotary.balance": { groupCode: "ROT", block: "rotary", paramId: 7, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "ROTARY_PAN", xmlLabel: "Balance", modifierAssignable: true },
2488
+ "rotary.bypass_mode": { groupCode: "ROT", block: "rotary", paramId: 8, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "ROTARY_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: ROTARY_BYPASS_MODE_VALUES, modifierAssignable: true },
2489
+ "rotary.rotor_length": { groupCode: "ROT", block: "rotary", paramId: 10, wikiName: "ROTOR LENGTH", name: "rotor_length", controlType: "knob", parameterName: "ROTARY_HFLENGTH", xmlLabel: "Rotor Length" },
2490
+ "rotary.mic_spacing": { groupCode: "ROT", block: "rotary", paramId: 12, wikiName: "MIC SPACING", name: "mic_spacing", controlType: "knob", parameterName: "ROTARY_WIDTH", xmlLabel: "Mic Spacing" },
2491
+ "rotary.low_rate_mult": { groupCode: "ROT", block: "rotary", paramId: 13, wikiName: "LOW RATE MULT", name: "low_rate_mult", controlType: "knob", parameterName: "ROTARY_LOWRATE", xmlLabel: "Low Rate Mult" },
2492
+ "rotary.low_time_const": { groupCode: "ROT", block: "rotary", paramId: 14, wikiName: "LOW TIME CONST", name: "low_time_const", controlType: "knob", parameterName: "ROTARY_LOWTIME", xmlLabel: "Low Time Const" },
2493
+ "rotary.hi_time_const": { groupCode: "ROT", block: "rotary", paramId: 15, wikiName: "HI TIME CONST", name: "hi_time_const", controlType: "knob", parameterName: "ROTARY_HIGHTIME", xmlLabel: "Hi Time Const" },
2494
+ "rotary.stereo_spread": { groupCode: "ROT", block: "rotary", paramId: 16, wikiName: "STEREO SPREAD", name: "stereo_spread", controlType: "knob", parameterName: "ROTARY_SPREAD", xmlLabel: "Stereo Spread" },
2495
+ "rotary.drive": { groupCode: "ROT", block: "rotary", paramId: 17, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "ROTARY_DRIVE", xmlLabel: "Drive" },
2496
+ "rotary.mic_distance": { groupCode: "ROT", block: "rotary", paramId: 18, wikiName: "MIC DISTANCE", name: "mic_distance", controlType: "knob", parameterName: "ROTARY_MICDIST", xmlLabel: "Mic Distance" },
2497
+ "synth.type_1": { groupCode: "SYN", block: "synth", paramId: 0, wikiName: "TYPE 1", name: "type_1", controlType: "select", enumValues: SYNTH_TYPE_1_VALUES },
2498
+ "synth.frequency_1": { groupCode: "SYN", block: "synth", paramId: 1, wikiName: "FREQUENCY 1", name: "frequency_1", controlType: "knob", modifierAssignable: true },
2499
+ "synth.track_1": { groupCode: "SYN", block: "synth", paramId: 2, wikiName: "TRACK 1", name: "track_1", controlType: "select", enumValues: SYNTH_TRACK_1_VALUES },
2500
+ "synth.shift_1": { groupCode: "SYN", block: "synth", paramId: 3, wikiName: "SHIFT 1", name: "shift_1", controlType: "knob", modifierAssignable: true },
2501
+ "synth.tune_1": { groupCode: "SYN", block: "synth", paramId: 4, wikiName: "TUNE 1", name: "tune_1", controlType: "knob", modifierAssignable: true },
2502
+ "synth.duty_1": { groupCode: "SYN", block: "synth", paramId: 5, wikiName: "DUTY 1", name: "duty_1", controlType: "knob", modifierAssignable: true },
2503
+ "synth.voice_level_1": { groupCode: "SYN", block: "synth", paramId: 6, wikiName: "VOICE Level 1", name: "voice_level_1", controlType: "knob", modifierAssignable: true },
2504
+ "synth.voice_pan_1": { groupCode: "SYN", block: "synth", paramId: 7, wikiName: "VOICE Pan 1", name: "voice_pan_1", controlType: "knob", modifierAssignable: true },
2505
+ "synth.attack_1": { groupCode: "SYN", block: "synth", paramId: 8, wikiName: "ATTACK 1", name: "attack_1", controlType: "knob" },
2506
+ "synth.filter_1": { groupCode: "SYN", block: "synth", paramId: 9, wikiName: "FILTER 1", name: "filter_1", controlType: "knob", modifierAssignable: true },
2507
+ "synth.q_1": { groupCode: "SYN", block: "synth", paramId: 10, wikiName: "Q 1", name: "q_1", controlType: "knob" },
2508
+ "synth.type_2": { groupCode: "SYN", block: "synth", paramId: 11, wikiName: "TYPE 2", name: "type_2", controlType: "select", enumValues: SYNTH_TYPE_2_VALUES },
2509
+ "synth.frequency_2": { groupCode: "SYN", block: "synth", paramId: 12, wikiName: "FREQUENCY 2", name: "frequency_2", controlType: "knob", modifierAssignable: true },
2510
+ "synth.track_2": { groupCode: "SYN", block: "synth", paramId: 13, wikiName: "TRACK 2", name: "track_2", controlType: "select", enumValues: SYNTH_TRACK_2_VALUES },
2511
+ "synth.shift_2": { groupCode: "SYN", block: "synth", paramId: 14, wikiName: "SHIFT 2", name: "shift_2", controlType: "knob", modifierAssignable: true },
2512
+ "synth.tune_2": { groupCode: "SYN", block: "synth", paramId: 15, wikiName: "TUNE 2", name: "tune_2", controlType: "knob", modifierAssignable: true },
2513
+ "synth.duty_2": { groupCode: "SYN", block: "synth", paramId: 16, wikiName: "DUTY 2", name: "duty_2", controlType: "knob", modifierAssignable: true },
2514
+ "synth.voice_level_2": { groupCode: "SYN", block: "synth", paramId: 17, wikiName: "VOICE Level 2", name: "voice_level_2", controlType: "knob", modifierAssignable: true },
2515
+ "synth.voice_pan_2": { groupCode: "SYN", block: "synth", paramId: 18, wikiName: "VOICE Pan 2", name: "voice_pan_2", controlType: "knob", modifierAssignable: true },
2516
+ "synth.attack_2": { groupCode: "SYN", block: "synth", paramId: 19, wikiName: "ATTACK 2", name: "attack_2", controlType: "knob" },
2517
+ "synth.filter_2": { groupCode: "SYN", block: "synth", paramId: 20, wikiName: "FILTER 2", name: "filter_2", controlType: "knob", modifierAssignable: true },
2518
+ "synth.q_2": { groupCode: "SYN", block: "synth", paramId: 21, wikiName: "Q 2", name: "q_2", controlType: "knob" },
2519
+ "synth.mix": { groupCode: "SYN", block: "synth", paramId: 23, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "SYNTH_MIX", xmlLabel: "Mix", modifierAssignable: true },
2520
+ "synth.level": { groupCode: "SYN", block: "synth", paramId: 24, wikiName: "Level", name: "level", controlType: "knob", parameterName: "SYNTH_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2521
+ "synth.balance": { groupCode: "SYN", block: "synth", paramId: 25, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "SYNTH_PAN", xmlLabel: "Balance", modifierAssignable: true },
2522
+ "synth.bypass_mode": { groupCode: "SYN", block: "synth", paramId: 26, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "SYNTH_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: SYNTH_BYPASS_MODE_VALUES, modifierAssignable: true },
2523
+ "synth.global_mix": { groupCode: "SYN", block: "synth", paramId: 27, wikiName: "GLOBAL MIX", name: "global_mix", controlType: "switch" },
2524
+ "synth.type_3": { groupCode: "SYN", block: "synth", paramId: 29, wikiName: "TYPE 3", name: "type_3", controlType: "select", enumValues: SYNTH_TYPE_3_VALUES },
2525
+ "synth.frequency_3": { groupCode: "SYN", block: "synth", paramId: 30, wikiName: "FREQUENCY 3", name: "frequency_3", controlType: "knob", modifierAssignable: true },
2526
+ "synth.track_3": { groupCode: "SYN", block: "synth", paramId: 31, wikiName: "TRACK 3", name: "track_3", controlType: "select", enumValues: SYNTH_TRACK_3_VALUES },
2527
+ "synth.shift_3": { groupCode: "SYN", block: "synth", paramId: 32, wikiName: "SHIFT 3", name: "shift_3", controlType: "knob", modifierAssignable: true },
2528
+ "synth.tune_3": { groupCode: "SYN", block: "synth", paramId: 33, wikiName: "TUNE 3", name: "tune_3", controlType: "knob", modifierAssignable: true },
2529
+ "synth.duty_3": { groupCode: "SYN", block: "synth", paramId: 34, wikiName: "DUTY 3", name: "duty_3", controlType: "knob", modifierAssignable: true },
2530
+ "synth.voice_level_3": { groupCode: "SYN", block: "synth", paramId: 35, wikiName: "VOICE Level 3", name: "voice_level_3", controlType: "knob", modifierAssignable: true },
2531
+ "synth.voice_pan_3": { groupCode: "SYN", block: "synth", paramId: 36, wikiName: "VOICE Pan 3", name: "voice_pan_3", controlType: "knob", modifierAssignable: true },
2532
+ "synth.attack_3": { groupCode: "SYN", block: "synth", paramId: 37, wikiName: "ATTACK 3", name: "attack_3", controlType: "knob" },
2533
+ "synth.filter_3": { groupCode: "SYN", block: "synth", paramId: 38, wikiName: "FILTER 3", name: "filter_3", controlType: "knob", modifierAssignable: true },
2534
+ "synth.q_3": { groupCode: "SYN", block: "synth", paramId: 39, wikiName: "Q 3", name: "q_3", controlType: "knob" },
2535
+ "volpan.volume": { groupCode: "VOL", block: "volpan", paramId: 0, wikiName: "VOLUME", name: "volume", controlType: "knob", parameterName: "VOLUME_GAIN", xmlLabel: "Volume", modifierAssignable: true },
2536
+ "volpan.balance": { groupCode: "VOL", block: "volpan", paramId: 1, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "VOLUME_BAL", xmlLabel: "Balance", modifierAssignable: true },
2537
+ "volpan.volume_taper": { groupCode: "VOL", block: "volpan", paramId: 2, wikiName: "VOLUME TAPER", name: "volume_taper", controlType: "select", parameterName: "VOLUME_TAPER", xmlLabel: "Volume Taper", enumValues: VOLPAN_VOLUME_TAPER_VALUES },
2538
+ "volpan.pan_left": { groupCode: "VOL", block: "volpan", paramId: 4, wikiName: "Pan Left", name: "pan_left", controlType: "knob", parameterName: "VOLUME_PANL", xmlLabel: "Pan Left", modifierAssignable: true },
2539
+ "volpan.pan_right": { groupCode: "VOL", block: "volpan", paramId: 5, wikiName: "Pan Right", name: "pan_right", controlType: "knob", parameterName: "VOLUME_PANR", xmlLabel: "Pan Right", modifierAssignable: true },
2540
+ "volpan.level": { groupCode: "VOL", block: "volpan", paramId: 6, wikiName: "Level", name: "level", controlType: "knob", parameterName: "VOLUME_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2541
+ "volpan.bypass_mode": { groupCode: "VOL", block: "volpan", paramId: 7, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "VOLUME_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: VOLPAN_BYPASS_MODE_VALUES, modifierAssignable: true },
2542
+ "volpan.input_select": { groupCode: "VOL", block: "volpan", paramId: 8, wikiName: "INPUT SELECT", name: "input_select", controlType: "select", parameterName: "VOLUME_INPUTSELECT", xmlLabel: "Input Select", enumValues: VOLPAN_INPUT_SELECT_VALUES },
2543
+ "wah.effect_type": { groupCode: "WAH", block: "wah", paramId: 0, wikiName: "EFFECT TYPE", name: "effect_type", controlType: "select", enumValues: WAH_EFFECT_TYPE_VALUES },
2544
+ "wah.freq_min": { groupCode: "WAH", block: "wah", paramId: 1, wikiName: "FREQ MIN", name: "freq_min", controlType: "knob" },
2545
+ "wah.freq_max": { groupCode: "WAH", block: "wah", paramId: 2, wikiName: "FREQ MAX", name: "freq_max", controlType: "knob" },
2546
+ "wah.resonance": { groupCode: "WAH", block: "wah", paramId: 3, wikiName: "RESONANCE", name: "resonance", controlType: "knob", parameterName: "WAH_Q", xmlLabel: "Resonance" },
2547
+ "wah.tracking": { groupCode: "WAH", block: "wah", paramId: 4, wikiName: "TRACKING", name: "tracking", controlType: "knob", parameterName: "WAH_TRACK", xmlLabel: "Tracking" },
2548
+ "wah.control": { groupCode: "WAH", block: "wah", paramId: 5, wikiName: "CONTROL", name: "control", controlType: "knob", parameterName: "WAH_CONTROL", xmlLabel: "Control", modifierAssignable: true },
2549
+ "wah.level": { groupCode: "WAH", block: "wah", paramId: 6, wikiName: "Level", name: "level", controlType: "knob", parameterName: "WAH_LEVEL", xmlLabel: "Level", modifierAssignable: true },
2550
+ "wah.balance": { groupCode: "WAH", block: "wah", paramId: 7, wikiName: "Balance", name: "balance", controlType: "knob", parameterName: "WAH_PAN", xmlLabel: "Balance", modifierAssignable: true },
2551
+ "wah.bypass_mode": { groupCode: "WAH", block: "wah", paramId: 8, wikiName: "BYPASS MODE", name: "bypass_mode", controlType: "select", parameterName: "WAH_BYPASSMODE", xmlLabel: "Bypass Mode", enumValues: WAH_BYPASS_MODE_VALUES, modifierAssignable: true },
2552
+ "wah.fat": { groupCode: "WAH", block: "wah", paramId: 9, wikiName: "FAT", name: "fat", controlType: "knob", parameterName: "WAH_MIX", xmlLabel: "Fat" },
2553
+ "wah.drive": { groupCode: "WAH", block: "wah", paramId: 10, wikiName: "DRIVE", name: "drive", controlType: "knob", parameterName: "WAH_DRIVE", xmlLabel: "Drive" },
2554
+ "wah.taper": { groupCode: "WAH", block: "wah", paramId: 11, wikiName: "TAPER", name: "taper", controlType: "select", parameterName: "WAH_TAPER", xmlLabel: "Taper", enumValues: WAH_TAPER_VALUES },
2555
+ "wah.coil_bias": { groupCode: "WAH", block: "wah", paramId: 13, wikiName: "COIL BIAS", name: "coil_bias", controlType: "knob", parameterName: "WAH_BIAS", xmlLabel: "Coil Bias", fwAdded: "Since Quantum 6" },
2556
+ "wah.low_cut_freq": { groupCode: "WAH", block: "wah", paramId: 14, wikiName: "LOW CUT FREQ", name: "low_cut_freq", controlType: "knob", fwAdded: "Since Quantum 6" },
2557
+ // >>> BEGIN_GHIDRA_ADDENDUM (Session 94, 2026-05-17) >>>
2558
+ //
2559
+ // 221 net-new entries recovered from Axe-Edit.exe via direct-pattern-
2560
+ // scan Ghidra mining (`scripts/ghidra/SeekParamTablesII.java`).
2561
+ // Source: `samples/captured/decoded/ghidra-axeedit2-paramtables.json`
2562
+ // (1,353 raw (paramId, symbol) entries; 905 already ship via wiki; 221
2563
+ // remain after (groupCode, paramId) dedup against shipping entries).
2564
+ // Validated: 639/640 shipping (parameterName, paramId) pairs agree with
2565
+ // the Ghidra catalog exactly. Two entirely new blocks (VOCODER 50,
2566
+ // RESONATOR 40) get param coverage for the first time.
2567
+ //
2568
+ // Skipped during generation: groupCode-paramId-pair-already-shipping
2569
+ // (876), family-unmapped:ID (71, layout enum), family-unmapped:EFFECT
2570
+ // (48, layout strings), family-unmapped:MOD (16, per-param modifier
2571
+ // config — not a placeable block).
2572
+ //
2573
+ // displayMin / displayMax NOT populated — needs hardware calibration
2574
+ // sweep per block. Several `controlType: "unknown"` entries are wiring-
2575
+ // present but the XML editor catalog had no UI widget for them
2576
+ // (typically BYPASS / GLOBALMIX / SPARE).
2577
+ //
2578
+ // Append-only block — survives `extract-axe-fx-ii-params.ts` regens
2579
+ // ONLY until the broader-preservation work the generator header queues
2580
+ // separately lands. The `>>> BEGIN_GHIDRA_ADDENDUM` / `<<< END_GHIDRA_
2581
+ // ADDENDUM` markers are designed for that preservation work to
2582
+ // pattern-match and re-splice this block across regens.
2583
+ //
2584
+ // Regenerate via:
2585
+ // npx tsx scripts/_research/generate-axefx2-ghidra-addendum.ts
2586
+ // (writes samples/captured/decoded/axefx2-ghidra-addendum.ts.txt;
2587
+ // paste into THIS block between the BEGIN/END markers.)
2588
+ // --- amp (AMP) ---
2589
+ "amp.wslpf": { groupCode: "AMP", block: "amp", paramId: 11, wikiName: "WSLPF", name: "wslpf", controlType: "unknown", parameterName: "DISTORT_WSLPF" },
2590
+ "amp.offset1": { groupCode: "AMP", block: "amp", paramId: 17, wikiName: "OFFSET1", name: "offset1", controlType: "unknown", parameterName: "DISTORT_OFFSET1" },
2591
+ "amp.cliptype2": { groupCode: "AMP", block: "amp", paramId: 18, wikiName: "CLIPTYPE2", name: "cliptype2", controlType: "unknown", parameterName: "DISTORT_CLIPTYPE2" },
2592
+ "amp.bypass": { groupCode: "AMP", block: "amp", paramId: 28, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "DISTORT_BYPASS" },
2593
+ "amp.drivetype": { groupCode: "AMP", block: "amp", paramId: 30, wikiName: "DRIVETYPE", name: "drivetype", controlType: "unknown", parameterName: "DISTORT_DRIVETYPE" },
2594
+ "amp.wshpf": { groupCode: "AMP", block: "amp", paramId: 32, wikiName: "WSHPF", name: "wshpf", controlType: "unknown", parameterName: "DISTORT_WSHPF" },
2595
+ "amp.fbtype": { groupCode: "AMP", block: "amp", paramId: 37, wikiName: "FBTYPE", name: "fbtype", controlType: "unknown", parameterName: "DISTORT_FBTYPE" },
2596
+ "amp.pi_ratio": { groupCode: "AMP", block: "amp", paramId: 38, wikiName: "PI_RATIO", name: "pi_ratio", controlType: "unknown", parameterName: "DISTORT_PI_RATIO" },
2597
+ "amp.screenfreq": { groupCode: "AMP", block: "amp", paramId: 52, wikiName: "SCREENFREQ", name: "screenfreq", controlType: "unknown", parameterName: "DISTORT_SCREENFREQ" },
2598
+ "amp.screenq": { groupCode: "AMP", block: "amp", paramId: 53, wikiName: "SCREENQ", name: "screenq", controlType: "unknown", parameterName: "DISTORT_SCREENQ" },
2599
+ "amp.excursiontime": { groupCode: "AMP", block: "amp", paramId: 64, wikiName: "EXCURSIONTIME", name: "excursiontime", controlType: "unknown", parameterName: "DISTORT_EXCURSIONTIME" },
2600
+ "amp.recoverytime": { groupCode: "AMP", block: "amp", paramId: 65, wikiName: "RECOVERYTIME", name: "recoverytime", controlType: "unknown", parameterName: "DISTORT_RECOVERYTIME" },
2601
+ "amp.version": { groupCode: "AMP", block: "amp", paramId: 82, wikiName: "VERSION", name: "version", controlType: "knob", parameterName: "DISTORT_VERSION", xmlLabel: "Modeling Version" },
2602
+ "amp.pickattack": { groupCode: "AMP", block: "amp", paramId: 83, wikiName: "PICKATTACK", name: "pickattack", controlType: "knob", parameterName: "DISTORT_PICKATTACK", xmlLabel: "Pick Attack" },
2603
+ "amp.tremfreq": { groupCode: "AMP", block: "amp", paramId: 89, wikiName: "TREMFREQ", name: "tremfreq", controlType: "knob", parameterName: "DISTORT_TREMFREQ", xmlLabel: "Tremolo Freq" },
2604
+ "amp.tremdepth": { groupCode: "AMP", block: "amp", paramId: 90, wikiName: "TREMDEPTH", name: "tremdepth", controlType: "knob", parameterName: "DISTORT_TREMDEPTH", xmlLabel: "Tremolo Depth" },
2605
+ "amp.cbtime": { groupCode: "AMP", block: "amp", paramId: 94, wikiName: "CBTIME", name: "cbtime", controlType: "unknown", parameterName: "DISTORT_CBTIME" },
2606
+ "amp.dynimp": { groupCode: "AMP", block: "amp", paramId: 95, wikiName: "DYNIMP", name: "dynimp", controlType: "knob", parameterName: "DISTORT_DYNIMP", xmlLabel: "Dynamic Damping" },
2607
+ "amp.gridhardness": { groupCode: "AMP", block: "amp", paramId: 103, wikiName: "GRIDHARDNESS", name: "gridhardness", controlType: "unknown", parameterName: "DISTORT_GRIDHARDNESS" },
2608
+ "amp.triode2extime": { groupCode: "AMP", block: "amp", paramId: 107, wikiName: "TRIODE2EXTIME", name: "triode2extime", controlType: "unknown", parameterName: "DISTORT_TRIODE2EXTIME" },
2609
+ "amp.triode2rectime": { groupCode: "AMP", block: "amp", paramId: 108, wikiName: "TRIODE2RECTIME", name: "triode2rectime", controlType: "unknown", parameterName: "DISTORT_TRIODE2RECTIME" },
2610
+ "amp.triode1ratio": { groupCode: "AMP", block: "amp", paramId: 112, wikiName: "TRIODE1RATIO", name: "triode1ratio", controlType: "unknown", parameterName: "DISTORT_TRIODE1RATIO" },
2611
+ "amp.spkrdynamics": { groupCode: "AMP", block: "amp", paramId: 117, wikiName: "SPKRDYNAMICS", name: "spkrdynamics", controlType: "knob", parameterName: "DISTORT_SPKRDYNAMICS", xmlLabel: "Speaker\nCompl" },
2612
+ // --- cab (CAB) ---
2613
+ "cab.bypass": { groupCode: "CAB", block: "cab", paramId: 13, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "CABINET_BYPASS" },
2614
+ "cab.refresh_all": { groupCode: "CAB", block: "cab", paramId: 40, wikiName: "REFRESH_ALL", name: "refresh_all", controlType: "unknown", parameterName: "CABINET_REFRESH_ALL" },
2615
+ // --- chorus (CHO) ---
2616
+ "chorus.bypass": { groupCode: "CHO", block: "chorus", paramId: 15, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "CHORUS_BYPASS" },
2617
+ // --- controllers (CONTROLLERS) ---
2618
+ "controllers.lfo2phase": { groupCode: "CONTROLLERS", block: "controllers", paramId: 10, wikiName: "LFO2PHASE", name: "lfo2phase", controlType: "knob", parameterName: "CONTROLLERS_LFO2PHASE", xmlLabel: "Output B Phase" },
2619
+ "controllers.adsr2mode": { groupCode: "CONTROLLERS", block: "controllers", paramId: 20, wikiName: "ADSR2MODE", name: "adsr2mode", controlType: "select", parameterName: "CONTROLLERS_ADSR2MODE", xmlLabel: "Mode" },
2620
+ "controllers.adsr2retrig": { groupCode: "CONTROLLERS", block: "controllers", paramId: 21, wikiName: "ADSR2RETRIG", name: "adsr2retrig", controlType: "switch", parameterName: "CONTROLLERS_ADSR2RETRIG", xmlLabel: "Retrig" },
2621
+ "controllers.adsr2attack": { groupCode: "CONTROLLERS", block: "controllers", paramId: 22, wikiName: "ADSR2ATTACK", name: "adsr2attack", controlType: "knob", parameterName: "CONTROLLERS_ADSR2ATTACK", xmlLabel: "Attack" },
2622
+ "controllers.adsr2decay": { groupCode: "CONTROLLERS", block: "controllers", paramId: 23, wikiName: "ADSR2DECAY", name: "adsr2decay", controlType: "knob", parameterName: "CONTROLLERS_ADSR2DECAY", xmlLabel: "Decay" },
2623
+ "controllers.adsr2sustain": { groupCode: "CONTROLLERS", block: "controllers", paramId: 24, wikiName: "ADSR2SUSTAIN", name: "adsr2sustain", controlType: "knob", parameterName: "CONTROLLERS_ADSR2SUSTAIN", xmlLabel: "Sustain" },
2624
+ "controllers.adsr2level": { groupCode: "CONTROLLERS", block: "controllers", paramId: 25, wikiName: "ADSR2LEVEL", name: "adsr2level", controlType: "knob", parameterName: "CONTROLLERS_ADSR2LEVEL", xmlLabel: "Level" },
2625
+ "controllers.adsr2release": { groupCode: "CONTROLLERS", block: "controllers", paramId: 26, wikiName: "ADSR2RELEASE", name: "adsr2release", controlType: "knob", parameterName: "CONTROLLERS_ADSR2RELEASE", xmlLabel: "Release" },
2626
+ "controllers.adsr2thresh": { groupCode: "CONTROLLERS", block: "controllers", paramId: 27, wikiName: "ADSR2THRESH", name: "adsr2thresh", controlType: "knob", parameterName: "CONTROLLERS_ADSR2THRESH", xmlLabel: "Threshold" },
2627
+ "controllers.envattack": { groupCode: "CONTROLLERS", block: "controllers", paramId: 28, wikiName: "ENVATTACK", name: "envattack", controlType: "knob", parameterName: "CONTROLLERS_ENVATTACK", xmlLabel: "Attack" },
2628
+ "controllers.envrelease": { groupCode: "CONTROLLERS", block: "controllers", paramId: 29, wikiName: "ENVRELEASE", name: "envrelease", controlType: "knob", parameterName: "CONTROLLERS_ENVRELEASE", xmlLabel: "Release" },
2629
+ "controllers.envsens": { groupCode: "CONTROLLERS", block: "controllers", paramId: 30, wikiName: "ENVSENS", name: "envsens", controlType: "knob", parameterName: "CONTROLLERS_ENVSENS", xmlLabel: "Threshold" },
2630
+ "controllers.autodelay": { groupCode: "CONTROLLERS", block: "controllers", paramId: 53, wikiName: "AUTODELAY", name: "autodelay", controlType: "unknown", parameterName: "CONTROLLERS_AUTODELAY" },
2631
+ "controllers.lfo1runctrl": { groupCode: "CONTROLLERS", block: "controllers", paramId: 75, wikiName: "LFO1RUNCTRL", name: "lfo1runctrl", controlType: "unknown", parameterName: "CONTROLLERS_LFO1RUNCTRL" },
2632
+ "controllers.lfo2runctrl": { groupCode: "CONTROLLERS", block: "controllers", paramId: 76, wikiName: "LFO2RUNCTRL", name: "lfo2runctrl", controlType: "unknown", parameterName: "CONTROLLERS_LFO2RUNCTRL" },
2633
+ "controllers.seqrunctrl": { groupCode: "CONTROLLERS", block: "controllers", paramId: 77, wikiName: "SEQRUNCTRL", name: "seqrunctrl", controlType: "unknown", parameterName: "CONTROLLERS_SEQRUNCTRL" },
2634
+ "controllers.scene2_val1": { groupCode: "CONTROLLERS", block: "controllers", paramId: 86, wikiName: "SCENE2_VAL1", name: "scene2_val1", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL1", xmlLabel: "Scene 1" },
2635
+ "controllers.scene2_val2": { groupCode: "CONTROLLERS", block: "controllers", paramId: 87, wikiName: "SCENE2_VAL2", name: "scene2_val2", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL2", xmlLabel: "Scene 2" },
2636
+ "controllers.scene2_val3": { groupCode: "CONTROLLERS", block: "controllers", paramId: 88, wikiName: "SCENE2_VAL3", name: "scene2_val3", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL3", xmlLabel: "Scene 3" },
2637
+ "controllers.scene2_val4": { groupCode: "CONTROLLERS", block: "controllers", paramId: 89, wikiName: "SCENE2_VAL4", name: "scene2_val4", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL4", xmlLabel: "Scene 4" },
2638
+ "controllers.scene2_val5": { groupCode: "CONTROLLERS", block: "controllers", paramId: 90, wikiName: "SCENE2_VAL5", name: "scene2_val5", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL5", xmlLabel: "Scene 5" },
2639
+ "controllers.scene2_val6": { groupCode: "CONTROLLERS", block: "controllers", paramId: 91, wikiName: "SCENE2_VAL6", name: "scene2_val6", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL6", xmlLabel: "Scene 6" },
2640
+ "controllers.scene2_val7": { groupCode: "CONTROLLERS", block: "controllers", paramId: 92, wikiName: "SCENE2_VAL7", name: "scene2_val7", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL7", xmlLabel: "Scene 7" },
2641
+ "controllers.scene2_val8": { groupCode: "CONTROLLERS", block: "controllers", paramId: 93, wikiName: "SCENE2_VAL8", name: "scene2_val8", controlType: "knob", parameterName: "CONTROLLERS_SCENE2_VAL8", xmlLabel: "Scene 8" },
2642
+ "controllers.lfo2quantize": { groupCode: "CONTROLLERS", block: "controllers", paramId: 95, wikiName: "LFO2QUANTIZE", name: "lfo2quantize", controlType: "select", parameterName: "CONTROLLERS_LFO2QUANTIZE", xmlLabel: "LFO2 Quantize" },
2643
+ "controllers.end": { groupCode: "CONTROLLERS", block: "controllers", paramId: 96, wikiName: "END", name: "end", controlType: "unknown", parameterName: "CONTROLLERS_END", xmlLabel: "CONTROLLER 1" },
2644
+ "controllers.metlevel": { groupCode: "CONTROLLERS", block: "controllers", paramId: 97, wikiName: "METLEVEL", name: "metlevel", controlType: "unknown", parameterName: "CONTROLLERS_METLEVEL" },
2645
+ "controllers.metonoff": { groupCode: "CONTROLLERS", block: "controllers", paramId: 98, wikiName: "METONOFF", name: "metonoff", controlType: "unknown", parameterName: "CONTROLLERS_METONOFF" },
2646
+ // --- compressor (CPR) ---
2647
+ "compressor.bypass": { groupCode: "CPR", block: "compressor", paramId: 9, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "COMP_BYPASS" },
2648
+ // --- delay (DLY) ---
2649
+ "delay.feedl": { groupCode: "DLY", block: "delay", paramId: 5, wikiName: "FEEDL", name: "feedl", controlType: "unknown", parameterName: "DELAY_FEEDL" },
2650
+ "delay.bypass": { groupCode: "DLY", block: "delay", paramId: 22, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "DELAY_BYPASS" },
2651
+ // --- drive (DRV) ---
2652
+ "drive.bypass": { groupCode: "DRV", block: "drive", paramId: 7, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "FUZZ_BYPASS" },
2653
+ "drive.clipshape": { groupCode: "DRV", block: "drive", paramId: 20, wikiName: "CLIPSHAPE", name: "clipshape", controlType: "knob", parameterName: "FUZZ_CLIPSHAPE", xmlLabel: "Clip Shape" },
2654
+ // --- enhancer (ENH) ---
2655
+ "enhancer.bypass": { groupCode: "ENH", block: "enhancer", paramId: 5, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "ENHANCER_BYPASS" },
2656
+ // --- filter (FIL) ---
2657
+ "filter.bypass": { groupCode: "FIL", block: "filter", paramId: 8, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "FILTER_BYPASS" },
2658
+ // --- flanger (FLG) ---
2659
+ "flanger.bypass": { groupCode: "FLG", block: "flanger", paramId: 16, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "FLANGER_BYPASS" },
2660
+ "flanger.lforeset": { groupCode: "FLG", block: "flanger", paramId: 23, wikiName: "LFORESET", name: "lforeset", controlType: "select", parameterName: "FLANGER_LFORESET", xmlLabel: "LFO Bypass Reset" },
2661
+ // --- formant (FRM) ---
2662
+ "formant.spare": { groupCode: "FRM", block: "formant", paramId: 10, wikiName: "SPARE", name: "spare", controlType: "unknown", parameterName: "FORMANT_SPARE" },
2663
+ "formant.bypass": { groupCode: "FRM", block: "formant", paramId: 11, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "FORMANT_BYPASS" },
2664
+ // --- graphiceq (GEQ) ---
2665
+ "graphiceq.mix": { groupCode: "GEQ", block: "graphiceq", paramId: 10, wikiName: "MIX", name: "mix", controlType: "unknown", parameterName: "GEQ_MIX" },
2666
+ "graphiceq.globalmix": { groupCode: "GEQ", block: "graphiceq", paramId: 14, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "GEQ_GLOBALMIX" },
2667
+ "graphiceq.spare3": { groupCode: "GEQ", block: "graphiceq", paramId: 17, wikiName: "SPARE3", name: "spare3", controlType: "unknown", parameterName: "GEQ_SPARE3" },
2668
+ "graphiceq.bypass": { groupCode: "GEQ", block: "graphiceq", paramId: 18, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "GEQ_BYPASS" },
2669
+ // --- gateexpander (GTE) ---
2670
+ "gateexpander.mix": { groupCode: "GTE", block: "gateexpander", paramId: 8, wikiName: "MIX", name: "mix", controlType: "unknown", parameterName: "GATE_MIX" },
2671
+ "gateexpander.bypass": { groupCode: "GTE", block: "gateexpander", paramId: 12, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "GATE_BYPASS" },
2672
+ // --- looper (LPR) ---
2673
+ "looper.bypass": { groupCode: "LPR", block: "looper", paramId: 4, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "LOOPER_BYPASS" },
2674
+ "looper.record": { groupCode: "LPR", block: "looper", paramId: 15, wikiName: "RECORD", name: "record", controlType: "unknown", parameterName: "LOOPER_RECORD" },
2675
+ "looper.play": { groupCode: "LPR", block: "looper", paramId: 16, wikiName: "PLAY", name: "play", controlType: "unknown", parameterName: "LOOPER_PLAY" },
2676
+ "looper.once": { groupCode: "LPR", block: "looper", paramId: 17, wikiName: "ONCE", name: "once", controlType: "unknown", parameterName: "LOOPER_ONCE" },
2677
+ "looper.dub": { groupCode: "LPR", block: "looper", paramId: 18, wikiName: "DUB", name: "dub", controlType: "unknown", parameterName: "LOOPER_DUB" },
2678
+ "looper.undo": { groupCode: "LPR", block: "looper", paramId: 19, wikiName: "UNDO", name: "undo", controlType: "unknown", parameterName: "LOOPER_UNDO" },
2679
+ "looper.reverse": { groupCode: "LPR", block: "looper", paramId: 20, wikiName: "REVERSE", name: "reverse", controlType: "unknown", parameterName: "LOOPER_REVERSE" },
2680
+ "looper.halfspeed": { groupCode: "LPR", block: "looper", paramId: 21, wikiName: "HALFSPEED", name: "halfspeed", controlType: "unknown", parameterName: "LOOPER_HALFSPEED" },
2681
+ // --- multibandcomp (MBC) ---
2682
+ "multibandcomp.mix": { groupCode: "MBC", block: "multibandcomp", paramId: 23, wikiName: "MIX", name: "mix", controlType: "unknown", parameterName: "MULTICOMP_MIX" },
2683
+ "multibandcomp.bypass": { groupCode: "MBC", block: "multibandcomp", paramId: 27, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "MULTICOMP_BYPASS" },
2684
+ // --- megatap (MGT) ---
2685
+ "megatap.numtaps": { groupCode: "MGT", block: "megatap", paramId: 3, wikiName: "NUMTAPS", name: "numtaps", controlType: "knob", parameterName: "MEGATAP_NUMTAPS", xmlLabel: "Number of Taps" },
2686
+ "megatap.timeshape": { groupCode: "MGT", block: "megatap", paramId: 4, wikiName: "TIMESHAPE", name: "timeshape", controlType: "select", parameterName: "MEGATAP_TIMESHAPE", xmlLabel: "Time Shape" },
2687
+ "megatap.timealpha": { groupCode: "MGT", block: "megatap", paramId: 5, wikiName: "TIMEALPHA", name: "timealpha", controlType: "knob", parameterName: "MEGATAP_TIMEALPHA", xmlLabel: "Time Alpha" },
2688
+ "megatap.ampshape": { groupCode: "MGT", block: "megatap", paramId: 6, wikiName: "AMPSHAPE", name: "ampshape", controlType: "select", parameterName: "MEGATAP_AMPSHAPE", xmlLabel: "Amplitude shape" },
2689
+ "megatap.ampalpha": { groupCode: "MGT", block: "megatap", paramId: 7, wikiName: "AMPALPHA", name: "ampalpha", controlType: "knob", parameterName: "MEGATAP_AMPALPHA", xmlLabel: "Amplitude Alpha" },
2690
+ "megatap.panshape": { groupCode: "MGT", block: "megatap", paramId: 8, wikiName: "PANSHAPE", name: "panshape", controlType: "select", parameterName: "MEGATAP_PANSHAPE", xmlLabel: "Pan Shape" },
2691
+ "megatap.panalpha": { groupCode: "MGT", block: "megatap", paramId: 9, wikiName: "PANALPHA", name: "panalpha", controlType: "knob", parameterName: "MEGATAP_PANALPHA", xmlLabel: "Pan Alpha" },
2692
+ "megatap.random": { groupCode: "MGT", block: "megatap", paramId: 10, wikiName: "RANDOM", name: "random", controlType: "knob", parameterName: "MEGATAP_RANDOM", xmlLabel: "Time Randomize" },
2693
+ "megatap.mix": { groupCode: "MGT", block: "megatap", paramId: 11, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "MEGATAP_MIX", xmlLabel: "Mix" },
2694
+ "megatap.level": { groupCode: "MGT", block: "megatap", paramId: 12, wikiName: "LEVEL", name: "level", controlType: "knob", parameterName: "MEGATAP_LEVEL", xmlLabel: "Level" },
2695
+ "megatap.pan": { groupCode: "MGT", block: "megatap", paramId: 13, wikiName: "PAN", name: "pan", controlType: "knob", parameterName: "MEGATAP_PAN", xmlLabel: "Balance" },
2696
+ "megatap.bypassmode": { groupCode: "MGT", block: "megatap", paramId: 14, wikiName: "BYPASSMODE", name: "bypassmode", controlType: "select", parameterName: "MEGATAP_BYPASSMODE", xmlLabel: "Bypass Mode" },
2697
+ "megatap.globalmix": { groupCode: "MGT", block: "megatap", paramId: 15, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "MEGATAP_GLOBALMIX" },
2698
+ "megatap.bypass": { groupCode: "MGT", block: "megatap", paramId: 16, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "MEGATAP_BYPASS" },
2699
+ // --- multidelay (MTD) ---
2700
+ "multidelay.bypass": { groupCode: "MTD", block: "multidelay", paramId: 34, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "MULTITAP_BYPASS" },
2701
+ "multidelay.subdiv": { groupCode: "MTD", block: "multidelay", paramId: 80, wikiName: "SUBDIV", name: "subdiv", controlType: "unknown", parameterName: "MULTITAP_SUBDIV" },
2702
+ "multidelay.decaystyle": { groupCode: "MTD", block: "multidelay", paramId: 83, wikiName: "DECAYSTYLE", name: "decaystyle", controlType: "unknown", parameterName: "MULTITAP_DECAYSTYLE" },
2703
+ "multidelay.reftempo": { groupCode: "MTD", block: "multidelay", paramId: 114, wikiName: "REFTEMPO", name: "reftempo", controlType: "unknown", parameterName: "MULTITAP_REFTEMPO" },
2704
+ "multidelay.tracktempo": { groupCode: "MTD", block: "multidelay", paramId: 115, wikiName: "TRACKTEMPO", name: "tracktempo", controlType: "unknown", parameterName: "MULTITAP_TRACKTEMPO" },
2705
+ "multidelay.end": { groupCode: "MTD", block: "multidelay", paramId: 118, wikiName: "END", name: "end", controlType: "unknown", parameterName: "MULTITAP_END" },
2706
+ // --- output (OUTPUT) ---
2707
+ "output.bypass": { groupCode: "OUTPUT", block: "output", paramId: 19, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "OUTPUT_BYPASS" },
2708
+ // --- parametriceq (PEQ) ---
2709
+ "parametriceq.globalmix": { groupCode: "PEQ", block: "parametriceq", paramId: 22, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "PEQ_GLOBALMIX" },
2710
+ "parametriceq.bypass": { groupCode: "PEQ", block: "parametriceq", paramId: 23, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "PEQ_BYPASS" },
2711
+ // --- phaser (PHA) ---
2712
+ "phaser.bypass": { groupCode: "PHA", block: "phaser", paramId: 16, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "PHASER_BYPASS" },
2713
+ // --- pitch (PIT) ---
2714
+ "pitch.bypass": { groupCode: "PIT", block: "pitch", paramId: 29, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "PITCH_BYPASS" },
2715
+ "pitch.note2": { groupCode: "PIT", block: "pitch", paramId: 46, wikiName: "NOTE2", name: "note2", controlType: "select", parameterName: "PITCH_NOTE2", xmlLabel: "Note 2" },
2716
+ "pitch.note3": { groupCode: "PIT", block: "pitch", paramId: 47, wikiName: "NOTE3", name: "note3", controlType: "select", parameterName: "PITCH_NOTE3", xmlLabel: "Note 3" },
2717
+ "pitch.note4": { groupCode: "PIT", block: "pitch", paramId: 48, wikiName: "NOTE4", name: "note4", controlType: "select", parameterName: "PITCH_NOTE4", xmlLabel: "Note 4" },
2718
+ "pitch.note5": { groupCode: "PIT", block: "pitch", paramId: 49, wikiName: "NOTE5", name: "note5", controlType: "select", parameterName: "PITCH_NOTE5", xmlLabel: "Note 5" },
2719
+ "pitch.note6": { groupCode: "PIT", block: "pitch", paramId: 50, wikiName: "NOTE6", name: "note6", controlType: "select", parameterName: "PITCH_NOTE6", xmlLabel: "Note 6" },
2720
+ "pitch.note7": { groupCode: "PIT", block: "pitch", paramId: 51, wikiName: "NOTE7", name: "note7", controlType: "select", parameterName: "PITCH_NOTE7", xmlLabel: "Note 7" },
2721
+ "pitch.note8": { groupCode: "PIT", block: "pitch", paramId: 52, wikiName: "NOTE8", name: "note8", controlType: "select", parameterName: "PITCH_NOTE8", xmlLabel: "Note 8" },
2722
+ "pitch.time1": { groupCode: "PIT", block: "pitch", paramId: 79, wikiName: "TIME1", name: "time1", controlType: "knob", parameterName: "PITCH_TIME1", xmlLabel: "Delay 1" },
2723
+ "pitch.time2": { groupCode: "PIT", block: "pitch", paramId: 80, wikiName: "TIME2", name: "time2", controlType: "knob", parameterName: "PITCH_TIME2", xmlLabel: "Delay 2" },
2724
+ // --- resonator (RES) ---
2725
+ "resonator.mode": { groupCode: "RES", block: "resonator", paramId: 0, wikiName: "MODE", name: "mode", controlType: "unknown", parameterName: "RESONATOR_MODE" },
2726
+ "resonator.chord": { groupCode: "RES", block: "resonator", paramId: 1, wikiName: "CHORD", name: "chord", controlType: "select", parameterName: "RESONATOR_CHORD", xmlLabel: "Chord Type" },
2727
+ "resonator.ingain": { groupCode: "RES", block: "resonator", paramId: 2, wikiName: "INGAIN", name: "ingain", controlType: "knob", parameterName: "RESONATOR_INGAIN", xmlLabel: "Input Gain" },
2728
+ "resonator.freq": { groupCode: "RES", block: "resonator", paramId: 3, wikiName: "FREQ", name: "freq", controlType: "knob", parameterName: "RESONATOR_FREQ", xmlLabel: "Frequency" },
2729
+ "resonator.masterfreq": { groupCode: "RES", block: "resonator", paramId: 4, wikiName: "MASTERFREQ", name: "masterfreq", controlType: "knob", parameterName: "RESONATOR_MASTERFREQ", xmlLabel: "Master Frequency" },
2730
+ "resonator.masterlvl": { groupCode: "RES", block: "resonator", paramId: 5, wikiName: "MASTERLVL", name: "masterlvl", controlType: "knob", parameterName: "RESONATOR_MASTERLVL", xmlLabel: "Master Level" },
2731
+ "resonator.masterpan": { groupCode: "RES", block: "resonator", paramId: 6, wikiName: "MASTERPAN", name: "masterpan", controlType: "knob", parameterName: "RESONATOR_MASTERPAN", xmlLabel: "Master Pan" },
2732
+ "resonator.masterfdbk": { groupCode: "RES", block: "resonator", paramId: 7, wikiName: "MASTERFDBK", name: "masterfdbk", controlType: "knob", parameterName: "RESONATOR_MASTERFDBK", xmlLabel: "Master Fdbk" },
2733
+ "resonator.masterq": { groupCode: "RES", block: "resonator", paramId: 8, wikiName: "MASTERQ", name: "masterq", controlType: "knob", parameterName: "RESONATOR_MASTERQ", xmlLabel: "Master Q" },
2734
+ "resonator.freq1": { groupCode: "RES", block: "resonator", paramId: 9, wikiName: "FREQ1", name: "freq1", controlType: "knob", parameterName: "RESONATOR_FREQ1", xmlLabel: "Freq 1" },
2735
+ "resonator.freq2": { groupCode: "RES", block: "resonator", paramId: 10, wikiName: "FREQ2", name: "freq2", controlType: "knob", parameterName: "RESONATOR_FREQ2", xmlLabel: "Freq 2" },
2736
+ "resonator.freq3": { groupCode: "RES", block: "resonator", paramId: 11, wikiName: "FREQ3", name: "freq3", controlType: "knob", parameterName: "RESONATOR_FREQ3", xmlLabel: "Freq 3" },
2737
+ "resonator.freq4": { groupCode: "RES", block: "resonator", paramId: 12, wikiName: "FREQ4", name: "freq4", controlType: "knob", parameterName: "RESONATOR_FREQ4", xmlLabel: "Freq 4" },
2738
+ "resonator.fdbk1": { groupCode: "RES", block: "resonator", paramId: 13, wikiName: "FDBK1", name: "fdbk1", controlType: "knob", parameterName: "RESONATOR_FDBK1", xmlLabel: "FB 1" },
2739
+ "resonator.fdbk2": { groupCode: "RES", block: "resonator", paramId: 14, wikiName: "FDBK2", name: "fdbk2", controlType: "knob", parameterName: "RESONATOR_FDBK2", xmlLabel: "FB 2" },
2740
+ "resonator.fdbk3": { groupCode: "RES", block: "resonator", paramId: 15, wikiName: "FDBK3", name: "fdbk3", controlType: "knob", parameterName: "RESONATOR_FDBK3", xmlLabel: "FB 3" },
2741
+ "resonator.fdbk4": { groupCode: "RES", block: "resonator", paramId: 16, wikiName: "FDBK4", name: "fdbk4", controlType: "knob", parameterName: "RESONATOR_FDBK4", xmlLabel: "FB 4" },
2742
+ "resonator.loc1": { groupCode: "RES", block: "resonator", paramId: 17, wikiName: "LOC1", name: "loc1", controlType: "select", parameterName: "RESONATOR_LOC1", xmlLabel: "Filter Loc 1" },
2743
+ "resonator.loc2": { groupCode: "RES", block: "resonator", paramId: 18, wikiName: "LOC2", name: "loc2", controlType: "select", parameterName: "RESONATOR_LOC2", xmlLabel: "Filter Loc 2" },
2744
+ "resonator.loc3": { groupCode: "RES", block: "resonator", paramId: 19, wikiName: "LOC3", name: "loc3", controlType: "select", parameterName: "RESONATOR_LOC3", xmlLabel: "Filter Loc 3" },
2745
+ "resonator.loc4": { groupCode: "RES", block: "resonator", paramId: 20, wikiName: "LOC4", name: "loc4", controlType: "select", parameterName: "RESONATOR_LOC4", xmlLabel: "Filter Loc 4" },
2746
+ "resonator.q1": { groupCode: "RES", block: "resonator", paramId: 21, wikiName: "Q1", name: "q1", controlType: "knob", parameterName: "RESONATOR_Q1", xmlLabel: "Q 1" },
2747
+ "resonator.q2": { groupCode: "RES", block: "resonator", paramId: 22, wikiName: "Q2", name: "q2", controlType: "knob", parameterName: "RESONATOR_Q2", xmlLabel: "Q 2" },
2748
+ "resonator.q3": { groupCode: "RES", block: "resonator", paramId: 23, wikiName: "Q3", name: "q3", controlType: "knob", parameterName: "RESONATOR_Q3", xmlLabel: "Q 3" },
2749
+ "resonator.q4": { groupCode: "RES", block: "resonator", paramId: 24, wikiName: "Q4", name: "q4", controlType: "knob", parameterName: "RESONATOR_Q4", xmlLabel: "Q 4" },
2750
+ "resonator.level1": { groupCode: "RES", block: "resonator", paramId: 25, wikiName: "LEVEL1", name: "level1", controlType: "knob", parameterName: "RESONATOR_LEVEL1", xmlLabel: "Level 1" },
2751
+ "resonator.level2": { groupCode: "RES", block: "resonator", paramId: 26, wikiName: "LEVEL2", name: "level2", controlType: "knob", parameterName: "RESONATOR_LEVEL2", xmlLabel: "Level 2" },
2752
+ "resonator.level3": { groupCode: "RES", block: "resonator", paramId: 27, wikiName: "LEVEL3", name: "level3", controlType: "knob", parameterName: "RESONATOR_LEVEL3", xmlLabel: "Level 3" },
2753
+ "resonator.level4": { groupCode: "RES", block: "resonator", paramId: 28, wikiName: "LEVEL4", name: "level4", controlType: "knob", parameterName: "RESONATOR_LEVEL4", xmlLabel: "Level 4" },
2754
+ "resonator.pan1": { groupCode: "RES", block: "resonator", paramId: 29, wikiName: "PAN1", name: "pan1", controlType: "knob", parameterName: "RESONATOR_PAN1", xmlLabel: "Pan 1" },
2755
+ "resonator.pan2": { groupCode: "RES", block: "resonator", paramId: 30, wikiName: "PAN2", name: "pan2", controlType: "knob", parameterName: "RESONATOR_PAN2", xmlLabel: "Pan 2" },
2756
+ "resonator.pan3": { groupCode: "RES", block: "resonator", paramId: 31, wikiName: "PAN3", name: "pan3", controlType: "knob", parameterName: "RESONATOR_PAN3", xmlLabel: "Pan 3" },
2757
+ "resonator.pan4": { groupCode: "RES", block: "resonator", paramId: 32, wikiName: "PAN4", name: "pan4", controlType: "knob", parameterName: "RESONATOR_PAN4", xmlLabel: "Pan 4" },
2758
+ "resonator.mix": { groupCode: "RES", block: "resonator", paramId: 33, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "RESONATOR_MIX", xmlLabel: "Mix" },
2759
+ "resonator.level": { groupCode: "RES", block: "resonator", paramId: 34, wikiName: "LEVEL", name: "level", controlType: "knob", parameterName: "RESONATOR_LEVEL", xmlLabel: "Level" },
2760
+ "resonator.pan": { groupCode: "RES", block: "resonator", paramId: 35, wikiName: "PAN", name: "pan", controlType: "knob", parameterName: "RESONATOR_PAN", xmlLabel: "Balance" },
2761
+ "resonator.bypassmode": { groupCode: "RES", block: "resonator", paramId: 36, wikiName: "BYPASSMODE", name: "bypassmode", controlType: "select", parameterName: "RESONATOR_BYPASSMODE", xmlLabel: "Bypass Mode" },
2762
+ "resonator.globalmix": { groupCode: "RES", block: "resonator", paramId: 37, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "RESONATOR_GLOBALMIX" },
2763
+ "resonator.bypass": { groupCode: "RES", block: "resonator", paramId: 38, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "RESONATOR_BYPASS" },
2764
+ "resonator.inputmode": { groupCode: "RES", block: "resonator", paramId: 39, wikiName: "INPUTMODE", name: "inputmode", controlType: "select", parameterName: "RESONATOR_INPUTMODE", xmlLabel: "Input Mode" },
2765
+ // --- reverb (REV) ---
2766
+ "reverb.reverbdelay": { groupCode: "REV", block: "reverb", paramId: 6, wikiName: "REVERBDELAY", name: "reverbdelay", controlType: "unknown", parameterName: "REVERB_REVERBDELAY" },
2767
+ "reverb.bypass": { groupCode: "REV", block: "reverb", paramId: 22, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "REVERB_BYPASS" },
2768
+ "reverb.earlysend": { groupCode: "REV", block: "reverb", paramId: 42, wikiName: "EARLYSEND", name: "earlysend", controlType: "knob", parameterName: "REVERB_EARLYSEND", xmlLabel: "Late Input Mix " },
2769
+ // --- ringmod (RNG) ---
2770
+ "ringmod.bypass": { groupCode: "RNG", block: "ringmod", paramId: 9, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "RINGMOD_BYPASS" },
2771
+ // --- rotary (ROT) ---
2772
+ "rotary.globalmix": { groupCode: "ROT", block: "rotary", paramId: 9, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "ROTARY_GLOBALMIX" },
2773
+ "rotary.bypass": { groupCode: "ROT", block: "rotary", paramId: 11, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "ROTARY_BYPASS" },
2774
+ // --- feedbackreturn (RTN) ---
2775
+ "feedbackreturn.bypass": { groupCode: "RTN", block: "feedbackreturn", paramId: 5, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "FDBKRET_BYPASS" },
2776
+ // --- synth (SYN) ---
2777
+ "synth.spare1": { groupCode: "SYN", block: "synth", paramId: 22, wikiName: "SPARE1", name: "spare1", controlType: "unknown", parameterName: "SYNTH_SPARE1" },
2778
+ "synth.bypass": { groupCode: "SYN", block: "synth", paramId: 28, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "SYNTH_BYPASS" },
2779
+ // --- pantrem (TRM) ---
2780
+ "pantrem.mix": { groupCode: "TRM", block: "pantrem", paramId: 6, wikiName: "MIX", name: "mix", controlType: "unknown", parameterName: "TREMOLO_MIX" },
2781
+ "pantrem.globalmix": { groupCode: "TRM", block: "pantrem", paramId: 10, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "TREMOLO_GLOBALMIX" },
2782
+ "pantrem.bypass": { groupCode: "TRM", block: "pantrem", paramId: 14, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "TREMOLO_BYPASS" },
2783
+ // --- vocoder (VOC) ---
2784
+ "vocoder.insource": { groupCode: "VOC", block: "vocoder", paramId: 0, wikiName: "INSOURCE", name: "insource", controlType: "select", parameterName: "VOCODER_INSOURCE", xmlLabel: "Input Select (Carrier)" },
2785
+ "vocoder.numbands": { groupCode: "VOC", block: "vocoder", paramId: 1, wikiName: "NUMBANDS", name: "numbands", controlType: "select", parameterName: "VOCODER_NUMBANDS", xmlLabel: "Bands" },
2786
+ "vocoder.freqstart": { groupCode: "VOC", block: "vocoder", paramId: 2, wikiName: "FREQSTART", name: "freqstart", controlType: "knob", parameterName: "VOCODER_FREQSTART", xmlLabel: "Frequency Min" },
2787
+ "vocoder.freqstop": { groupCode: "VOC", block: "vocoder", paramId: 3, wikiName: "FREQSTOP", name: "freqstop", controlType: "knob", parameterName: "VOCODER_FREQSTOP", xmlLabel: "Frequency Max" },
2788
+ "vocoder.cshift": { groupCode: "VOC", block: "vocoder", paramId: 4, wikiName: "CSHIFT", name: "cshift", controlType: "knob", parameterName: "VOCODER_CSHIFT", xmlLabel: "Shift" },
2789
+ "vocoder.freeze": { groupCode: "VOC", block: "vocoder", paramId: 5, wikiName: "FREEZE", name: "freeze", controlType: "switch", parameterName: "VOCODER_FREEZE", xmlLabel: "Freeze" },
2790
+ "vocoder.masterlvl": { groupCode: "VOC", block: "vocoder", paramId: 6, wikiName: "MASTERLVL", name: "masterlvl", controlType: "knob", parameterName: "VOCODER_MASTERLVL", xmlLabel: "Master Level" },
2791
+ "vocoder.masterpan": { groupCode: "VOC", block: "vocoder", paramId: 7, wikiName: "MASTERPAN", name: "masterpan", controlType: "knob", parameterName: "VOCODER_MASTERPAN", xmlLabel: "Master Pan" },
2792
+ "vocoder.res": { groupCode: "VOC", block: "vocoder", paramId: 8, wikiName: "RES", name: "res", controlType: "knob", parameterName: "VOCODER_RES", xmlLabel: "Resonance" },
2793
+ "vocoder.attack": { groupCode: "VOC", block: "vocoder", paramId: 9, wikiName: "ATTACK", name: "attack", controlType: "knob", parameterName: "VOCODER_ATTACK", xmlLabel: "Attack" },
2794
+ "vocoder.release": { groupCode: "VOC", block: "vocoder", paramId: 10, wikiName: "RELEASE", name: "release", controlType: "knob", parameterName: "VOCODER_RELEASE", xmlLabel: "Release" },
2795
+ "vocoder.hpmix": { groupCode: "VOC", block: "vocoder", paramId: 11, wikiName: "HPMIX", name: "hpmix", controlType: "knob", parameterName: "VOCODER_HPMIX", xmlLabel: "Highpass Mix In" },
2796
+ "vocoder.mix": { groupCode: "VOC", block: "vocoder", paramId: 12, wikiName: "MIX", name: "mix", controlType: "knob", parameterName: "VOCODER_MIX", xmlLabel: "Mix" },
2797
+ "vocoder.level": { groupCode: "VOC", block: "vocoder", paramId: 13, wikiName: "LEVEL", name: "level", controlType: "knob", parameterName: "VOCODER_LEVEL", xmlLabel: "Level" },
2798
+ "vocoder.pan": { groupCode: "VOC", block: "vocoder", paramId: 14, wikiName: "PAN", name: "pan", controlType: "knob", parameterName: "VOCODER_PAN", xmlLabel: "Balance" },
2799
+ "vocoder.bypassmode": { groupCode: "VOC", block: "vocoder", paramId: 15, wikiName: "BYPASSMODE", name: "bypassmode", controlType: "select", parameterName: "VOCODER_BYPASSMODE", xmlLabel: "Bypass Mode" },
2800
+ "vocoder.globalmix": { groupCode: "VOC", block: "vocoder", paramId: 16, wikiName: "GLOBALMIX", name: "globalmix", controlType: "unknown", parameterName: "VOCODER_GLOBALMIX" },
2801
+ "vocoder.level1": { groupCode: "VOC", block: "vocoder", paramId: 17, wikiName: "LEVEL1", name: "level1", controlType: "knob", parameterName: "VOCODER_LEVEL1", xmlLabel: "1" },
2802
+ "vocoder.level2": { groupCode: "VOC", block: "vocoder", paramId: 18, wikiName: "LEVEL2", name: "level2", controlType: "knob", parameterName: "VOCODER_LEVEL2", xmlLabel: "2" },
2803
+ "vocoder.level3": { groupCode: "VOC", block: "vocoder", paramId: 19, wikiName: "LEVEL3", name: "level3", controlType: "knob", parameterName: "VOCODER_LEVEL3", xmlLabel: "3" },
2804
+ "vocoder.level4": { groupCode: "VOC", block: "vocoder", paramId: 20, wikiName: "LEVEL4", name: "level4", controlType: "knob", parameterName: "VOCODER_LEVEL4", xmlLabel: "4" },
2805
+ "vocoder.level5": { groupCode: "VOC", block: "vocoder", paramId: 21, wikiName: "LEVEL5", name: "level5", controlType: "knob", parameterName: "VOCODER_LEVEL5", xmlLabel: "5" },
2806
+ "vocoder.level6": { groupCode: "VOC", block: "vocoder", paramId: 22, wikiName: "LEVEL6", name: "level6", controlType: "knob", parameterName: "VOCODER_LEVEL6", xmlLabel: "6" },
2807
+ "vocoder.level7": { groupCode: "VOC", block: "vocoder", paramId: 23, wikiName: "LEVEL7", name: "level7", controlType: "knob", parameterName: "VOCODER_LEVEL7", xmlLabel: "7" },
2808
+ "vocoder.level8": { groupCode: "VOC", block: "vocoder", paramId: 24, wikiName: "LEVEL8", name: "level8", controlType: "knob", parameterName: "VOCODER_LEVEL8", xmlLabel: "8" },
2809
+ "vocoder.level9": { groupCode: "VOC", block: "vocoder", paramId: 25, wikiName: "LEVEL9", name: "level9", controlType: "knob", parameterName: "VOCODER_LEVEL9", xmlLabel: "9" },
2810
+ "vocoder.level10": { groupCode: "VOC", block: "vocoder", paramId: 26, wikiName: "LEVEL10", name: "level10", controlType: "knob", parameterName: "VOCODER_LEVEL10", xmlLabel: "10" },
2811
+ "vocoder.level11": { groupCode: "VOC", block: "vocoder", paramId: 27, wikiName: "LEVEL11", name: "level11", controlType: "knob", parameterName: "VOCODER_LEVEL11", xmlLabel: "11" },
2812
+ "vocoder.level12": { groupCode: "VOC", block: "vocoder", paramId: 28, wikiName: "LEVEL12", name: "level12", controlType: "knob", parameterName: "VOCODER_LEVEL12", xmlLabel: "12" },
2813
+ "vocoder.level13": { groupCode: "VOC", block: "vocoder", paramId: 29, wikiName: "LEVEL13", name: "level13", controlType: "knob", parameterName: "VOCODER_LEVEL13", xmlLabel: "13" },
2814
+ "vocoder.level14": { groupCode: "VOC", block: "vocoder", paramId: 30, wikiName: "LEVEL14", name: "level14", controlType: "knob", parameterName: "VOCODER_LEVEL14", xmlLabel: "14" },
2815
+ "vocoder.level15": { groupCode: "VOC", block: "vocoder", paramId: 31, wikiName: "LEVEL15", name: "level15", controlType: "knob", parameterName: "VOCODER_LEVEL15", xmlLabel: "15" },
2816
+ "vocoder.level16": { groupCode: "VOC", block: "vocoder", paramId: 32, wikiName: "LEVEL16", name: "level16", controlType: "knob", parameterName: "VOCODER_LEVEL16", xmlLabel: "16" },
2817
+ "vocoder.pan1": { groupCode: "VOC", block: "vocoder", paramId: 33, wikiName: "PAN1", name: "pan1", controlType: "knob", parameterName: "VOCODER_PAN1", xmlLabel: "Pan 1" },
2818
+ "vocoder.pan2": { groupCode: "VOC", block: "vocoder", paramId: 34, wikiName: "PAN2", name: "pan2", controlType: "knob", parameterName: "VOCODER_PAN2", xmlLabel: "Pan 2" },
2819
+ "vocoder.pan3": { groupCode: "VOC", block: "vocoder", paramId: 35, wikiName: "PAN3", name: "pan3", controlType: "knob", parameterName: "VOCODER_PAN3", xmlLabel: "Pan 3" },
2820
+ "vocoder.pan4": { groupCode: "VOC", block: "vocoder", paramId: 36, wikiName: "PAN4", name: "pan4", controlType: "knob", parameterName: "VOCODER_PAN4", xmlLabel: "Pan 4" },
2821
+ "vocoder.pan5": { groupCode: "VOC", block: "vocoder", paramId: 37, wikiName: "PAN5", name: "pan5", controlType: "knob", parameterName: "VOCODER_PAN5", xmlLabel: "Pan 5" },
2822
+ "vocoder.pan6": { groupCode: "VOC", block: "vocoder", paramId: 38, wikiName: "PAN6", name: "pan6", controlType: "knob", parameterName: "VOCODER_PAN6", xmlLabel: "Pan 6" },
2823
+ "vocoder.pan7": { groupCode: "VOC", block: "vocoder", paramId: 39, wikiName: "PAN7", name: "pan7", controlType: "knob", parameterName: "VOCODER_PAN7", xmlLabel: "Pan 7" },
2824
+ "vocoder.pan8": { groupCode: "VOC", block: "vocoder", paramId: 40, wikiName: "PAN8", name: "pan8", controlType: "knob", parameterName: "VOCODER_PAN8", xmlLabel: "Pan 8" },
2825
+ "vocoder.pan9": { groupCode: "VOC", block: "vocoder", paramId: 41, wikiName: "PAN9", name: "pan9", controlType: "knob", parameterName: "VOCODER_PAN9", xmlLabel: "Pan 9" },
2826
+ "vocoder.pan10": { groupCode: "VOC", block: "vocoder", paramId: 42, wikiName: "PAN10", name: "pan10", controlType: "knob", parameterName: "VOCODER_PAN10", xmlLabel: "Pan 10" },
2827
+ "vocoder.pan11": { groupCode: "VOC", block: "vocoder", paramId: 43, wikiName: "PAN11", name: "pan11", controlType: "knob", parameterName: "VOCODER_PAN11", xmlLabel: "Pan 11" },
2828
+ "vocoder.pan12": { groupCode: "VOC", block: "vocoder", paramId: 44, wikiName: "PAN12", name: "pan12", controlType: "knob", parameterName: "VOCODER_PAN12", xmlLabel: "Pan 12" },
2829
+ "vocoder.pan13": { groupCode: "VOC", block: "vocoder", paramId: 45, wikiName: "PAN13", name: "pan13", controlType: "knob", parameterName: "VOCODER_PAN13", xmlLabel: "Pan 13" },
2830
+ "vocoder.pan14": { groupCode: "VOC", block: "vocoder", paramId: 46, wikiName: "PAN14", name: "pan14", controlType: "knob", parameterName: "VOCODER_PAN14", xmlLabel: "Pan 14" },
2831
+ "vocoder.pan15": { groupCode: "VOC", block: "vocoder", paramId: 47, wikiName: "PAN15", name: "pan15", controlType: "knob", parameterName: "VOCODER_PAN15", xmlLabel: "Pan 15" },
2832
+ "vocoder.pan16": { groupCode: "VOC", block: "vocoder", paramId: 48, wikiName: "PAN16", name: "pan16", controlType: "knob", parameterName: "VOCODER_PAN16", xmlLabel: "Pan 16" },
2833
+ "vocoder.bypass": { groupCode: "VOC", block: "vocoder", paramId: 49, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "VOCODER_BYPASS" },
2834
+ // --- volpan (VOL) ---
2835
+ "volpan.bypass": { groupCode: "VOL", block: "volpan", paramId: 3, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "VOLUME_BYPASS" },
2836
+ // --- wah (WAH) ---
2837
+ "wah.bypass": { groupCode: "WAH", block: "wah", paramId: 12, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "WAH_BYPASS" },
2838
+ // --- crossover (XVR) ---
2839
+ "crossover.mix": { groupCode: "XVR", block: "crossover", paramId: 10, wikiName: "MIX", name: "mix", controlType: "unknown", parameterName: "CROSSOVER_MIX" },
2840
+ "crossover.bypass": { groupCode: "XVR", block: "crossover", paramId: 14, wikiName: "BYPASS", name: "bypass", controlType: "unknown", parameterName: "CROSSOVER_BYPASS" },
2841
+ // <<< END_GHIDRA_ADDENDUM (Session 94) <<<
2842
+ };
2843
+ /** Extraction summary (refresh by re-running the generator). */
2844
+ export const REGISTRY_STATS = Object.freeze({
2845
+ totalParams: 905,
2846
+ totalEnumEntries: 1272,
2847
+ });