From 2801a87d543f38cadd076330f329c84e23852997 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Mon, 19 Feb 2007 02:14:51 +0000 Subject: Convert the EQ menus git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12398 a1c6a512-1295-4272-9138-f99709370657 --- apps/settings_list.c | 159 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 96 insertions(+), 63 deletions(-) (limited to 'apps/settings_list.c') diff --git a/apps/settings_list.c b/apps/settings_list.c index 9f24c63a84..a505232643 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -42,6 +42,7 @@ #ifdef HAVE_LCD_BITMAP #include "peakmeter.h" #endif +#include "menus/eq_menu.h" /* some sets of values which are used more than once, to save memory */ static const char off_on[] = "off,on"; @@ -349,6 +350,7 @@ static long jumpscroll_getlang(int value) return -1; } #endif /* HAVE_LCD_CHARCELLS */ + const struct settings_list settings[] = { /* sound settings */ @@ -857,41 +859,56 @@ const struct settings_list settings[] = { crossfeed_format, NULL, crossfeed_hf_cutoff_helper), /* equalizer */ OFFON_SETTING(0,eq_enabled,LANG_EQUALIZER_ENABLED,false,"eq enabled",NULL), - {F_T_INT,&global_settings.eq_precut,LANG_EQUALIZER_PRECUT,INT(0), - "eq precut",NULL,UNUSED}, + INT_SETTING(0, eq_precut, LANG_EQUALIZER_PRECUT, 0, "eq precut", + UNIT_DB, 0, 240, 5, eq_precut_format, NULL, dsp_set_eq_precut), /* 0..32768 Hz */ - {F_T_INT,&global_settings.eq_band0_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(60), - "eq band 0 cutoff",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band1_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(200), - "eq band 1 cutoff",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band2_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(800), - "eq band 2 cutoff",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band3_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(4000), - "eq band 3 cutoff",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band4_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(12000), - "eq band 4 cutoff",NULL,UNUSED}, + INT_SETTING(0, eq_band0_cutoff, LANG_EQUALIZER_BAND_CUTOFF, 60, "eq band 0 cutoff", + UNIT_HERTZ, EQ_CUTOFF_MIN, EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, + NULL, NULL, NULL), + INT_SETTING(0, eq_band1_cutoff, LANG_EQUALIZER_BAND_CENTER, 200, "eq band 1 cutoff", + UNIT_HERTZ, EQ_CUTOFF_MIN, EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, + NULL, NULL, NULL), + INT_SETTING(0, eq_band2_cutoff, LANG_EQUALIZER_BAND_CENTER, 800, "eq band 2 cutoff", + UNIT_HERTZ, EQ_CUTOFF_MIN, EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, + NULL, NULL, NULL), + INT_SETTING(0, eq_band3_cutoff, LANG_EQUALIZER_BAND_CENTER, 4000, "eq band 3 cutoff", + UNIT_HERTZ, EQ_CUTOFF_MIN, EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, + NULL, NULL, NULL), + INT_SETTING(0, eq_band4_cutoff, LANG_EQUALIZER_BAND_CUTOFF, 12000, "eq band 4 cutoff", + UNIT_HERTZ, EQ_CUTOFF_MIN, EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, + NULL, NULL, NULL), /* 0..64 (or 0.0 to 6.4) */ - {F_T_INT,&global_settings.eq_band0_q,LANG_EQUALIZER_BAND_Q,INT(7), - "eq band 0 q",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band1_q,LANG_EQUALIZER_BAND_Q,INT(10), - "eq band 1 q",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band2_q,LANG_EQUALIZER_BAND_Q,INT(10), - "eq band 2 q",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band3_q,LANG_EQUALIZER_BAND_Q,INT(10), - "eq band 3 q",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band4_q,LANG_EQUALIZER_BAND_Q,INT(7), - "eq band 4 q",NULL,UNUSED}, + INT_SETTING(0, eq_band0_q, LANG_EQUALIZER_BAND_Q, 7, "eq band 0 q", + UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, + eq_q_format, NULL, NULL), + INT_SETTING(0, eq_band1_q, LANG_EQUALIZER_BAND_Q, 10, "eq band 1 q", + UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, + eq_q_format, NULL, NULL), + INT_SETTING(0, eq_band2_q, LANG_EQUALIZER_BAND_Q, 10, "eq band 2 q", + UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, + eq_q_format, NULL, NULL), + INT_SETTING(0, eq_band3_q, LANG_EQUALIZER_BAND_Q, 10, "eq band 3 q", + UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, + eq_q_format, NULL, NULL), + INT_SETTING(0, eq_band4_q, LANG_EQUALIZER_BAND_Q, 7, "eq band 4 q", + UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, + eq_q_format, NULL, NULL), /* -240..240 (or -24db to +24db) */ - {F_T_INT,&global_settings.eq_band0_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq band 0 gain",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band1_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq band 1 gain",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band2_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq band 2 gain",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band3_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq band 3 gain",NULL,UNUSED}, - {F_T_INT,&global_settings.eq_band4_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq band 4 gain",NULL,UNUSED}, + INT_SETTING(0, eq_band0_gain, LANG_EQUALIZER_BAND_GAIN, 0, "eq band 0 gain", + UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, EQ_GAIN_STEP, + eq_gain_format, NULL, NULL), + INT_SETTING(0, eq_band1_gain, LANG_EQUALIZER_BAND_GAIN, 0, "eq band 1 gain", + UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, EQ_GAIN_STEP, + eq_gain_format, NULL, NULL), + INT_SETTING(0, eq_band2_gain, LANG_EQUALIZER_BAND_GAIN, 0, "eq band 2 gain", + UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, EQ_GAIN_STEP, + eq_gain_format, NULL, NULL), + INT_SETTING(0, eq_band3_gain, LANG_EQUALIZER_BAND_GAIN, 0, "eq band 3 gain", + UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, EQ_GAIN_STEP, + eq_gain_format, NULL, NULL), + INT_SETTING(0, eq_band4_gain, LANG_EQUALIZER_BAND_GAIN, 0, "eq band 4 gain", + UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, EQ_GAIN_STEP, + eq_gain_format, NULL, NULL), /* dithering */ OFFON_SETTING(0, dithering_enabled, LANG_DITHERING, @@ -949,41 +966,57 @@ const struct settings_list settings[] = { OFFON_SETTING(0,eq_hw_enabled,LANG_EQUALIZER_HARDWARE_ENABLED,false, "eq hardware enabled",NULL), - {F_T_INT,&global_settings.eq_hw_band0_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(1), - "eq hardware band 0 cutoff", - "80Hz,105Hz,135Hz,175Hz",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band0_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq hardware band 0 gain",NULL,UNUSED}, + STRINGCHOICE_SETTING(0, eq_hw_band0_cutoff, LANG_EQUALIZER_BAND_CUTOFF, 1, + "eq hardware band 0 cutoff", "80Hz,105Hz,135Hz,175Hz", NULL, 4, + TALK_ID(80, UNIT_HERTZ), TALK_ID(105, UNIT_HERTZ), + TALK_ID(135, UNIT_HERTZ), TALK_ID(175, UNIT_HERTZ)), + INT_SETTING(0, eq_hw_band0_gain, LANG_EQUALIZER_BAND_GAIN, 0, + "eq hardware band 0 gain", UNIT_DB, EQ_HW_GAIN_MIN, + EQ_HW_GAIN_MAX, EQ_HW_GAIN_STEP, eq_hw_gain_format, NULL, NULL), - {F_T_INT,&global_settings.eq_hw_band1_center,LANG_EQUALIZER_BAND_CENTER,INT(1), - "eq hardware band 1 center", - "230Hz,300Hz,385Hz,500Hz",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band1_bandwidth,LANG_EQUALIZER_BANDWIDTH,INT(0), - "eq hardware band 1 bandwidth","narrow,wide",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band1_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq hardware band 1 gain",NULL,UNUSED}, + STRINGCHOICE_SETTING(0, eq_hw_band1_center, LANG_EQUALIZER_BAND_CENTER, 1, + "eq hardware band 1 center", "230Hz,300Hz,385Hz,500Hz", NULL, 4, + TALK_ID(230, UNIT_HERTZ), TALK_ID(300, UNIT_HERTZ), + TALK_ID(385, UNIT_HERTZ), TALK_ID(500, UNIT_HERTZ)), + CHOICE_SETTING(0, eq_hw_band1_bandwidth, LANG_EQUALIZER_BANDWIDTH, 0, + "eq hardware band 1 bandwidth", "narrow,wide", NULL, 2, + ID2P(LANG_EQUALIZER_HARDWARE_BANDWIDTH_NARROW), + ID2P(LANG_EQUALIZER_HARDWARE_BANDWIDTH_WIDE)), + INT_SETTING(0, eq_hw_band1_gain, LANG_EQUALIZER_BAND_GAIN, 0, + "eq hardware band 1 gain", UNIT_DB, EQ_HW_GAIN_MIN, + EQ_HW_GAIN_MAX, EQ_HW_GAIN_STEP, eq_hw_gain_format, NULL, NULL), - {F_T_INT,&global_settings.eq_hw_band2_center,LANG_EQUALIZER_BAND_CENTER,INT(1), - "eq hardware band 2 center", - "650Hz,850Hz,1.1kHz,1.4kHz",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band2_bandwidth,LANG_EQUALIZER_BANDWIDTH,INT(0), - "eq hardware band 2 bandwidth","narrow,wide",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band2_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq hardware band 2 gain",NULL,UNUSED}, + STRINGCHOICE_SETTING(0, eq_hw_band2_center, LANG_EQUALIZER_BAND_CENTER, 1, + "eq hardware band 2 center", "650Hz,850Hz,1.1kHz,1.4kHz", NULL, 4, + TALK_ID(650, UNIT_HERTZ), TALK_ID(850, UNIT_HERTZ), + TALK_ID(1100, UNIT_HERTZ), TALK_ID(1400, UNIT_HERTZ)), + CHOICE_SETTING(0, eq_hw_band2_bandwidth, LANG_EQUALIZER_BANDWIDTH, 0, + "eq hardware band 2 bandwidth", "narrow,wide", NULL, 2, + ID2P(LANG_EQUALIZER_HARDWARE_BANDWIDTH_NARROW), + ID2P(LANG_EQUALIZER_HARDWARE_BANDWIDTH_WIDE)), + INT_SETTING(0, eq_hw_band2_gain, LANG_EQUALIZER_BAND_GAIN, 0, + "eq hardware band 2 gain", UNIT_DB, EQ_HW_GAIN_MIN, + EQ_HW_GAIN_MAX, EQ_HW_GAIN_STEP, eq_hw_gain_format, NULL, NULL), - {F_T_INT,&global_settings.eq_hw_band3_center,LANG_EQUALIZER_BAND_CENTER,INT(1), - "eq hardware band 3 center", - "1.8kHz,2.4kHz,3.2kHz,4.1kHz",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band3_bandwidth,LANG_EQUALIZER_BANDWIDTH,INT(0), - "eq hardware band 3 bandwidth","narrow,wide",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band3_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq hardware band 3 gain",NULL,UNUSED}, + STRINGCHOICE_SETTING(0, eq_hw_band3_center, LANG_EQUALIZER_BAND_CENTER, 1, + "eq hardware band 3 center", "1.8kHz,2.4kHz,3.2kHz,4.1kHz", NULL, 4, + TALK_ID(1800, UNIT_HERTZ), TALK_ID(2400, UNIT_HERTZ), + TALK_ID(3200, UNIT_HERTZ), TALK_ID(4100, UNIT_HERTZ)), + CHOICE_SETTING(0, eq_hw_band3_bandwidth, LANG_EQUALIZER_BANDWIDTH, 0, + "eq hardware band 3 bandwidth", "narrow,wide", NULL, 2, + ID2P(LANG_EQUALIZER_HARDWARE_BANDWIDTH_NARROW), + ID2P(LANG_EQUALIZER_HARDWARE_BANDWIDTH_WIDE)), + INT_SETTING(0, eq_hw_band3_gain, LANG_EQUALIZER_BAND_GAIN, 0, + "eq hardware band 3 gain", UNIT_DB, EQ_HW_GAIN_MIN, + EQ_HW_GAIN_MAX, EQ_HW_GAIN_STEP, eq_hw_gain_format, NULL, NULL), - {F_T_INT,&global_settings.eq_hw_band4_cutoff,LANG_EQUALIZER_BAND_CUTOFF,INT(1), - "eq hardware band 4 cutoff", - "5.3kHz,6.9kHz,9kHz,11.7kHz",UNUSED}, - {F_T_INT,&global_settings.eq_hw_band4_gain,LANG_EQUALIZER_BAND_GAIN,INT(0), - "eq hardware band 4 gain",NULL,UNUSED}, + STRINGCHOICE_SETTING(0, eq_hw_band4_cutoff, LANG_EQUALIZER_BAND_CUTOFF, 1, + "eq hardware band 4 cutoff", "5.3kHz,6.9kHz,9kHz,11.7kHz", NULL, 4, + TALK_ID(5300, UNIT_HERTZ), TALK_ID(6900, UNIT_HERTZ), + TALK_ID(9000, UNIT_HERTZ), TALK_ID(11700, UNIT_HERTZ)), + INT_SETTING(0, eq_hw_band4_gain, LANG_EQUALIZER_BAND_GAIN, 0, + "eq hardware band 4 gain", UNIT_DB, EQ_HW_GAIN_MIN, + EQ_HW_GAIN_MAX, EQ_HW_GAIN_STEP, eq_hw_gain_format, NULL, NULL), #endif OFFON_SETTING(0,hold_lr_for_scroll_in_list,-1,true, -- cgit v1.2.3