]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/line6/control.h
Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[karo-tx-linux.git] / drivers / staging / line6 / control.h
1 /*
2  * Line6 Linux USB driver - 0.8.0
3  *
4  * Copyright (C) 2004-2009 Markus Grabner (grabner@icg.tugraz.at)
5  *
6  *      This program is free software; you can redistribute it and/or
7  *      modify it under the terms of the GNU General Public License as
8  *      published by the Free Software Foundation, version 2.
9  *
10  */
11
12 #ifndef LINE6_CONTROL_H
13 #define LINE6_CONTROL_H
14
15
16 /**
17    List of PODxt Pro controls.
18    See Appendix C of the "PODxt (Pro) Pilot's Handbook" by Line6.
19    Comments after the number refer to the PODxt Pro firmware version required
20    for this feature.
21 */
22 enum {
23         POD_tweak                          =   1,
24         POD_wah_position                   =   4,
25
26         /* device: LINE6_BITS_PODXTALL */
27         POD_compression_gain               =   5,
28
29         POD_vol_pedal_position             =   7,
30         POD_compression_threshold          =   9,
31         POD_pan                            =  10,
32         POD_amp_model_setup                =  11,
33         POD_amp_model                      =  12, /* firmware: 2.0 */
34         POD_drive                          =  13,
35         POD_bass                           =  14,
36
37         /* device: LINE6_BITS_PODXTALL */
38         POD_mid                            =  15,
39
40          /* device: LINE6_BITS_BASSPODXTALL */
41         POD_lowmid                         =  15,
42
43         /* device: LINE6_BITS_PODXTALL */
44         POD_treble                         =  16,
45
46         /* device: LINE6_BITS_BASSPODXTALL */
47         POD_highmid                        =  16,
48
49         POD_chan_vol                       =  17,
50
51         /* device: LINE6_BITS_PODXTALL */
52         POD_reverb_mix                     =  18,
53
54         POD_effect_setup                   =  19,
55         POD_band_1_frequency               =  20,  /* firmware: 2.0 */
56
57         /* device: LINE6_BITS_PODXTALL */
58         POD_presence                       =  21,
59
60         /* device: LINE6_BITS_BASSPODXTALL */
61         POD_treble__bass                   =  21,
62
63         POD_noise_gate_enable              =  22,
64         POD_gate_threshold                 =  23,
65         POD_gate_decay_time                =  24,
66         POD_stomp_enable                   =  25,
67         POD_comp_enable                    =  26,
68         POD_stomp_time                     =  27,
69         POD_delay_enable                   =  28,
70         POD_mod_param_1                    =  29,
71         POD_delay_param_1                  =  30,
72         POD_delay_param_1_note_value       =  31,
73
74         /* device: LINE6_BITS_BASSPODXTALL */
75         POD_band_2_frequency__bass         =  32,  /* firmware: 2.0 */
76
77         POD_delay_param_2                  =  33,
78         POD_delay_volume_mix               =  34,
79         POD_delay_param_3                  =  35,
80
81         /* device: LINE6_BITS_PODXTALL */
82         POD_reverb_enable                  =  36,
83         POD_reverb_type                    =  37,
84         POD_reverb_decay                   =  38,
85         POD_reverb_tone                    =  39,
86         POD_reverb_pre_delay               =  40,
87         POD_reverb_pre_post                =  41,
88         POD_band_2_frequency               =  42,
89
90         /* device: LINE6_BITS_BASSPODXTALL */
91         POD_band_3_frequency__bass         =  42,  /* firmware: 2.0 */
92
93         POD_wah_enable                     =  43,
94
95         /* device: LINE6_BITS_BASSPODXTALL */
96         POD_modulation_lo_cut              =  44,
97         POD_delay_reverb_lo_cut            =  45,
98
99         /* device: LINE6_BITS_PODXTALL */
100         POD_volume_pedal_minimum           =  46,  /* firmware: 2.0 */
101
102         /* device: LINE6_BITS_BASSPODXTALL */
103         POD_eq_pre_post                    =  46,  /* firmware: 2.0 */
104
105         POD_volume_pre_post                =  47,
106
107         /* device: LINE6_BITS_BASSPODXTALL */
108         POD_di_model                       =  48,
109         POD_di_delay                       =  49,
110
111         POD_mod_enable                     =  50,
112         POD_mod_param_1_note_value         =  51,
113         POD_mod_param_2                    =  52,
114         POD_mod_param_3                    =  53,
115         POD_mod_param_4                    =  54,
116
117         /* device: LINE6_BITS_BASSPODXTALL */
118         POD_mod_param_5                    =  55,
119
120         POD_mod_volume_mix                 =  56,
121         POD_mod_pre_post                   =  57,
122         POD_modulation_model               =  58,
123
124         /* device: LINE6_BITS_PODXTALL */
125         POD_band_3_frequency               =  60,  /* firmware: 2.0 */
126
127         /* device: LINE6_BITS_BASSPODXTALL */
128         POD_band_4_frequency__bass         =  60,  /* firmware: 2.0 */
129
130         POD_mod_param_1_double_precision   =  61,
131         POD_delay_param_1_double_precision =  62,
132         POD_eq_enable                      =  63,  /* firmware: 2.0 */
133         POD_tap                            =  64,
134         POD_volume_tweak_pedal_assign      =  65,
135
136         /* device: LINE6_BITS_BASSPODXTALL */
137         POD_band_5_frequency               =  68,  /* firmware: 2.0 */
138
139         POD_tuner                          =  69,
140         POD_mic_selection                  =  70,
141         POD_cabinet_model                  =  71,
142         POD_stomp_model                    =  75,
143         POD_roomlevel                      =  76,
144
145         /* device: LINE6_BITS_PODXTALL */
146         POD_band_4_frequency               =  77,  /* firmware: 2.0 */
147
148         /* device: LINE6_BITS_BASSPODXTALL */
149         POD_band_6_frequency               =  77,  /* firmware: 2.0 */
150
151         POD_stomp_param_1_note_value       =  78,
152         POD_stomp_param_2                  =  79,
153         POD_stomp_param_3                  =  80,
154         POD_stomp_param_4                  =  81,
155         POD_stomp_param_5                  =  82,
156         POD_stomp_param_6                  =  83,
157
158         /* device: LINE6_BITS_LIVE */
159         POD_amp_switch_select              =  84,
160
161         POD_delay_param_4                  =  85,
162         POD_delay_param_5                  =  86,
163         POD_delay_pre_post                 =  87,
164
165         /* device: LINE6_BITS_PODXTALL */
166         POD_delay_model                    =  88,
167
168         /* device: LINE6_BITS_BASSPODXTALL */
169         POD_delay_verb_model               =  88,
170
171         POD_tempo_msb                      =  89,
172         POD_tempo_lsb                      =  90,
173         POD_wah_model                      =  91,  /* firmware: 3.0 */
174         POD_bypass_volume                  = 105,  /* firmware: 2.14 */
175
176         /* device: LINE6_BITS_PRO */
177         POD_fx_loop_on_off                 = 107,
178
179         POD_tweak_param_select             = 108,
180         POD_amp1_engage                    = 111,
181         POD_band_1_gain                    = 114,  /* firmware: 2.0 */
182
183         /* device: LINE6_BITS_BASSPODXTALL */
184         POD_band_2_gain__bass              = 115,  /* firmware: 2.0 */
185
186         /* device: LINE6_BITS_PODXTALL */
187         POD_band_2_gain                    = 116,  /* firmware: 2.0 */
188
189         /* device: LINE6_BITS_BASSPODXTALL */
190         POD_band_3_gain__bass              = 116,  /* firmware: 2.0 */
191
192         /* device: LINE6_BITS_PODXTALL */
193         POD_band_3_gain                    = 117,  /* firmware: 2.0 */
194
195         /* device: LINE6_BITS_BASSPODXTALL */
196         POD_band_4_gain__bass              = 117,  /* firmware: 2.0 */
197         POD_band_5_gain__bass              = 118,  /* firmware: 2.0 */
198
199         /* device: LINE6_BITS_PODXTALL */
200         POD_band_4_gain                    = 119,  /* firmware: 2.0 */
201
202         /* device: LINE6_BITS_BASSPODXTALL */
203         POD_band_6_gain__bass              = 119   /* firmware: 2.0 */
204 };
205
206 /**
207    List of Variax workbench controls (dump).
208 */
209 enum {
210         VARIAX_body                        =   3,
211         VARIAX_pickup1_enable              =   4,  /* 0: enabled, 1: disabled */
212         VARIAX_pickup1_type                =   8,
213         VARIAX_pickup1_position            =   9,  /* type: 24 bit float */
214         VARIAX_pickup1_angle               =  12,  /* type: 24 bit float */
215         VARIAX_pickup1_level               =  15,  /* type: 24 bit float */
216         VARIAX_pickup2_enable              =  18,  /* 0: enabled, 1: disabled */
217         VARIAX_pickup2_type                =  22,
218         VARIAX_pickup2_position            =  23,  /* type: 24 bit float */
219         VARIAX_pickup2_angle               =  26,  /* type: 24 bit float */
220         VARIAX_pickup2_level               =  29,  /* type: 24 bit float */
221         VARIAX_pickup_phase                =  32,  /* 0: in phase,
222                                                       1: out of phase */
223         VARIAX_capacitance                 =  33,  /* type: 24 bit float */
224         VARIAX_tone_resistance             =  36,  /* type: 24 bit float */
225         VARIAX_volume_resistance           =  39,  /* type: 24 bit float */
226         VARIAX_taper                       =  42,  /* 0: Linear, 1: Audio */
227         VARIAX_tone_dump                   =  43,  /* type: 24 bit float */
228         VARIAX_save_tone                   =  46,
229         VARIAX_volume_dump                 =  47,  /* type: 24 bit float */
230         VARIAX_tuning_enable               =  50,
231         VARIAX_tuning6                     =  51,
232         VARIAX_tuning5                     =  52,
233         VARIAX_tuning4                     =  53,
234         VARIAX_tuning3                     =  54,
235         VARIAX_tuning2                     =  55,
236         VARIAX_tuning1                     =  56,
237         VARIAX_detune6                     =  57,  /* type: 24 bit float */
238         VARIAX_detune5                     =  60,  /* type: 24 bit float */
239         VARIAX_detune4                     =  63,  /* type: 24 bit float */
240         VARIAX_detune3                     =  66,  /* type: 24 bit float */
241         VARIAX_detune2                     =  69,  /* type: 24 bit float */
242         VARIAX_detune1                     =  72,  /* type: 24 bit float */
243         VARIAX_mix6                        =  75,  /* type: 24 bit float */
244         VARIAX_mix5                        =  78,  /* type: 24 bit float */
245         VARIAX_mix4                        =  81,  /* type: 24 bit float */
246         VARIAX_mix3                        =  84,  /* type: 24 bit float */
247         VARIAX_mix2                        =  87,  /* type: 24 bit float */
248         VARIAX_mix1                        =  90,  /* type: 24 bit float */
249         VARIAX_pickup_wiring               =  96   /* 0: parallel, 1: series */
250 };
251
252 /**
253    List of Variax workbench controls (MIDI).
254 */
255 enum {
256         VARIAXMIDI_volume                  =   7,
257         VARIAXMIDI_tone                    =  79,
258 };
259
260
261 extern int pod_create_files(int firmware, int type, struct device *dev);
262 extern void pod_remove_files(int firmware, int type, struct device *dev);
263 extern int variax_create_files(int firmware, int type, struct device *dev);
264 extern void variax_remove_files(int firmware, int type, struct device *dev);
265
266
267 #endif