diff options
Diffstat (limited to 'apps/menus')
-rw-r--r-- | apps/menus/eq_menu.c | 72 |
1 files changed, 48 insertions, 24 deletions
diff --git a/apps/menus/eq_menu.c b/apps/menus/eq_menu.c index 7cb88065f5..4dd8c06c65 100644 --- a/apps/menus/eq_menu.c +++ b/apps/menus/eq_menu.c | |||
@@ -118,6 +118,14 @@ char* gainitem_get_name(int selected_item, void * data, char *buffer) | |||
118 | snprintf(buffer, MAX_PATH, str(LANG_EQUALIZER_GAIN_ITEM), *setting); | 118 | snprintf(buffer, MAX_PATH, str(LANG_EQUALIZER_GAIN_ITEM), *setting); |
119 | return buffer; | 119 | return buffer; |
120 | } | 120 | } |
121 | int gainitem_speak_item(int selected_item, void * data) | ||
122 | { | ||
123 | (void)selected_item; | ||
124 | int *setting = (int*)data; | ||
125 | talk_number(*setting, false); | ||
126 | talk_id(LANG_EQUALIZER_GAIN_ITEM, true); | ||
127 | return 0; | ||
128 | } | ||
121 | 129 | ||
122 | int do_option(void* param) | 130 | int do_option(void* param) |
123 | { | 131 | { |
@@ -145,21 +153,26 @@ MENUITEM_SETTING(gain_2, &global_settings.eq_band2_gain, dsp_set_coefs_callback) | |||
145 | MENUITEM_SETTING(gain_3, &global_settings.eq_band3_gain, dsp_set_coefs_callback); | 153 | MENUITEM_SETTING(gain_3, &global_settings.eq_band3_gain, dsp_set_coefs_callback); |
146 | MENUITEM_SETTING(gain_4, &global_settings.eq_band4_gain, dsp_set_coefs_callback); | 154 | MENUITEM_SETTING(gain_4, &global_settings.eq_band4_gain, dsp_set_coefs_callback); |
147 | 155 | ||
148 | MENUITEM_FUNCTION_DYNTEXT(gain_item_0, MENU_FUNC_USEPARAM, do_option, | 156 | MENUITEM_FUNCTION_DYNTEXT(gain_item_0, MENU_FUNC_USEPARAM, |
149 | (void*)&gain_0, gainitem_get_name, NULL, &global_settings.eq_band0_cutoff, | 157 | do_option, (void*)&gain_0, |
150 | NULL, Icon_NOICON); | 158 | gainitem_get_name, gainitem_speak_item, |
151 | MENUITEM_FUNCTION_DYNTEXT(gain_item_1, MENU_FUNC_USEPARAM, do_option, | 159 | &global_settings.eq_band0_cutoff, NULL, Icon_NOICON); |
152 | (void*)&gain_1, gainitem_get_name, NULL, &global_settings.eq_band1_cutoff, | 160 | MENUITEM_FUNCTION_DYNTEXT(gain_item_1, MENU_FUNC_USEPARAM, |
153 | NULL, Icon_NOICON); | 161 | do_option, (void*)&gain_1, |
154 | MENUITEM_FUNCTION_DYNTEXT(gain_item_2, MENU_FUNC_USEPARAM, do_option, | 162 | gainitem_get_name, gainitem_speak_item, |
155 | (void*)&gain_2, gainitem_get_name, NULL, &global_settings.eq_band2_cutoff, | 163 | &global_settings.eq_band1_cutoff, NULL, Icon_NOICON); |
156 | NULL, Icon_NOICON); | 164 | MENUITEM_FUNCTION_DYNTEXT(gain_item_2, MENU_FUNC_USEPARAM, |
157 | MENUITEM_FUNCTION_DYNTEXT(gain_item_3, MENU_FUNC_USEPARAM, do_option, | 165 | do_option, (void*)&gain_2, |
158 | (void*)&gain_3, gainitem_get_name, NULL, &global_settings.eq_band3_cutoff, | 166 | gainitem_get_name, gainitem_speak_item, |
159 | NULL, Icon_NOICON); | 167 | &global_settings.eq_band2_cutoff, NULL, Icon_NOICON); |
160 | MENUITEM_FUNCTION_DYNTEXT(gain_item_4, MENU_FUNC_USEPARAM, do_option, | 168 | MENUITEM_FUNCTION_DYNTEXT(gain_item_3, MENU_FUNC_USEPARAM, |
161 | (void*)&gain_4, gainitem_get_name, NULL, &global_settings.eq_band4_cutoff, | 169 | do_option, (void*)&gain_3, |
162 | NULL, Icon_NOICON); | 170 | gainitem_get_name, gainitem_speak_item, |
171 | &global_settings.eq_band3_cutoff, NULL, Icon_NOICON); | ||
172 | MENUITEM_FUNCTION_DYNTEXT(gain_item_4, MENU_FUNC_USEPARAM, | ||
173 | do_option, (void*)&gain_4, | ||
174 | gainitem_get_name, gainitem_speak_item, | ||
175 | &global_settings.eq_band4_cutoff, NULL, Icon_NOICON); | ||
163 | 176 | ||
164 | MAKE_MENU(gain_menu, ID2P(LANG_EQUALIZER_GAIN), NULL, Icon_NOICON, &gain_item_0, | 177 | MAKE_MENU(gain_menu, ID2P(LANG_EQUALIZER_GAIN), NULL, Icon_NOICON, &gain_item_0, |
165 | &gain_item_1, &gain_item_2, &gain_item_3, &gain_item_4); | 178 | &gain_item_1, &gain_item_2, &gain_item_3, &gain_item_4); |
@@ -176,6 +189,14 @@ char* centerband_get_name(int selected_item, void * data, char *buffer) | |||
176 | snprintf(buffer, MAX_PATH, str(LANG_EQUALIZER_BAND_PEAK), band); | 189 | snprintf(buffer, MAX_PATH, str(LANG_EQUALIZER_BAND_PEAK), band); |
177 | return buffer; | 190 | return buffer; |
178 | } | 191 | } |
192 | int centerband_speak_item(int selected_item, void * data) | ||
193 | { | ||
194 | (void)selected_item; | ||
195 | int band = (intptr_t)data; | ||
196 | talk_id(LANG_EQUALIZER_BAND_PEAK, false); | ||
197 | talk_number(band, true); | ||
198 | return 0; | ||
199 | } | ||
179 | int do_center_band_menu(void* param) | 200 | int do_center_band_menu(void* param) |
180 | { | 201 | { |
181 | int band = (intptr_t)param; | 202 | int band = (intptr_t)param; |
@@ -196,14 +217,17 @@ int do_center_band_menu(void* param) | |||
196 | MAKE_MENU(band_0_menu, ID2P(LANG_EQUALIZER_BAND_LOW_SHELF), NULL, | 217 | MAKE_MENU(band_0_menu, ID2P(LANG_EQUALIZER_BAND_LOW_SHELF), NULL, |
197 | Icon_EQ, &cutoff_0, &q_0, &gain_0); | 218 | Icon_EQ, &cutoff_0, &q_0, &gain_0); |
198 | MENUITEM_FUNCTION_DYNTEXT(band_1_menu, MENU_FUNC_USEPARAM, | 219 | MENUITEM_FUNCTION_DYNTEXT(band_1_menu, MENU_FUNC_USEPARAM, |
199 | do_center_band_menu, (void*)1, | 220 | do_center_band_menu, (void*)1, |
200 | centerband_get_name, NULL, (void*)1, NULL, Icon_EQ); | 221 | centerband_get_name, centerband_speak_item, |
222 | (void*)1, NULL, Icon_EQ); | ||
201 | MENUITEM_FUNCTION_DYNTEXT(band_2_menu, MENU_FUNC_USEPARAM, | 223 | MENUITEM_FUNCTION_DYNTEXT(band_2_menu, MENU_FUNC_USEPARAM, |
202 | do_center_band_menu, (void*)2, | 224 | do_center_band_menu, (void*)2, |
203 | centerband_get_name, NULL, (void*)2, NULL, Icon_EQ); | 225 | centerband_get_name, centerband_speak_item, |
226 | (void*)2, NULL, Icon_EQ); | ||
204 | MENUITEM_FUNCTION_DYNTEXT(band_3_menu, MENU_FUNC_USEPARAM, | 227 | MENUITEM_FUNCTION_DYNTEXT(band_3_menu, MENU_FUNC_USEPARAM, |
205 | do_center_band_menu, (void*)3, | 228 | do_center_band_menu, (void*)3, |
206 | centerband_get_name, NULL, (void*)3, NULL, Icon_EQ); | 229 | centerband_get_name, centerband_speak_item, |
230 | (void*)3, NULL, Icon_EQ); | ||
207 | MAKE_MENU(band_4_menu, ID2P(LANG_EQUALIZER_BAND_HIGH_SHELF), NULL, | 231 | MAKE_MENU(band_4_menu, ID2P(LANG_EQUALIZER_BAND_HIGH_SHELF), NULL, |
208 | Icon_EQ, &cutoff_4, &q_4, &gain_4); | 232 | Icon_EQ, &cutoff_4, &q_4, &gain_4); |
209 | 233 | ||
@@ -594,12 +618,12 @@ static bool eq_save_preset(void) | |||
594 | if (!kbd_input(filename, sizeof filename)) { | 618 | if (!kbd_input(filename, sizeof filename)) { |
595 | fd = creat(filename); | 619 | fd = creat(filename); |
596 | if (fd < 0) | 620 | if (fd < 0) |
597 | gui_syncsplash(HZ, str(LANG_FAILED)); | 621 | gui_syncsplash(HZ, ID2P(LANG_FAILED)); |
598 | else | 622 | else |
599 | break; | 623 | break; |
600 | } | 624 | } |
601 | else { | 625 | else { |
602 | gui_syncsplash(HZ, str(LANG_CANCEL)); | 626 | gui_syncsplash(HZ, ID2P(LANG_CANCEL)); |
603 | return false; | 627 | return false; |
604 | } | 628 | } |
605 | } | 629 | } |
@@ -618,7 +642,7 @@ static bool eq_save_preset(void) | |||
618 | 642 | ||
619 | close(fd); | 643 | close(fd); |
620 | 644 | ||
621 | gui_syncsplash(HZ, str(LANG_SETTINGS_SAVED)); | 645 | gui_syncsplash(HZ, ID2P(LANG_SETTINGS_SAVED)); |
622 | 646 | ||
623 | return true; | 647 | return true; |
624 | } | 648 | } |