diff options
Diffstat (limited to 'apps/sound_menu.c')
-rw-r--r-- | apps/sound_menu.c | 111 |
1 files changed, 59 insertions, 52 deletions
diff --git a/apps/sound_menu.c b/apps/sound_menu.c index 17f6eb5072..0001d8b2fe 100644 --- a/apps/sound_menu.c +++ b/apps/sound_menu.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #endif | 32 | #endif |
33 | #include "lang.h" | 33 | #include "lang.h" |
34 | #include "sprintf.h" | 34 | #include "sprintf.h" |
35 | #include "talk.h" | ||
35 | 36 | ||
36 | static char *fmt[] = | 37 | static char *fmt[] = |
37 | { | 38 | { |
@@ -53,11 +54,16 @@ bool set_sound(char* string, | |||
53 | int dec; | 54 | int dec; |
54 | char* unit; | 55 | char* unit; |
55 | char str[32]; | 56 | char str[32]; |
57 | int talkunit = UNIT_INT; | ||
56 | 58 | ||
57 | unit = mpeg_sound_unit(setting); | 59 | unit = mpeg_sound_unit(setting); |
58 | numdec = mpeg_sound_numdecimals(setting); | 60 | numdec = mpeg_sound_numdecimals(setting); |
59 | min = mpeg_sound_min(setting); | 61 | min = mpeg_sound_min(setting); |
60 | max = mpeg_sound_max(setting); | 62 | max = mpeg_sound_max(setting); |
63 | if (*unit == 'd') /* crude reconstruction */ | ||
64 | talkunit = UNIT_DB; | ||
65 | else if (*unit == '%') | ||
66 | talkunit = UNIT_PERCENT; | ||
61 | 67 | ||
62 | #ifdef HAVE_LCD_BITMAP | 68 | #ifdef HAVE_LCD_BITMAP |
63 | if(global_settings.statusbar) | 69 | if(global_settings.statusbar) |
@@ -81,6 +87,7 @@ bool set_sound(char* string, | |||
81 | { | 87 | { |
82 | snprintf(str,sizeof str,"%d %s ", val, unit); | 88 | snprintf(str,sizeof str,"%d %s ", val, unit); |
83 | } | 89 | } |
90 | talk_value(val, talkunit, false); /* speak it */ | ||
84 | } | 91 | } |
85 | lcd_puts(0,1,str); | 92 | lcd_puts(0,1,str); |
86 | status_draw(true); | 93 | status_draw(true); |
@@ -183,9 +190,9 @@ static bool avc(void) | |||
183 | { | 190 | { |
184 | struct opt_items names[] = { | 191 | struct opt_items names[] = { |
185 | { STR(LANG_OFF) }, | 192 | { STR(LANG_OFF) }, |
186 | { "2s", -1 }, | 193 | { "2s", TALK_ID(2, UNIT_SEC) }, |
187 | { "4s", -1 }, | 194 | { "4s", TALK_ID(4, UNIT_SEC) }, |
188 | { "8s", -1 } | 195 | { "8s", TALK_ID(8, UNIT_SEC) } |
189 | }; | 196 | }; |
190 | return set_option(str(LANG_DECAY), &global_settings.avc, INT, | 197 | return set_option(str(LANG_DECAY), &global_settings.avc, INT, |
191 | names, 4, set_avc); | 198 | names, 4, set_avc); |
@@ -206,12 +213,12 @@ static bool recsource(void) | |||
206 | static bool recfrequency(void) | 213 | static bool recfrequency(void) |
207 | { | 214 | { |
208 | struct opt_items names[] = { | 215 | struct opt_items names[] = { |
209 | { "44.1kHz", -1 }, | 216 | { "44.1kHz", TALK_ID(44, UNIT_KHZ) }, |
210 | { "48kHz", -1 }, | 217 | { "48kHz", TALK_ID(48, UNIT_KHZ) }, |
211 | { "32kHz", -1 }, | 218 | { "32kHz", TALK_ID(32, UNIT_KHZ) }, |
212 | { "22.05kHz", -1 }, | 219 | { "22.05kHz", TALK_ID(22, UNIT_KHZ) }, |
213 | { "24kHz", -1 }, | 220 | { "24kHz", TALK_ID(24, UNIT_KHZ) }, |
214 | { "16kHz", -1 } | 221 | { "16kHz", TALK_ID(16, UNIT_KHZ) } |
215 | }; | 222 | }; |
216 | return set_option(str(LANG_RECORDING_FREQUENCY), | 223 | return set_option(str(LANG_RECORDING_FREQUENCY), |
217 | &global_settings.rec_frequency, INT, | 224 | &global_settings.rec_frequency, INT, |
@@ -246,19 +253,19 @@ static bool rectimesplit(void) | |||
246 | { | 253 | { |
247 | struct opt_items names[] = { | 254 | struct opt_items names[] = { |
248 | { STR(LANG_OFF) }, | 255 | { STR(LANG_OFF) }, |
249 | { "00:05" , -1 }, | 256 | { "00:05" , TALK_ID(5, UNIT_MIN) }, |
250 | { "00:10" , -1 }, | 257 | { "00:10" , TALK_ID(10, UNIT_MIN) }, |
251 | { "00:15" , -1 }, | 258 | { "00:15" , TALK_ID(15, UNIT_MIN) }, |
252 | { "00:30" , -1 }, | 259 | { "00:30" , TALK_ID(30, UNIT_MIN) }, |
253 | { "01:00" , -1 }, | 260 | { "01:00" , TALK_ID(1, UNIT_HOUR) }, |
254 | { "02:00" , -1 }, | 261 | { "02:00" , TALK_ID(2, UNIT_HOUR) }, |
255 | { "04:00" , -1 }, | 262 | { "04:00" , TALK_ID(4, UNIT_HOUR) }, |
256 | { "06:00" , -1 }, | 263 | { "06:00" , TALK_ID(6, UNIT_HOUR) }, |
257 | { "08:00" , -1 }, | 264 | { "08:00" , TALK_ID(8, UNIT_HOUR) }, |
258 | { "10:00" , -1 }, | 265 | { "10:00" , TALK_ID(10, UNIT_HOUR) }, |
259 | { "12:00" , -1 }, | 266 | { "12:00" , TALK_ID(12, UNIT_HOUR) }, |
260 | { "18:00" , -1 }, | 267 | { "18:00" , TALK_ID(18, UNIT_HOUR) }, |
261 | { "24:00" , -1 } | 268 | { "24:00" , TALK_ID(24, UNIT_HOUR) } |
262 | }; | 269 | }; |
263 | return set_option(str(LANG_RECORD_TIMESPLIT), | 270 | return set_option(str(LANG_RECORD_TIMESPLIT), |
264 | &global_settings.rec_timesplit, INT, | 271 | &global_settings.rec_timesplit, INT, |
@@ -269,36 +276,36 @@ static bool recprerecord(void) | |||
269 | { | 276 | { |
270 | struct opt_items names[] = { | 277 | struct opt_items names[] = { |
271 | { STR(LANG_OFF) }, | 278 | { STR(LANG_OFF) }, |
272 | { "1s", -1 }, | 279 | { "1s", TALK_ID(1, UNIT_SEC) }, |
273 | { "2s", -1 }, | 280 | { "2s", TALK_ID(2, UNIT_SEC) }, |
274 | { "3s", -1 }, | 281 | { "3s", TALK_ID(3, UNIT_SEC) }, |
275 | { "4s", -1 }, | 282 | { "4s", TALK_ID(4, UNIT_SEC) }, |
276 | { "5s", -1 }, | 283 | { "5s", TALK_ID(5, UNIT_SEC) }, |
277 | { "6s", -1 }, | 284 | { "6s", TALK_ID(6, UNIT_SEC) }, |
278 | { "7s", -1 }, | 285 | { "7s", TALK_ID(7, UNIT_SEC) }, |
279 | { "8s", -1 }, | 286 | { "8s", TALK_ID(8, UNIT_SEC) }, |
280 | { "9s", -1 }, | 287 | { "9s", TALK_ID(9, UNIT_SEC) }, |
281 | { "10s", -1 }, | 288 | { "10s", TALK_ID(10, UNIT_SEC) }, |
282 | { "11s", -1 }, | 289 | { "11s", TALK_ID(11, UNIT_SEC) }, |
283 | { "12s", -1 }, | 290 | { "12s", TALK_ID(12, UNIT_SEC) }, |
284 | { "13s", -1 }, | 291 | { "13s", TALK_ID(13, UNIT_SEC) }, |
285 | { "14s", -1 }, | 292 | { "14s", TALK_ID(14, UNIT_SEC) }, |
286 | { "15s", -1 }, | 293 | { "15s", TALK_ID(15, UNIT_SEC) }, |
287 | { "16s", -1 }, | 294 | { "16s", TALK_ID(16, UNIT_SEC) }, |
288 | { "17s", -1 }, | 295 | { "17s", TALK_ID(17, UNIT_SEC) }, |
289 | { "18s", -1 }, | 296 | { "18s", TALK_ID(18, UNIT_SEC) }, |
290 | { "19s", -1 }, | 297 | { "19s", TALK_ID(19, UNIT_SEC) }, |
291 | { "10s", -1 }, | 298 | { "20s", TALK_ID(20, UNIT_SEC) }, |
292 | { "21s", -1 }, | 299 | { "21s", TALK_ID(21, UNIT_SEC) }, |
293 | { "22s", -1 }, | 300 | { "22s", TALK_ID(22, UNIT_SEC) }, |
294 | { "23s", -1 }, | 301 | { "23s", TALK_ID(23, UNIT_SEC) }, |
295 | { "24s", -1 }, | 302 | { "24s", TALK_ID(24, UNIT_SEC) }, |
296 | { "25s", -1 }, | 303 | { "25s", TALK_ID(25, UNIT_SEC) }, |
297 | { "26s", -1 }, | 304 | { "26s", TALK_ID(26, UNIT_SEC) }, |
298 | { "27s", -1 }, | 305 | { "27s", TALK_ID(27, UNIT_SEC) }, |
299 | { "28s", -1 }, | 306 | { "28s", TALK_ID(28, UNIT_SEC) }, |
300 | { "29s", -1 }, | 307 | { "29s", TALK_ID(29, UNIT_SEC) }, |
301 | { "30s", -1 } | 308 | { "30s", TALK_ID(30, UNIT_SEC) } |
302 | }; | 309 | }; |
303 | return set_option(str(LANG_RECORD_PRERECORD_TIME), | 310 | return set_option(str(LANG_RECORD_PRERECORD_TIME), |
304 | &global_settings.rec_prerecord_time, INT, | 311 | &global_settings.rec_prerecord_time, INT, |