summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/dsp.c12
-rw-r--r--apps/menus/eq_menu.c88
-rw-r--r--apps/settings.h33
-rw-r--r--apps/settings_list.c30
4 files changed, 78 insertions, 85 deletions
diff --git a/apps/dsp.c b/apps/dsp.c
index 4017f6afc0..4da555747b 100644
--- a/apps/dsp.c
+++ b/apps/dsp.c
@@ -953,17 +953,13 @@ void dsp_set_eq_precut(int precut)
953 */ 953 */
954void dsp_set_eq_coefs(int band) 954void dsp_set_eq_coefs(int band)
955{ 955{
956 const int *setting;
957 long gain;
958 unsigned long cutoff, q;
959
960 /* Adjust setting pointer to the band we actually want to change */ 956 /* Adjust setting pointer to the band we actually want to change */
961 setting = &global_settings.eq_band0_cutoff + (band * 3); 957 struct eq_band_setting *setting = &global_settings.eq_band_settings[band];
962 958
963 /* Convert user settings to format required by coef generator functions */ 959 /* Convert user settings to format required by coef generator functions */
964 cutoff = 0xffffffff / NATIVE_FREQUENCY * (*setting++); 960 unsigned long cutoff = 0xffffffff / NATIVE_FREQUENCY * setting->cutoff;
965 q = *setting++; 961 unsigned long q = setting->q;
966 gain = *setting++; 962 int gain = setting->gain;
967 963
968 if (q == 0) 964 if (q == 0)
969 q = 1; 965 q = 1;
diff --git a/apps/menus/eq_menu.c b/apps/menus/eq_menu.c
index c1d9792c44..d920c93ca3 100644
--- a/apps/menus/eq_menu.c
+++ b/apps/menus/eq_menu.c
@@ -97,23 +97,38 @@ static int eq_setting_callback(int action, const struct menu_item_ex *this_item)
97MENUITEM_SETTING(eq_enable, &global_settings.eq_enabled, eq_setting_callback); 97MENUITEM_SETTING(eq_enable, &global_settings.eq_enabled, eq_setting_callback);
98MENUITEM_SETTING(eq_precut, &global_settings.eq_precut, eq_setting_callback); 98MENUITEM_SETTING(eq_precut, &global_settings.eq_precut, eq_setting_callback);
99 99
100MENUITEM_SETTING(cutoff_0, &global_settings.eq_band0_cutoff, eq_setting_callback); 100MENUITEM_SETTING(cutoff_0, &global_settings.eq_band_settings[0].cutoff,
101MENUITEM_SETTING(cutoff_1, &global_settings.eq_band1_cutoff, eq_setting_callback); 101 eq_setting_callback);
102MENUITEM_SETTING(cutoff_2, &global_settings.eq_band2_cutoff, eq_setting_callback); 102MENUITEM_SETTING(cutoff_1, &global_settings.eq_band_settings[1].cutoff,
103MENUITEM_SETTING(cutoff_3, &global_settings.eq_band3_cutoff, eq_setting_callback); 103 eq_setting_callback);
104MENUITEM_SETTING(cutoff_4, &global_settings.eq_band4_cutoff, eq_setting_callback); 104MENUITEM_SETTING(cutoff_2, &global_settings.eq_band_settings[2].cutoff,
105 105 eq_setting_callback);
106MENUITEM_SETTING(q_0, &global_settings.eq_band0_q, eq_setting_callback); 106MENUITEM_SETTING(cutoff_3, &global_settings.eq_band_settings[3].cutoff,
107MENUITEM_SETTING(q_1, &global_settings.eq_band1_q, eq_setting_callback); 107 eq_setting_callback);
108MENUITEM_SETTING(q_2, &global_settings.eq_band2_q, eq_setting_callback); 108MENUITEM_SETTING(cutoff_4, &global_settings.eq_band_settings[4].cutoff,
109MENUITEM_SETTING(q_3, &global_settings.eq_band3_q, eq_setting_callback); 109 eq_setting_callback);
110MENUITEM_SETTING(q_4, &global_settings.eq_band4_q, eq_setting_callback); 110
111 111MENUITEM_SETTING(q_0, &global_settings.eq_band_settings[0].q,
112MENUITEM_SETTING(gain_0, &global_settings.eq_band0_gain, eq_setting_callback); 112 eq_setting_callback);
113MENUITEM_SETTING(gain_1, &global_settings.eq_band1_gain, eq_setting_callback); 113MENUITEM_SETTING(q_1, &global_settings.eq_band_settings[1].q,
114MENUITEM_SETTING(gain_2, &global_settings.eq_band2_gain, eq_setting_callback); 114 eq_setting_callback);
115MENUITEM_SETTING(gain_3, &global_settings.eq_band3_gain, eq_setting_callback); 115MENUITEM_SETTING(q_2, &global_settings.eq_band_settings[2].q,
116MENUITEM_SETTING(gain_4, &global_settings.eq_band4_gain, eq_setting_callback); 116 eq_setting_callback);
117MENUITEM_SETTING(q_3, &global_settings.eq_band_settings[3].q,
118 eq_setting_callback);
119MENUITEM_SETTING(q_4, &global_settings.eq_band_settings[4].q,
120 eq_setting_callback);
121
122MENUITEM_SETTING(gain_0, &global_settings.eq_band_settings[0].gain,
123 eq_setting_callback);
124MENUITEM_SETTING(gain_1, &global_settings.eq_band_settings[1].gain,
125 eq_setting_callback);
126MENUITEM_SETTING(gain_2, &global_settings.eq_band_settings[2].gain,
127 eq_setting_callback);
128MENUITEM_SETTING(gain_3, &global_settings.eq_band_settings[3].gain,
129 eq_setting_callback);
130MENUITEM_SETTING(gain_4, &global_settings.eq_band_settings[4].gain,
131 eq_setting_callback);
117 132
118static char* gainitem_get_name(int selected_item, void * data, char *buffer) 133static char* gainitem_get_name(int selected_item, void * data, char *buffer)
119{ 134{
@@ -145,23 +160,28 @@ static int do_option(void * param)
145MENUITEM_FUNCTION_DYNTEXT(gain_item_0, MENU_FUNC_USEPARAM, 160MENUITEM_FUNCTION_DYNTEXT(gain_item_0, MENU_FUNC_USEPARAM,
146 do_option, (void*)&gain_0, 161 do_option, (void*)&gain_0,
147 gainitem_get_name, gainitem_speak_item, 162 gainitem_get_name, gainitem_speak_item,
148 &global_settings.eq_band0_cutoff, NULL, Icon_NOICON); 163 &global_settings.eq_band_settings[0].cutoff,
164 NULL, Icon_NOICON);
149MENUITEM_FUNCTION_DYNTEXT(gain_item_1, MENU_FUNC_USEPARAM, 165MENUITEM_FUNCTION_DYNTEXT(gain_item_1, MENU_FUNC_USEPARAM,
150 do_option, (void*)&gain_1, 166 do_option, (void*)&gain_1,
151 gainitem_get_name, gainitem_speak_item, 167 gainitem_get_name, gainitem_speak_item,
152 &global_settings.eq_band1_cutoff, NULL, Icon_NOICON); 168 &global_settings.eq_band_settings[1].cutoff,
169 NULL, Icon_NOICON);
153MENUITEM_FUNCTION_DYNTEXT(gain_item_2, MENU_FUNC_USEPARAM, 170MENUITEM_FUNCTION_DYNTEXT(gain_item_2, MENU_FUNC_USEPARAM,
154 do_option, (void*)&gain_2, 171 do_option, (void*)&gain_2,
155 gainitem_get_name, gainitem_speak_item, 172 gainitem_get_name, gainitem_speak_item,
156 &global_settings.eq_band2_cutoff, NULL, Icon_NOICON); 173 &global_settings.eq_band_settings[2].cutoff,
174 NULL, Icon_NOICON);
157MENUITEM_FUNCTION_DYNTEXT(gain_item_3, MENU_FUNC_USEPARAM, 175MENUITEM_FUNCTION_DYNTEXT(gain_item_3, MENU_FUNC_USEPARAM,
158 do_option, (void*)&gain_3, 176 do_option, (void*)&gain_3,
159 gainitem_get_name, gainitem_speak_item, 177 gainitem_get_name, gainitem_speak_item,
160 &global_settings.eq_band3_cutoff, NULL, Icon_NOICON); 178 &global_settings.eq_band_settings[3].cutoff,
179 NULL, Icon_NOICON);
161MENUITEM_FUNCTION_DYNTEXT(gain_item_4, MENU_FUNC_USEPARAM, 180MENUITEM_FUNCTION_DYNTEXT(gain_item_4, MENU_FUNC_USEPARAM,
162 do_option, (void*)&gain_4, 181 do_option, (void*)&gain_4,
163 gainitem_get_name, gainitem_speak_item, 182 gainitem_get_name, gainitem_speak_item,
164 &global_settings.eq_band4_cutoff, NULL, Icon_NOICON); 183 &global_settings.eq_band_settings[4].cutoff,
184 NULL, Icon_NOICON);
165 185
166MAKE_MENU(gain_menu, ID2P(LANG_EQUALIZER_GAIN), NULL, Icon_NOICON, &gain_item_0, 186MAKE_MENU(gain_menu, ID2P(LANG_EQUALIZER_GAIN), NULL, Icon_NOICON, &gain_item_0,
167 &gain_item_1, &gain_item_2, &gain_item_3, &gain_item_4); 187 &gain_item_1, &gain_item_2, &gain_item_3, &gain_item_4);
@@ -349,15 +369,15 @@ static void draw_eq_sliders(struct screen * screen, int x, int y,
349 int nb_eq_sliders, int start_item, 369 int nb_eq_sliders, int start_item,
350 int current_band, enum eq_slider_mode mode) 370 int current_band, enum eq_slider_mode mode)
351{ 371{
352 int i, gain, q, cutoff;
353 int height = y; 372 int height = y;
354 int *setting = &global_settings.eq_band0_cutoff;
355 373
356 start_item = MIN(start_item, 5-nb_eq_sliders); 374 start_item = MIN(start_item, 5 - nb_eq_sliders);
357 for (i=0; i<5; i++) { 375
358 cutoff = *setting++; 376 for (int i = 0; i < 5; i++) {
359 q = *setting++; 377 struct eq_band_setting *setting = &global_settings.eq_band_settings[i];
360 gain = *setting++; 378 int cutoff = setting->cutoff;
379 int q = setting->q;
380 int gain = setting->gain;
361 381
362 if (i == start_item + nb_eq_sliders) 382 if (i == start_item + nb_eq_sliders)
363 break; 383 break;
@@ -370,6 +390,7 @@ static void draw_eq_sliders(struct screen * screen, int x, int y,
370 height++; 390 height++;
371 } 391 }
372 } 392 }
393
373 if (nb_eq_sliders != 5) 394 if (nb_eq_sliders != 5)
374 gui_scrollbar_draw(screen, 0, y, SCROLLBAR_SIZE - 1, 395 gui_scrollbar_draw(screen, 0, y, SCROLLBAR_SIZE - 1,
375 screen->lcdheight - y, 5, 396 screen->lcdheight - y, 5,
@@ -429,8 +450,7 @@ bool eq_menu_graphical(void)
429 /* Set pointer to the band data currently editable */ 450 /* Set pointer to the band data currently editable */
430 if (mode == GAIN) { 451 if (mode == GAIN) {
431 /* gain */ 452 /* gain */
432 setting = &global_settings.eq_band0_gain; 453 setting = &global_settings.eq_band_settings[current_band].gain;
433 setting += current_band * 3;
434 454
435 step = EQ_GAIN_STEP; 455 step = EQ_GAIN_STEP;
436 fast_step = EQ_GAIN_FAST_STEP; 456 fast_step = EQ_GAIN_FAST_STEP;
@@ -443,8 +463,7 @@ bool eq_menu_graphical(void)
443 screens[i].putsxy(0, 0, buf); 463 screens[i].putsxy(0, 0, buf);
444 } else if (mode == CUTOFF) { 464 } else if (mode == CUTOFF) {
445 /* cutoff */ 465 /* cutoff */
446 setting = &global_settings.eq_band0_cutoff; 466 setting = &global_settings.eq_band_settings[current_band].cutoff;
447 setting += current_band * 3;
448 467
449 step = EQ_CUTOFF_STEP; 468 step = EQ_CUTOFF_STEP;
450 fast_step = EQ_CUTOFF_FAST_STEP; 469 fast_step = EQ_CUTOFF_FAST_STEP;
@@ -457,8 +476,7 @@ bool eq_menu_graphical(void)
457 screens[i].putsxy(0, 0, buf); 476 screens[i].putsxy(0, 0, buf);
458 } else { 477 } else {
459 /* Q */ 478 /* Q */
460 setting = &global_settings.eq_band0_q; 479 setting = &global_settings.eq_band_settings[current_band].q;
461 setting += current_band * 3;
462 480
463 step = EQ_Q_STEP; 481 step = EQ_Q_STEP;
464 fast_step = EQ_Q_FAST_STEP; 482 fast_step = EQ_Q_FAST_STEP;
diff --git a/apps/settings.h b/apps/settings.h
index ca0abaa202..a55ab0c8b6 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -340,33 +340,12 @@ struct user_settings
340 bool eq_enabled; /* Enable equalizer */ 340 bool eq_enabled; /* Enable equalizer */
341 unsigned int eq_precut; /* dB */ 341 unsigned int eq_precut; /* dB */
342 342
343 /* Order is important here, must be cutoff, q, then gain for each band. 343 struct eq_band_setting
344 See dsp_set_eq_coefs in dsp.c for why. */ 344 {
345 345 int cutoff; /* Hz */
346 /* Band 0 settings */ 346 int q;
347 int eq_band0_cutoff; /* Hz */ 347 int gain; /* +/- dB */
348 int eq_band0_q; 348 } eq_band_settings[5];
349 int eq_band0_gain; /* +/- dB */
350
351 /* Band 1 settings */
352 int eq_band1_cutoff; /* Hz */
353 int eq_band1_q;
354 int eq_band1_gain; /* +/- dB */
355
356 /* Band 2 settings */
357 int eq_band2_cutoff; /* Hz */
358 int eq_band2_q;
359 int eq_band2_gain; /* +/- dB */
360
361 /* Band 3 settings */
362 int eq_band3_cutoff; /* Hz */
363 int eq_band3_q;
364 int eq_band3_gain; /* +/- dB */
365
366 /* Band 4 settings */
367 int eq_band4_cutoff; /* Hz */
368 int eq_band4_q;
369 int eq_band4_gain; /* +/- dB */
370 349
371 /* Misc. swcodec */ 350 /* Misc. swcodec */
372 int beep; /* system beep volume when changing tracks etc. */ 351 int beep; /* system beep volume when changing tracks etc. */
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 5e4a07c6ee..27cece5550 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1420,51 +1420,51 @@ const struct settings_list settings[] = {
1420 "eq precut", UNIT_DB, 0, 240, 5, eq_precut_format, 1420 "eq precut", UNIT_DB, 0, 240, 5, eq_precut_format,
1421 get_precut_talkid, dsp_set_eq_precut), 1421 get_precut_talkid, dsp_set_eq_precut),
1422 /* 0..32768 Hz */ 1422 /* 0..32768 Hz */
1423 INT_SETTING_NOWRAP(F_EQSETTING, eq_band0_cutoff, LANG_EQUALIZER_BAND_CUTOFF, 1423 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[0].cutoff, LANG_EQUALIZER_BAND_CUTOFF,
1424 60, "eq band 0 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, 1424 60, "eq band 0 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN,
1425 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), 1425 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL),
1426 INT_SETTING_NOWRAP(F_EQSETTING, eq_band1_cutoff, LANG_EQUALIZER_BAND_CENTER, 1426 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[1].cutoff, LANG_EQUALIZER_BAND_CENTER,
1427 200, "eq band 1 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, 1427 200, "eq band 1 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN,
1428 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), 1428 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL),
1429 INT_SETTING_NOWRAP(F_EQSETTING, eq_band2_cutoff, LANG_EQUALIZER_BAND_CENTER, 1429 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[2].cutoff, LANG_EQUALIZER_BAND_CENTER,
1430 800, "eq band 2 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, 1430 800, "eq band 2 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN,
1431 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), 1431 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL),
1432 INT_SETTING_NOWRAP(F_EQSETTING, eq_band3_cutoff, LANG_EQUALIZER_BAND_CENTER, 1432 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[3].cutoff, LANG_EQUALIZER_BAND_CENTER,
1433 4000, "eq band 3 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, 1433 4000, "eq band 3 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN,
1434 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), 1434 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL),
1435 INT_SETTING_NOWRAP(F_EQSETTING, eq_band4_cutoff, LANG_EQUALIZER_BAND_CUTOFF, 1435 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[4].cutoff, LANG_EQUALIZER_BAND_CUTOFF,
1436 12000, "eq band 4 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, 1436 12000, "eq band 4 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN,
1437 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), 1437 EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL),
1438 /* 0..64 (or 0.0 to 6.4) */ 1438 /* 0..64 (or 0.0 to 6.4) */
1439 INT_SETTING_NOWRAP(F_EQSETTING, eq_band0_q, LANG_EQUALIZER_BAND_Q, 7, 1439 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[0].q, LANG_EQUALIZER_BAND_Q, 7,
1440 "eq band 0 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, 1440 "eq band 0 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP,
1441 eq_q_format, get_dec_talkid, NULL), 1441 eq_q_format, get_dec_talkid, NULL),
1442 INT_SETTING_NOWRAP(F_EQSETTING, eq_band1_q, LANG_EQUALIZER_BAND_Q, 10, 1442 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[1].q, LANG_EQUALIZER_BAND_Q, 10,
1443 "eq band 1 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, 1443 "eq band 1 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP,
1444 eq_q_format, get_dec_talkid, NULL), 1444 eq_q_format, get_dec_talkid, NULL),
1445 INT_SETTING_NOWRAP(F_EQSETTING, eq_band2_q, LANG_EQUALIZER_BAND_Q, 10, 1445 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[2].q, LANG_EQUALIZER_BAND_Q, 10,
1446 "eq band 2 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, 1446 "eq band 2 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP,
1447 eq_q_format, get_dec_talkid, NULL), 1447 eq_q_format, get_dec_talkid, NULL),
1448 INT_SETTING_NOWRAP(F_EQSETTING, eq_band3_q, LANG_EQUALIZER_BAND_Q, 10, 1448 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[3].q, LANG_EQUALIZER_BAND_Q, 10,
1449 "eq band 3 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, 1449 "eq band 3 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP,
1450 eq_q_format, get_dec_talkid, NULL), 1450 eq_q_format, get_dec_talkid, NULL),
1451 INT_SETTING_NOWRAP(F_EQSETTING, eq_band4_q, LANG_EQUALIZER_BAND_Q, 7, 1451 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[4].q, LANG_EQUALIZER_BAND_Q, 7,
1452 "eq band 4 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, 1452 "eq band 4 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP,
1453 eq_q_format, get_dec_talkid, NULL), 1453 eq_q_format, get_dec_talkid, NULL),
1454 /* -240..240 (or -24db to +24db) */ 1454 /* -240..240 (or -24db to +24db) */
1455 INT_SETTING_NOWRAP(F_EQSETTING, eq_band0_gain, LANG_GAIN, 0, 1455 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[0].gain, LANG_GAIN, 0,
1456 "eq band 0 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, 1456 "eq band 0 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX,
1457 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), 1457 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL),
1458 INT_SETTING_NOWRAP(F_EQSETTING, eq_band1_gain, LANG_GAIN, 0, 1458 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[1].gain, LANG_GAIN, 0,
1459 "eq band 1 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, 1459 "eq band 1 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX,
1460 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), 1460 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL),
1461 INT_SETTING_NOWRAP(F_EQSETTING, eq_band2_gain, LANG_GAIN, 0, 1461 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[2].gain, LANG_GAIN, 0,
1462 "eq band 2 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, 1462 "eq band 2 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX,
1463 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), 1463 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL),
1464 INT_SETTING_NOWRAP(F_EQSETTING, eq_band3_gain, LANG_GAIN, 0, 1464 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[3].gain, LANG_GAIN, 0,
1465 "eq band 3 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, 1465 "eq band 3 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX,
1466 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), 1466 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL),
1467 INT_SETTING_NOWRAP(F_EQSETTING, eq_band4_gain, LANG_GAIN, 0, 1467 INT_SETTING_NOWRAP(F_EQSETTING, eq_band_settings[4].gain, LANG_GAIN, 0,
1468 "eq band 4 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, 1468 "eq band 4 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX,
1469 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), 1469 EQ_GAIN_STEP, db_format, get_dec_talkid, NULL),
1470 1470