Skip to main content

nord_format/formats/ns3/
panel.rs

1//! One Nord Stage 3 panel: a complete organ / piano / synth / extern /
2//! effects setup, 263 bytes of it.
3//!
4//! A program holds two of these — Panel A and Panel B — and the Panel buttons
5//! switch between them or layer both. They are the same layout, so this is one
6//! type placed twice; see [`super::program::Program`].
7//!
8//! The Stage 3 synth preset (`ns3y`) is this panel's synth block under its own
9//! tag, at panel byte 0x39.
10
11use super::program::*;
12use crate::components::{
13    CompressorResponse, DelayCharacter, Drawbar, DrawbarMorph, Effect1Type, Effect2Type, EqBand,
14    Frequency, Interval, KbZone4, Level, MorphTarget, PianoRef, Rate, ReverbType, SampleRef,
15    Selector, Time, WideSelector,
16};
17use crate::types::{RangedU16, RangedU8};
18
19/// The panel's parameters. Bits are MSB-first from panel byte 0,
20/// which is body byte 0x16 for A and 0x11d for B.
21#[nord_bits_derive::bitbody(263)]
22pub struct Panel {
23    #[bits(8..=8)]
24    pub piano_on: bool,
25    #[bits(9..=12)]
26    pub piano_kb_zone: KbZone4,
27    #[bits(13..=19)]
28    pub piano_volume: Level,
29    #[bits(20..=27)]
30    pub piano_volume_wheel: MorphTarget,
31    #[bits(28..=35)]
32    pub piano_volume_aftertouch: MorphTarget,
33    #[bits(36..=43)]
34    pub piano_volume_ctrl_pedal: MorphTarget,
35    #[bits(44..=47)]
36    pub piano_octave_shift: OctaveShift,
37    #[bits(48..=48)]
38    pub piano_pitch_stick: bool,
39    #[bits(49..=49)]
40    pub piano_sustain_pedal: bool,
41    #[bits(50..=52)]
42    pub piano_type: PianoType,
43    #[bits(53..=57)]
44    pub piano_model: Selector<5>,
45    #[bits(58..=59)]
46    pub piano_clavinet_model: ClavinetModel,
47    /// The piano model's library id.
48    #[bits(60..=91)]
49    pub piano_model_id: PianoRef,
50    #[bits(92..=92)]
51    pub piano_soft_release: bool,
52    #[bits(93..=93)]
53    pub piano_string_resonance: bool,
54    #[bits(94..=94)]
55    pub piano_pedal_noise: bool,
56    #[bits(95..=96)]
57    pub piano_kb_touch: PianoKbTouch,
58    #[bits(98..=100)]
59    pub piano_timbre: PianoTimbre,
60    #[bits(128..=128)]
61    pub synth_on: bool,
62    #[bits(129..=132)]
63    pub synth_kb_zone: KbZone4,
64    #[bits(133..=139)]
65    pub synth_volume: Level,
66    #[bits(140..=147)]
67    pub synth_volume_wheel: MorphTarget,
68    #[bits(148..=155)]
69    pub synth_volume_aftertouch: MorphTarget,
70    #[bits(156..=163)]
71    pub synth_volume_ctrl_pedal: MorphTarget,
72    #[bits(164..=167)]
73    pub synth_octave_shift: OctaveShift,
74    #[bits(168..=168)]
75    pub synth_pitch_stick: bool,
76    #[bits(169..=169)]
77    pub synth_sustain_pedal: bool,
78    #[bits(170..=179)]
79    pub synth_preset_location: RangedU16<1023>,
80    #[bits(496..=496)]
81    pub synth_kb_hold: bool,
82    #[bits(497..=497)]
83    pub synth_arp_on: bool,
84    #[bits(498..=498)]
85    pub synth_arp_kb_sync: bool,
86    #[bits(499..=500)]
87    pub synth_arp_range: SynthArpRange,
88    #[bits(501..=502)]
89    pub synth_arp_pattern: SynthArpPattern,
90    #[bits(503..=503)]
91    pub synth_arp_master_clock: bool,
92    #[bits(504..=510)]
93    pub synth_arp_rate: Time,
94    #[bits(511..=518)]
95    pub synth_arp_rate_wheel: MorphTarget,
96    #[bits(519..=526)]
97    pub synth_arp_rate_aftertouch: MorphTarget,
98    #[bits(527..=534)]
99    pub synth_arp_rate_ctrl_pedal: MorphTarget,
100    #[bits(535..=536)]
101    pub synth_voice: SynthVoice,
102    #[bits(537..=543)]
103    pub synth_glide: Time,
104    #[bits(544..=545)]
105    pub synth_unison: SynthUnison,
106    #[bits(546..=548)]
107    pub synth_vibrato: SynthVibrato,
108    #[bits(549..=551)]
109    pub synth_lfo_wave: SynthLfoWave,
110    #[bits(552..=552)]
111    pub synth_lfo_master_clock: bool,
112    #[bits(553..=559)]
113    pub synth_lfo_rate: Rate,
114    #[bits(560..=567)]
115    pub synth_lfo_rate_wheel: MorphTarget,
116    #[bits(568..=575)]
117    pub synth_lfo_rate_aftertouch: MorphTarget,
118    #[bits(576..=583)]
119    pub synth_lfo_rate_ctrl_pedal: MorphTarget,
120    #[bits(584..=590)]
121    pub synth_mod_env_attack: Time,
122    #[bits(591..=597)]
123    pub synth_mod_env_decay: Time,
124    #[bits(598..=604)]
125    pub synth_mod_env_release: Time,
126    #[bits(605..=605)]
127    pub synth_mod_env_velocity: bool,
128    #[bits(606..=608)]
129    pub synth_oscillator_type: SynthOscillatorType,
130    #[bits(609..=617)]
131    pub synth_oscillator_1_wave_form: WideSelector<9>,
132    #[bits(619..=622)]
133    pub synth_oscillator_config: SynthOscillatorConfig,
134    #[bits(623..=628)]
135    pub synth_pitch: Interval,
136    #[bits(629..=635)]
137    pub synth_oscillator_control: Level,
138    #[bits(636..=643)]
139    pub synth_oscillator_control_wheel: MorphTarget,
140    #[bits(644..=651)]
141    pub synth_oscillator_control_aftertouch: MorphTarget,
142    #[bits(652..=659)]
143    pub synth_oscillator_control_ctrl_pedal: MorphTarget,
144    #[bits(660..=666)]
145    pub synth_oscillator_mod: Level,
146    #[bits(667..=674)]
147    pub synth_oscillator_mod_wheel: MorphTarget,
148    #[bits(675..=682)]
149    pub synth_oscillator_mod_aftertouch: MorphTarget,
150    #[bits(683..=690)]
151    pub synth_oscillator_mod_ctrl_pedal: MorphTarget,
152    #[bits(691..=693)]
153    pub synth_filter_type: SynthFilterType,
154    #[bits(694..=700)]
155    pub synth_filter_freq: Frequency,
156    #[bits(701..=708)]
157    pub synth_filter_freq_wheel: MorphTarget,
158    #[bits(709..=716)]
159    pub synth_filter_freq_aftertouch: MorphTarget,
160    #[bits(717..=724)]
161    pub synth_filter_freq_ctrl_pedal: MorphTarget,
162    #[bits(725..=731)]
163    pub synth_filter_hp_freq_res: Level,
164    #[bits(732..=739)]
165    pub synth_filter_hp_freq_res_wheel: MorphTarget,
166    #[bits(740..=747)]
167    pub synth_filter_hp_freq_res_aftertouch: MorphTarget,
168    #[bits(748..=755)]
169    pub synth_filter_hp_freq_res_ctrl_pedal: MorphTarget,
170    #[bits(756..=762)]
171    pub synth_filter_lfo_amount: Level,
172    #[bits(763..=770)]
173    pub synth_filter_lfo_amount_wheel: MorphTarget,
174    #[bits(771..=778)]
175    pub synth_filter_lfo_amount_aftertouch: MorphTarget,
176    #[bits(779..=786)]
177    pub synth_filter_lfo_amount_ctrl_pedal: MorphTarget,
178    #[bits(787..=793)]
179    pub synth_filter_vel_mod_env_amount: Level,
180    #[bits(794..=795)]
181    pub synth_filter_kb_track: SynthFilterKbTrack,
182    #[bits(796..=797)]
183    pub synth_filter_drive: SynthFilterDrive,
184    #[bits(798..=804)]
185    pub synth_amp_env_attack: Time,
186    #[bits(805..=811)]
187    pub synth_amp_env_decay: Time,
188    #[bits(812..=818)]
189    pub synth_amp_env_release: Time,
190    #[bits(819..=820)]
191    pub synth_amp_env_velocity: SynthAmpEnvVelocity,
192    #[bits(821..=852)]
193    pub synth_sample_id: SampleRef,
194    #[bits(853..=853)]
195    pub synth_fast_attack: bool,
196    #[bits(928..=928)]
197    pub organ_on: bool,
198    #[bits(929..=932)]
199    pub organ_kb_zone: KbZone4,
200    #[bits(933..=939)]
201    pub organ_volume: Level,
202    #[bits(940..=947)]
203    pub organ_volume_wheel: MorphTarget,
204    #[bits(948..=955)]
205    pub organ_volume_aftertouch: MorphTarget,
206    #[bits(956..=963)]
207    pub organ_volume_ctrl_pedal: MorphTarget,
208    #[bits(964..=967)]
209    pub organ_octave_shift: OctaveShift,
210    #[bits(968..=968)]
211    pub organ_sustain_pedal: bool,
212    #[bits(969..=971)]
213    pub organ_type: OrganType,
214    #[bits(972..=972)]
215    pub organ_live_mode: bool,
216    #[bits(973..=973)]
217    pub organ_preset_2_on: bool,
218    #[bits(992..=995)]
219    pub organ_preset_1_drawbar_1: Drawbar,
220    #[bits(996..=1000)]
221    pub organ_preset_1_drawbar_1_wheel: DrawbarMorph,
222    #[bits(1001..=1005)]
223    pub organ_preset_1_drawbar_1_aftertouch: DrawbarMorph,
224    #[bits(1006..=1010)]
225    pub organ_preset_1_drawbar_1_ctrl_pedal: DrawbarMorph,
226    #[bits(1011..=1014)]
227    pub organ_preset_1_drawbar_2: Drawbar,
228    #[bits(1015..=1019)]
229    pub organ_preset_1_drawbar_2_wheel: DrawbarMorph,
230    #[bits(1020..=1024)]
231    pub organ_preset_1_drawbar_2_aftertouch: DrawbarMorph,
232    #[bits(1025..=1029)]
233    pub organ_preset_1_drawbar_2_ctrl_pedal: DrawbarMorph,
234    #[bits(1030..=1033)]
235    pub organ_preset_1_drawbar_3: Drawbar,
236    #[bits(1034..=1038)]
237    pub organ_preset_1_drawbar_3_wheel: DrawbarMorph,
238    #[bits(1039..=1043)]
239    pub organ_preset_1_drawbar_3_aftertouch: DrawbarMorph,
240    #[bits(1044..=1048)]
241    pub organ_preset_1_drawbar_3_ctrl_pedal: DrawbarMorph,
242    #[bits(1049..=1052)]
243    pub organ_preset_1_drawbar_4: Drawbar,
244    #[bits(1053..=1057)]
245    pub organ_preset_1_drawbar_4_wheel: DrawbarMorph,
246    #[bits(1058..=1062)]
247    pub organ_preset_1_drawbar_4_aftertouch: DrawbarMorph,
248    #[bits(1063..=1067)]
249    pub organ_preset_1_drawbar_4_ctrl_pedal: DrawbarMorph,
250    #[bits(1068..=1071)]
251    pub organ_preset_1_drawbar_5: Drawbar,
252    #[bits(1072..=1076)]
253    pub organ_preset_1_drawbar_5_wheel: DrawbarMorph,
254    #[bits(1077..=1081)]
255    pub organ_preset_1_drawbar_5_aftertouch: DrawbarMorph,
256    #[bits(1082..=1086)]
257    pub organ_preset_1_drawbar_5_ctrl_pedal: DrawbarMorph,
258    #[bits(1087..=1090)]
259    pub organ_preset_1_drawbar_6: Drawbar,
260    #[bits(1091..=1095)]
261    pub organ_preset_1_drawbar_6_wheel: DrawbarMorph,
262    #[bits(1096..=1100)]
263    pub organ_preset_1_drawbar_6_aftertouch: DrawbarMorph,
264    #[bits(1101..=1105)]
265    pub organ_preset_1_drawbar_6_ctrl_pedal: DrawbarMorph,
266    #[bits(1106..=1109)]
267    pub organ_preset_1_drawbar_7: Drawbar,
268    #[bits(1110..=1114)]
269    pub organ_preset_1_drawbar_7_wheel: DrawbarMorph,
270    #[bits(1115..=1119)]
271    pub organ_preset_1_drawbar_7_aftertouch: DrawbarMorph,
272    #[bits(1120..=1124)]
273    pub organ_preset_1_drawbar_7_ctrl_pedal: DrawbarMorph,
274    #[bits(1125..=1128)]
275    pub organ_preset_1_drawbar_8: Drawbar,
276    #[bits(1129..=1133)]
277    pub organ_preset_1_drawbar_8_wheel: DrawbarMorph,
278    #[bits(1134..=1138)]
279    pub organ_preset_1_drawbar_8_aftertouch: DrawbarMorph,
280    #[bits(1139..=1143)]
281    pub organ_preset_1_drawbar_8_ctrl_pedal: DrawbarMorph,
282    #[bits(1144..=1147)]
283    pub organ_preset_1_drawbar_9: Drawbar,
284    #[bits(1148..=1152)]
285    pub organ_preset_1_drawbar_9_wheel: DrawbarMorph,
286    #[bits(1153..=1157)]
287    pub organ_preset_1_drawbar_9_aftertouch: DrawbarMorph,
288    #[bits(1158..=1162)]
289    pub organ_preset_1_drawbar_9_ctrl_pedal: DrawbarMorph,
290    #[bits(1163..=1163)]
291    pub organ_vibrato_on: bool,
292    #[bits(1164..=1164)]
293    pub organ_percussion_on: bool,
294    #[bits(1165..=1165)]
295    pub organ_percussion_harmonic_third: bool,
296    #[bits(1166..=1166)]
297    pub organ_percussion_decay_fast: bool,
298    #[bits(1167..=1167)]
299    pub organ_percussion_volume_soft: bool,
300    #[bits(1208..=1211)]
301    pub organ_preset_2_drawbar_1: Drawbar,
302    #[bits(1212..=1216)]
303    pub organ_preset_2_drawbar_1_wheel: DrawbarMorph,
304    #[bits(1217..=1221)]
305    pub organ_preset_2_drawbar_1_aftertouch: DrawbarMorph,
306    #[bits(1222..=1226)]
307    pub organ_preset_2_drawbar_1_ctrl_pedal: DrawbarMorph,
308    #[bits(1227..=1230)]
309    pub organ_preset_2_drawbar_2: Drawbar,
310    #[bits(1231..=1235)]
311    pub organ_preset_2_drawbar_2_wheel: DrawbarMorph,
312    #[bits(1236..=1240)]
313    pub organ_preset_2_drawbar_2_aftertouch: DrawbarMorph,
314    #[bits(1241..=1245)]
315    pub organ_preset_2_drawbar_2_ctrl_pedal: DrawbarMorph,
316    #[bits(1246..=1249)]
317    pub organ_preset_2_drawbar_3: Drawbar,
318    #[bits(1250..=1254)]
319    pub organ_preset_2_drawbar_3_wheel: DrawbarMorph,
320    #[bits(1255..=1259)]
321    pub organ_preset_2_drawbar_3_aftertouch: DrawbarMorph,
322    #[bits(1260..=1264)]
323    pub organ_preset_2_drawbar_3_ctrl_pedal: DrawbarMorph,
324    #[bits(1265..=1268)]
325    pub organ_preset_2_drawbar_4: Drawbar,
326    #[bits(1269..=1273)]
327    pub organ_preset_2_drawbar_4_wheel: DrawbarMorph,
328    #[bits(1274..=1278)]
329    pub organ_preset_2_drawbar_4_aftertouch: DrawbarMorph,
330    #[bits(1279..=1283)]
331    pub organ_preset_2_drawbar_4_ctrl_pedal: DrawbarMorph,
332    #[bits(1284..=1287)]
333    pub organ_preset_2_drawbar_5: Drawbar,
334    #[bits(1288..=1292)]
335    pub organ_preset_2_drawbar_5_wheel: DrawbarMorph,
336    #[bits(1293..=1297)]
337    pub organ_preset_2_drawbar_5_aftertouch: DrawbarMorph,
338    #[bits(1298..=1302)]
339    pub organ_preset_2_drawbar_5_ctrl_pedal: DrawbarMorph,
340    #[bits(1303..=1306)]
341    pub organ_preset_2_drawbar_6: Drawbar,
342    #[bits(1307..=1311)]
343    pub organ_preset_2_drawbar_6_wheel: DrawbarMorph,
344    #[bits(1312..=1316)]
345    pub organ_preset_2_drawbar_6_aftertouch: DrawbarMorph,
346    #[bits(1317..=1321)]
347    pub organ_preset_2_drawbar_6_ctrl_pedal: DrawbarMorph,
348    #[bits(1322..=1325)]
349    pub organ_preset_2_drawbar_7: Drawbar,
350    #[bits(1326..=1330)]
351    pub organ_preset_2_drawbar_7_wheel: DrawbarMorph,
352    #[bits(1331..=1335)]
353    pub organ_preset_2_drawbar_7_aftertouch: DrawbarMorph,
354    #[bits(1336..=1340)]
355    pub organ_preset_2_drawbar_7_ctrl_pedal: DrawbarMorph,
356    #[bits(1341..=1344)]
357    pub organ_preset_2_drawbar_8: Drawbar,
358    #[bits(1345..=1349)]
359    pub organ_preset_2_drawbar_8_wheel: DrawbarMorph,
360    #[bits(1350..=1354)]
361    pub organ_preset_2_drawbar_8_aftertouch: DrawbarMorph,
362    #[bits(1355..=1359)]
363    pub organ_preset_2_drawbar_8_ctrl_pedal: DrawbarMorph,
364    #[bits(1360..=1363)]
365    pub organ_preset_2_drawbar_9: Drawbar,
366    #[bits(1364..=1368)]
367    pub organ_preset_2_drawbar_9_wheel: DrawbarMorph,
368    #[bits(1369..=1373)]
369    pub organ_preset_2_drawbar_9_aftertouch: DrawbarMorph,
370    #[bits(1374..=1378)]
371    pub organ_preset_2_drawbar_9_ctrl_pedal: DrawbarMorph,
372    #[bits(1379..=1379)]
373    pub organ_preset_2_vibrato_on: bool,
374    #[bits(1380..=1380)]
375    pub organ_preset_2_percussion_on: bool,
376    #[bits(1381..=1381)]
377    pub organ_preset_2_percussion_harmonic_third: bool,
378    #[bits(1382..=1382)]
379    pub organ_preset_2_percussion_decay_fast: bool,
380    #[bits(1383..=1383)]
381    pub organ_preset_2_percussion_volume_soft: bool,
382    #[bits(1424..=1424)]
383    pub extern_on: bool,
384    #[bits(1425..=1427)]
385    pub extern_kb_zone: Selector<3>,
386    #[bits(1430..=1432)]
387    pub extern_octave_shift: RangedU8<7>,
388    #[bits(1433..=1434)]
389    pub extern_midi_velocity_curve: Selector<2>,
390    #[bits(1435..=1439)]
391    pub extern_midi_channel: Selector<5>,
392    #[bits(1440..=1440)]
393    pub extern_pitch_stick: bool,
394    #[bits(1441..=1441)]
395    pub extern_sustain_pedal: bool,
396    #[bits(1442..=1442)]
397    pub extern_midi_send_wheel: bool,
398    #[bits(1443..=1443)]
399    pub extern_midi_send_aftertouch: bool,
400    #[bits(1444..=1444)]
401    pub extern_midi_send_ctrl_pedal: bool,
402    #[bits(1445..=1445)]
403    pub extern_midi_send_swell: bool,
404    #[bits(1446..=1447)]
405    pub extern_midi_control: Selector<2>,
406    #[bits(1448..=1454)]
407    pub extern_midi_cc_number: RangedU8<127>,
408    #[bits(1455..=1461)]
409    pub extern_midi_cc: Level,
410    #[bits(1462..=1469)]
411    pub extern_midi_cc_wheel: MorphTarget,
412    #[bits(1470..=1477)]
413    pub extern_midi_cc_aftertouch: MorphTarget,
414    #[bits(1478..=1485)]
415    pub extern_midi_cc_ctrl_pedal: MorphTarget,
416    #[bits(1486..=1486)]
417    pub extern_midi_send_user_cc_on_load: bool,
418    #[bits(1487..=1494)]
419    pub extern_midi_bank_select_cc32: u8,
420    #[bits(1495..=1502)]
421    pub extern_midi_bank_select_cc00: u8,
422    #[bits(1503..=1509)]
423    pub extern_midi_program: RangedU8<127>,
424    #[bits(1510..=1517)]
425    pub extern_midi_program_wheel: MorphTarget,
426    #[bits(1518..=1525)]
427    pub extern_midi_program_aftertouch: MorphTarget,
428    #[bits(1526..=1533)]
429    pub extern_midi_program_ctrl_pedal: MorphTarget,
430    #[bits(1534..=1534)]
431    pub extern_midi_send_program_on_load: bool,
432    #[bits(1535..=1541)]
433    pub extern_volume: Level,
434    #[bits(1542..=1549)]
435    pub extern_volume_wheel: MorphTarget,
436    #[bits(1550..=1557)]
437    pub extern_volume_aftertouch: MorphTarget,
438    #[bits(1558..=1565)]
439    pub extern_volume_ctrl_pedal: MorphTarget,
440    #[bits(1566..=1566)]
441    pub extern_midi_send_volume_on_load: bool,
442    #[bits(1567..=1567)]
443    pub extern_midi_send_volume: bool,
444    #[bits(1608..=1608)]
445    pub rotary_speaker_on: bool,
446    #[bits(1609..=1610)]
447    pub rotary_speaker_source: Selector<2>,
448    #[bits(1611..=1611)]
449    pub effect_1_on: bool,
450    #[bits(1612..=1613)]
451    pub effect_1_source: Selector<2>,
452    #[bits(1614..=1616)]
453    pub effect_1_type: Effect1Type,
454    #[bits(1617..=1617)]
455    pub effect_1_master_clock: bool,
456    #[bits(1618..=1624)]
457    pub effect_1_rate: Rate,
458    #[bits(1625..=1632)]
459    pub effect_1_rate_wheel: MorphTarget,
460    #[bits(1633..=1640)]
461    pub effect_1_rate_aftertouch: MorphTarget,
462    #[bits(1641..=1648)]
463    pub effect_1_rate_ctrl_pedal: MorphTarget,
464    #[bits(1649..=1655)]
465    pub effect_1_amount: Level,
466    #[bits(1656..=1663)]
467    pub effect_1_amount_wheel: MorphTarget,
468    #[bits(1664..=1671)]
469    pub effect_1_amount_aftertouch: MorphTarget,
470    #[bits(1672..=1679)]
471    pub effect_1_amount_ctrl_pedal: MorphTarget,
472    #[bits(1680..=1680)]
473    pub effect_2_on: bool,
474    #[bits(1681..=1682)]
475    pub effect_2_source: Selector<2>,
476    #[bits(1683..=1685)]
477    pub effect_2_type: Effect2Type,
478    #[bits(1686..=1692)]
479    pub effect_2_rate: Rate,
480    #[bits(1693..=1699)]
481    pub effect_2_amount: Level,
482    #[bits(1700..=1707)]
483    pub effect_2_amount_wheel: MorphTarget,
484    #[bits(1708..=1715)]
485    pub effect_2_amount_aftertouch: MorphTarget,
486    #[bits(1716..=1723)]
487    pub effect_2_amount_ctrl_pedal: MorphTarget,
488    #[bits(1724..=1724)]
489    pub delay_on: bool,
490    #[bits(1725..=1726)]
491    pub delay_source: Selector<2>,
492    #[bits(1727..=1727)]
493    pub delay_master_clock: bool,
494    #[bits(1728..=1734)]
495    pub delay_tempo: Time,
496    #[bits(1735..=1741)]
497    pub delay_tempo_lsw: RangedU8<127>,
498    #[bits(1742..=1749)]
499    pub delay_tempo_wheel: MorphTarget,
500    #[bits(1750..=1756)]
501    pub delay_tempo_wheel_lsw: RangedU8<127>,
502    #[bits(1757..=1764)]
503    pub delay_tempo_aftertouch: MorphTarget,
504    #[bits(1765..=1771)]
505    pub delay_tempo_aftertouch_lsw: RangedU8<127>,
506    #[bits(1772..=1779)]
507    pub delay_tempo_ctrl_pedal: MorphTarget,
508    #[bits(1780..=1786)]
509    pub delay_tempo_ctrl_pedal_lsw: RangedU8<127>,
510    #[bits(1787..=1793)]
511    pub delay_mix: Level,
512    #[bits(1794..=1801)]
513    pub delay_mix_wheel: MorphTarget,
514    #[bits(1802..=1809)]
515    pub delay_mix_aftertouch: MorphTarget,
516    #[bits(1810..=1817)]
517    pub delay_mix_ctrl_pedal: MorphTarget,
518    #[bits(1818..=1818)]
519    pub delay_ping_pong: bool,
520    #[bits(1819..=1820)]
521    pub delay_filter: Selector<2>,
522    #[bits(1821..=1827)]
523    pub delay_feedback: Level,
524    #[bits(1828..=1835)]
525    pub delay_feedback_wheel: MorphTarget,
526    #[bits(1836..=1843)]
527    pub delay_feedback_aftertouch: MorphTarget,
528    #[bits(1844..=1851)]
529    pub delay_feedback_ctrl_pedal: MorphTarget,
530    #[bits(1852..=1852)]
531    pub delay_analog_mode: DelayCharacter,
532    #[bits(1853..=1853)]
533    pub amp_sim_eq_on: bool,
534    #[bits(1854..=1855)]
535    pub amp_sim_eq_source: Selector<2>,
536    #[bits(1856..=1858)]
537    pub amp_sim_eq_amp_type: AmpSimEqAmpType,
538    #[bits(1859..=1865)]
539    pub amp_sim_eq_treble: EqBand,
540    #[bits(1866..=1872)]
541    pub amp_sim_eq_mid_res: EqBand,
542    #[bits(1873..=1879)]
543    pub amp_sim_eq_bass_dry_wet: EqBand,
544    #[bits(1880..=1886)]
545    pub amp_sim_eq_mid_flt_freq: Frequency,
546    #[bits(1887..=1894)]
547    pub amp_sim_eq_mid_flt_freq_wheel: MorphTarget,
548    #[bits(1895..=1902)]
549    pub amp_sim_eq_mid_flt_freq_aftertouch: MorphTarget,
550    #[bits(1903..=1910)]
551    pub amp_sim_eq_mid_flt_freq_ctrl_pedal: MorphTarget,
552    #[bits(1911..=1917)]
553    pub amp_sim_eq_drive: Level,
554    #[bits(1918..=1925)]
555    pub amp_sim_eq_drive_wheel: MorphTarget,
556    #[bits(1926..=1933)]
557    pub amp_sim_eq_drive_aftertouch: MorphTarget,
558    #[bits(1934..=1941)]
559    pub amp_sim_eq_drive_ctrl_pedal: MorphTarget,
560    #[bits(1942..=1942)]
561    pub reverb_on: bool,
562    #[bits(1943..=1945)]
563    pub reverb_type: ReverbType,
564    #[bits(1946..=1946)]
565    pub reverb_bright: bool,
566    #[bits(1947..=1953)]
567    pub reverb_amount: Level,
568    #[bits(1954..=1961)]
569    pub reverb_amount_wheel: MorphTarget,
570    #[bits(1962..=1969)]
571    pub reverb_amount_aftertouch: MorphTarget,
572    #[bits(1970..=1977)]
573    pub reverb_amount_ctrl_pedal: MorphTarget,
574    #[bits(1978..=1978)]
575    pub compressor_on: bool,
576    #[bits(1979..=1985)]
577    pub compressor_amount: Level,
578    #[bits(1986..=1986)]
579    pub compressor_fast: CompressorResponse,
580    #[bits(2064..=2066)]
581    pub program_output_main: Selector<3>,
582    #[bits(2067..=2068)]
583    pub program_output_sub_source: Selector<2>,
584    #[bits(2069..=2070)]
585    pub program_output_sub_destination: Selector<2>,
586}