debug ardour->MCP fader mapping
[ardour.git] / libs / surfaces / mackie / mackie_surface_generated.cc
1 /*
2         Generated by scripts/generate-surface.rb
3 */
4
5 #include "mackie_surface.h"
6
7 #include "controls.h"
8 #include "mackie_button_handler.h"
9
10 using namespace Mackie;
11
12 void Mackie::MackieSurface::handle_button (MackieButtonHandler & mbh, ButtonState bs, Button & button)
13 {
14         if  (bs != press && bs != release) {
15                 mbh.update_led (button, none);
16                 return;
17         }
18         
19         LedState ls;
20         switch  (button.id()) {
21         case 0x9028: // io
22                 switch  (bs) {
23                 case press: ls = mbh.io_press (button); break;
24                 case release: ls = mbh.io_release (button); break;
25                 case neither: break;
26                 }
27                 break;
28                 
29         case 0x9029: // sends
30                 switch  (bs) {
31                 case press: ls = mbh.sends_press (button); break;
32                 case release: ls = mbh.sends_release (button); break;
33                 case neither: break;
34                 }
35                 break;
36                 
37         case 0x902a: // pan
38                 switch  (bs) {
39                 case press: ls = mbh.pan_press (button); break;
40                 case release: ls = mbh.pan_release (button); break;
41                 case neither: break;
42                 }
43                 break;
44                 
45         case 0x902b: // plugin
46                 switch  (bs) {
47                 case press: ls = mbh.plugin_press (button); break;
48                 case release: ls = mbh.plugin_release (button); break;
49                 case neither: break;
50                 }
51                 break;
52                 
53         case 0x902c: // eq
54                 switch  (bs) {
55                 case press: ls = mbh.eq_press (button); break;
56                 case release: ls = mbh.eq_release (button); break;
57                 case neither: break;
58                 }
59                 break;
60                 
61         case 0x902d: // dyn
62                 switch  (bs) {
63                 case press: ls = mbh.dyn_press (button); break;
64                 case release: ls = mbh.dyn_release (button); break;
65                 case neither: break;
66                 }
67                 break;
68                 
69         case 0x902e: // left
70                 switch  (bs) {
71                 case press: ls = mbh.left_press (button); break;
72                 case release: ls = mbh.left_release (button); break;
73                 case neither: break;
74                 }
75                 break;
76                 
77         case 0x902f: // right
78                 switch  (bs) {
79                 case press: ls = mbh.right_press (button); break;
80                 case release: ls = mbh.right_release (button); break;
81                 case neither: break;
82                 }
83                 break;
84                 
85         case 0x9030: // channel_left
86                 switch  (bs) {
87                 case press: ls = mbh.channel_left_press (button); break;
88                 case release: ls = mbh.channel_left_release (button); break;
89                 case neither: break;
90                 }
91                 break;
92                 
93         case 0x9031: // channel_right
94                 switch  (bs) {
95                 case press: ls = mbh.channel_right_press (button); break;
96                 case release: ls = mbh.channel_right_release (button); break;
97                 case neither: break;
98                 }
99                 break;
100                 
101         case 0x9032: // flip
102                 switch  (bs) {
103                 case press: ls = mbh.flip_press (button); break;
104                 case release: ls = mbh.flip_release (button); break;
105                 case neither: break;
106                 }
107                 break;
108
109         case 0x9033: // edit
110                 switch  (bs) {
111                 case press: ls = mbh.edit_press (button); break;
112                 case release: ls = mbh.edit_release (button); break;
113                 case neither: break;
114                 }
115                 break;
116
117         case 0x9034: // name_value
118                 switch  (bs) {
119                 case press: ls = mbh.name_value_press (button); break;
120                 case release: ls = mbh.name_value_release (button); break;
121                 case neither: break;
122                 }
123                 break;
124
125         case 0x9035: // timecode_beats
126                 switch  (bs) {
127                 case press: ls = mbh.timecode_beats_press (button); break;
128                 case release: ls = mbh.timecode_beats_release (button); break;
129                 case neither: break;
130                 }
131                 break;
132
133         case 0x9036: // F1
134                 switch  (bs) {
135                 case press: ls = mbh.F1_press (button); break;
136                 case release: ls = mbh.F1_release (button); break;
137                 case neither: break;
138                 }
139                 break;
140
141         case 0x9037: // F2
142                 switch  (bs) {
143                 case press: ls = mbh.F2_press (button); break;
144                 case release: ls = mbh.F2_release (button); break;
145                 case neither: break;
146                 }
147                 break;
148
149         case 0x9038: // F3
150                 switch  (bs) {
151                 case press: ls = mbh.F3_press (button); break;
152                 case release: ls = mbh.F3_release (button); break;
153                 case neither: break;
154                 }
155                 break;
156
157         case 0x9039: // F4
158                 switch  (bs) {
159                 case press: ls = mbh.F4_press (button); break;
160                 case release: ls = mbh.F4_release (button); break;
161                 case neither: break;
162                 }
163                 break;
164
165         case 0x903a: // F5
166                 switch  (bs) {
167                 case press: ls = mbh.F5_press (button); break;
168                 case release: ls = mbh.F5_release (button); break;
169                 case neither: break;
170                 }
171                 break;
172
173         case 0x903b: // F6
174                 switch  (bs) {
175                 case press: ls = mbh.F6_press (button); break;
176                 case release: ls = mbh.F6_release (button); break;
177                 case neither: break;
178                 }
179                 break;
180
181         case 0x903c: // F7
182                 switch  (bs) {
183                 case press: ls = mbh.F7_press (button); break;
184                 case release: ls = mbh.F7_release (button); break;
185                 case neither: break;
186                 }
187                 break;
188
189         case 0x903d: // F8
190                 switch  (bs) {
191                 case press: ls = mbh.F8_press (button); break;
192                 case release: ls = mbh.F8_release (button); break;
193                 case neither: break;
194                 }
195                 break;
196
197         case 0x903e: // F9
198                 switch  (bs) {
199                 case press: ls = mbh.F9_press (button); break;
200                 case release: ls = mbh.F9_release (button); break;
201                 case neither: break;
202                 }
203                 break;
204
205         case 0x903f: // F10
206                 switch  (bs) {
207                 case press: ls = mbh.F10_press (button); break;
208                 case release: ls = mbh.F10_release (button); break;
209                 case neither: break;
210                 }
211                 break;
212
213         case 0x9040: // F11
214                 switch  (bs) {
215                 case press: ls = mbh.F11_press (button); break;
216                 case release: ls = mbh.F11_release (button); break;
217                 case neither: break;
218                 }
219                 break;
220
221         case 0x9041: // F12
222                 switch  (bs) {
223                 case press: ls = mbh.F12_press (button); break;
224                 case release: ls = mbh.F12_release (button); break;
225                 case neither: break;
226                 }
227                 break;
228
229         case 0x9042: // F13
230                 switch  (bs) {
231                 case press: ls = mbh.F13_press (button); break;
232                 case release: ls = mbh.F13_release (button); break;
233                 case neither: break;
234                 }
235                 break;
236
237         case 0x9043: // F14
238                 switch  (bs) {
239                 case press: ls = mbh.F14_press (button); break;
240                 case release: ls = mbh.F14_release (button); break;
241                 case neither: break;
242                 }
243                 break;
244
245         case 0x9044: // F15
246                 switch  (bs) {
247                 case press: ls = mbh.F15_press (button); break;
248                 case release: ls = mbh.F15_release (button); break;
249                 case neither: break;
250                 }
251                 break;
252
253         case 0x9045: // F16
254                 switch  (bs) {
255                 case press: ls = mbh.F16_press (button); break;
256                 case release: ls = mbh.F16_release (button); break;
257                 case neither: break;
258                 }
259                 break;
260
261         case 0x9046: // shift
262                 switch  (bs) {
263                 case press: ls = mbh.shift_press (button); break;
264                 case release: ls = mbh.shift_release (button); break;
265                 case neither: break;
266                 }
267                 break;
268
269         case 0x9047: // option
270                 switch  (bs) {
271                 case press: ls = mbh.option_press (button); break;
272                 case release: ls = mbh.option_release (button); break;
273                 case neither: break;
274                 }
275                 break;
276
277         case 0x9048: // control
278                 switch  (bs) {
279                 case press: ls = mbh.control_press (button); break;
280                 case release: ls = mbh.control_release (button); break;
281                 case neither: break;
282                 }
283                 break;
284
285         case 0x9049: // cmd_alt
286                 switch  (bs) {
287                 case press: ls = mbh.cmd_alt_press (button); break;
288                 case release: ls = mbh.cmd_alt_release (button); break;
289                 case neither: break;
290                 }
291                 break;
292
293         case 0x904a: // on
294                 switch  (bs) {
295                 case press: ls = mbh.on_press (button); break;
296                 case release: ls = mbh.on_release (button); break;
297                 case neither: break;
298                 }
299                 break;
300
301         case 0x904b: // rec_ready
302                 switch  (bs) {
303                 case press: ls = mbh.rec_ready_press (button); break;
304                 case release: ls = mbh.rec_ready_release (button); break;
305                 case neither: break;
306                 }
307                 break;
308
309         case 0x904c: // undo
310                 switch  (bs) {
311                 case press: ls = mbh.undo_press (button); break;
312                 case release: ls = mbh.undo_release (button); break;
313                 case neither: break;
314                 }
315                 break;
316
317         case 0x904d: // snapshot
318                 switch  (bs) {
319                 case press: ls = mbh.snapshot_press (button); break;
320                 case release: ls = mbh.snapshot_release (button); break;
321                 case neither: break;
322                 }
323                 break;
324
325         case 0x904e: // touch
326                 switch  (bs) {
327                 case press: ls = mbh.touch_press (button); break;
328                 case release: ls = mbh.touch_release (button); break;
329                 case neither: break;
330                 }
331                 break;
332
333         case 0x904f: // redo
334                 switch  (bs) {
335                 case press: ls = mbh.redo_press (button); break;
336                 case release: ls = mbh.redo_release (button); break;
337                 case neither: break;
338                 }
339                 break;
340
341         case 0x9050: // marker
342                 switch  (bs) {
343                 case press: ls = mbh.marker_press (button); break;
344                 case release: ls = mbh.marker_release (button); break;
345                 case neither: break;
346                 }
347                 break;
348
349         case 0x9051: // enter
350                 switch  (bs) {
351                 case press: ls = mbh.enter_press (button); break;
352                 case release: ls = mbh.enter_release (button); break;
353                 case neither: break;
354                 }
355                 break;
356
357         case 0x9052: // cancel
358                 switch  (bs) {
359                 case press: ls = mbh.cancel_press (button); break;
360                 case release: ls = mbh.cancel_release (button); break;
361                 case neither: break;
362                 }
363                 break;
364
365         case 0x9053: // mixer
366                 switch  (bs) {
367                 case press: ls = mbh.mixer_press (button); break;
368                 case release: ls = mbh.mixer_release (button); break;
369                 case neither: break;
370                 }
371                 break;
372
373         case 0x9054: // frm_left
374                 switch  (bs) {
375                 case press: ls = mbh.frm_left_press (button); break;
376                 case release: ls = mbh.frm_left_release (button); break;
377                 case neither: break;
378                 }
379                 break;
380
381         case 0x9055: // frm_right
382                 switch  (bs) {
383                 case press: ls = mbh.frm_right_press (button); break;
384                 case release: ls = mbh.frm_right_release (button); break;
385                 case neither: break;
386                 }
387                 break;
388
389         case 0x9056: // loop
390                 switch  (bs) {
391                 case press: ls = mbh.loop_press (button); break;
392                 case release: ls = mbh.loop_release (button); break;
393                 case neither: break;
394                 }
395                 break;
396
397         case 0x9057: // punch_in
398                 switch  (bs) {
399                 case press: ls = mbh.punch_in_press (button); break;
400                 case release: ls = mbh.punch_in_release (button); break;
401                 case neither: break;
402                 }
403                 break;
404
405         case 0x9058: // punch_out
406                 switch  (bs) {
407                 case press: ls = mbh.punch_out_press (button); break;
408                 case release: ls = mbh.punch_out_release (button); break;
409                 case neither: break;
410                 }
411                 break;
412
413         case 0x9059: // home
414                 switch  (bs) {
415                 case press: ls = mbh.home_press (button); break;
416                 case release: ls = mbh.home_release (button); break;
417                 case neither: break;
418                 }
419                 break;
420
421         case 0x905a: // end
422                 switch  (bs) {
423                 case press: ls = mbh.end_press (button); break;
424                 case release: ls = mbh.end_release (button); break;
425                 case neither: break;
426                 }
427                 break;
428
429         case 0x905b: // rewind
430                 switch  (bs) {
431                 case press: ls = mbh.rewind_press (button); break;
432                 case release: ls = mbh.rewind_release (button); break;
433                 case neither: break;
434                 }
435                 break;
436
437         case 0x905c: // ffwd
438                 switch  (bs) {
439                 case press: ls = mbh.ffwd_press (button); break;
440                 case release: ls = mbh.ffwd_release (button); break;
441                 case neither: break;
442                 }
443                 break;
444
445         case 0x905d: // stop
446                 switch  (bs) {
447                 case press: ls = mbh.stop_press (button); break;
448                 case release: ls = mbh.stop_release (button); break;
449                 case neither: break;
450                 }
451                 break;
452
453         case 0x905e: // play
454                 switch  (bs) {
455                 case press: ls = mbh.play_press (button); break;
456                 case release: ls = mbh.play_release (button); break;
457                 case neither: break;
458                 }
459                 break;
460
461         case 0x905f: // record
462                 switch  (bs) {
463                 case press: ls = mbh.record_press (button); break;
464                 case release: ls = mbh.record_release (button); break;
465                 case neither: break;
466                 }
467                 break;
468
469         case 0x9060: // cursor_up
470                 switch  (bs) {
471                 case press: ls = mbh.cursor_up_press (button); break;
472                 case release: ls = mbh.cursor_up_release (button); break;
473                 case neither: break;
474                 }
475                 break;
476
477         case 0x9061: // cursor_down
478                 switch  (bs) {
479                 case press: ls = mbh.cursor_down_press (button); break;
480                 case release: ls = mbh.cursor_down_release (button); break;
481                 case neither: break;
482                 }
483                 break;
484
485         case 0x9062: // cursor_left
486                 switch  (bs) {
487                 case press: ls = mbh.cursor_left_press (button); break;
488                 case release: ls = mbh.cursor_left_release (button); break;
489                 case neither: break;
490                 }
491                 break;
492
493         case 0x9063: // cursor_right
494                 switch  (bs) {
495                 case press: ls = mbh.cursor_right_press (button); break;
496                 case release: ls = mbh.cursor_right_release (button); break;
497                 case neither: break;
498                 }
499                 break;
500
501         case 0x9064: // zoom
502                 switch  (bs) {
503                 case press: ls = mbh.zoom_press (button); break;
504                 case release: ls = mbh.zoom_release (button); break;
505                 case neither: break;
506                 }
507                 break;
508
509         case 0x9065: // scrub
510                 switch  (bs) {
511                 case press: ls = mbh.scrub_press (button); break;
512                 case release: ls = mbh.scrub_release (button); break;
513                 case neither: break;
514                 }
515                 break;
516
517         case 0x9066: // user_a
518                 switch  (bs) {
519                 case press: ls = mbh.user_a_press (button); break;
520                 case release: ls = mbh.user_a_release (button); break;
521                 case neither: break;
522                 }
523                 break;
524
525         case 0x9067: // user_b
526                 switch  (bs) {
527                 case press: ls = mbh.user_b_press (button); break;
528                 case release: ls = mbh.user_b_release (button); break;
529                 case neither: break;
530                 }
531                 break;
532
533         }
534         mbh.update_led (button, ls);
535 }