summaryrefslogtreecommitdiff
path: root/apps/sound_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/sound_menu.c')
-rw-r--r--apps/sound_menu.c111
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
36static char *fmt[] = 37static 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)
206static bool recfrequency(void) 213static 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,