summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Doyon <s.doyon@videotron.ca>2008-07-15 13:21:08 +0000
committerStéphane Doyon <s.doyon@videotron.ca>2008-07-15 13:21:08 +0000
commitee206db6204c38a0be366a7765a16e248d795601 (patch)
tree43607c0881bc0a1de3c76dac173d507a8a46483d
parent3a74208d4e5a67d86c4b1b978ebf5ecfb0347a55 (diff)
downloadrockbox-ee206db6204c38a0be366a7765a16e248d795601.tar.gz
rockbox-ee206db6204c38a0be366a7765a16e248d795601.zip
rectrigger: voice the splashes, and say "off" when start/stop
threshold is 0, matching the displayed string. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18044 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/menus/recording_menu.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c
index ae58472942..c13edfa157 100644
--- a/apps/menus/recording_menu.c
+++ b/apps/menus/recording_menu.c
@@ -324,7 +324,7 @@ MENUITEM_SETTING(rec_prerecord_time, &global_settings.rec_prerecord_time, NULL);
324static int clear_rec_directory(void) 324static int clear_rec_directory(void)
325{ 325{
326 strcpy(global_settings.rec_directory, REC_BASE_DIR); 326 strcpy(global_settings.rec_directory, REC_BASE_DIR);
327 gui_syncsplash(HZ, str(LANG_RESET_DONE_CLEAR)); 327 gui_syncsplash(HZ, ID2P(LANG_RESET_DONE_CLEAR));
328 return false; 328 return false;
329} 329}
330MENUITEM_FUNCTION(clear_rec_directory_item, 0, ID2P(LANG_CLEAR_REC_DIR), 330MENUITEM_FUNCTION(clear_rec_directory_item, 0, ID2P(LANG_CLEAR_REC_DIR),
@@ -415,15 +415,24 @@ static char * trigger_get_name(int selected_item, void * data,
415 return option_get_valuestring(s, buffer, buffer_len, temp); 415 return option_get_valuestring(s, buffer, buffer_len, temp);
416 } 416 }
417} 417}
418static void trigger_speak_item(const struct settings_list *s, bool title) 418static void trigger_speak_item(const struct settings_list **settings,
419 int selected_setting, bool title)
419{ 420{
421 const struct settings_list *s = settings[selected_setting];
420 int temp; 422 int temp;
421 if (!global_settings.talk_menu) 423 if (!global_settings.talk_menu)
422 return; 424 return;
423 temp = option_value_as_int(s);
424 if (title) 425 if (title)
425 talk_id(s->lang_id, false); 426 talk_id(s->lang_id, false);
426 option_talk_value(s, temp, title?true:false); 427 temp = option_value_as_int(s);
428 if ((selected_setting == START_THRESHOLD ||
429 selected_setting == STOP_THRESHOLD) &&
430 temp == 0)
431 {
432 talk_id(LANG_OFF, title?true:false);
433 } else {
434 option_talk_value(s, temp, title?true:false);
435 }
427} 436}
428int rectrigger(void) 437int rectrigger(void)
429{ 438{
@@ -495,7 +504,7 @@ int rectrigger(void)
495 settings_apply_trigger(); 504 settings_apply_trigger();
496 peak_meter_trigger (global_settings.rec_trigger_mode != TRIG_MODE_OFF); 505 peak_meter_trigger (global_settings.rec_trigger_mode != TRIG_MODE_OFF);
497 506
498 trigger_speak_item(settings[0], true); 507 trigger_speak_item(settings, 0, true);
499 508
500 while (!done) 509 while (!done)
501 { 510 {
@@ -517,7 +526,7 @@ int rectrigger(void)
517 switch (action) 526 switch (action)
518 { 527 {
519 case ACTION_STD_CANCEL: 528 case ACTION_STD_CANCEL:
520 gui_syncsplash(HZ/2, str(LANG_CANCEL)); 529 gui_syncsplash(HZ/2, ID2P(LANG_CANCEL));
521 global_settings.rec_start_thres_db = old_start_thres_db; 530 global_settings.rec_start_thres_db = old_start_thres_db;
522 global_settings.rec_start_thres_linear = old_start_thres_linear; 531 global_settings.rec_start_thres_linear = old_start_thres_linear;
523 global_settings.rec_start_duration = old_start_duration; 532 global_settings.rec_start_duration = old_start_duration;
@@ -538,13 +547,13 @@ int rectrigger(void)
538 case ACTION_SETTINGS_DEC: 547 case ACTION_SETTINGS_DEC:
539 case ACTION_SETTINGS_DECREPEAT: 548 case ACTION_SETTINGS_DECREPEAT:
540 option_select_next_val(settings[i/2], true, false); 549 option_select_next_val(settings[i/2], true, false);
541 trigger_speak_item(settings[i/2], false); 550 trigger_speak_item(settings, i/2, false);
542 changed = true; 551 changed = true;
543 break; 552 break;
544 case ACTION_SETTINGS_INC: 553 case ACTION_SETTINGS_INC:
545 case ACTION_SETTINGS_INCREPEAT: 554 case ACTION_SETTINGS_INCREPEAT:
546 option_select_next_val(settings[i/2], false, false); 555 option_select_next_val(settings[i/2], false, false);
547 trigger_speak_item(settings[i/2], false); 556 trigger_speak_item(settings, i/2, false);
548 changed = true; 557 changed = true;
549 break; 558 break;
550 case ACTION_STD_PREV: 559 case ACTION_STD_PREV:
@@ -554,14 +563,14 @@ int rectrigger(void)
554 i = (TRIG_OPTION_COUNT*2) - 2; 563 i = (TRIG_OPTION_COUNT*2) - 2;
555 gui_synclist_select_item(&lists, i); 564 gui_synclist_select_item(&lists, i);
556 i = gui_synclist_get_sel_pos(&lists); 565 i = gui_synclist_get_sel_pos(&lists);
557 trigger_speak_item(settings[i/2], true); 566 trigger_speak_item(settings, i/2, true);
558 changed = true; 567 changed = true;
559 break; 568 break;
560 case ACTION_STD_NEXT: 569 case ACTION_STD_NEXT:
561 case ACTION_STD_NEXTREPEAT: 570 case ACTION_STD_NEXTREPEAT:
562 gui_synclist_select_item(&lists, (i+2) % (TRIG_OPTION_COUNT*2)); 571 gui_synclist_select_item(&lists, (i+2) % (TRIG_OPTION_COUNT*2));
563 i = gui_synclist_get_sel_pos(&lists); 572 i = gui_synclist_get_sel_pos(&lists);
564 trigger_speak_item(settings[i/2], true); 573 trigger_speak_item(settings, i/2, true);
565 changed = true; 574 changed = true;
566 break; 575 break;
567 } 576 }