From 5b76936a44de3c7ecd568300f26b5e6421901285 Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Mon, 6 Aug 2007 13:08:36 +0000 Subject: Accept FS#6159 'Add voice to roughly 100 splash screens and yes-no menus' by Stephane Doyon with some minor tweaks by me. Rerun 'configure' and do a 'make clean' before rebuilding your voice files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14213 a1c6a512-1295-4272-9138-f99709370657 --- apps/misc.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'apps/misc.c') diff --git a/apps/misc.c b/apps/misc.c index 83b0324ea3..bd42ca9e34 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -62,6 +62,7 @@ #include "bookmark.h" #include "misc.h" +#include "playback.h" #ifdef BOOTFILE #if !defined(USB_NONE) && !defined(USB_IPODSTYLE) @@ -603,6 +604,7 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) call_ata_idle_notifys(true); exit(0); #else + long msg_id = -1; int i; scrobbler_poweroff(); @@ -625,19 +627,23 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) if (!tagcache_prepare_shutdown()) { cancel_shutdown(); - gui_syncsplash(HZ, str(LANG_TAGCACHE_BUSY)); + gui_syncsplash(HZ, ID2P(LANG_TAGCACHE_BUSY)); return false; } #endif if (battery_level() > 10) gui_syncsplash(0, str(LANG_SHUTTINGDOWN)); else + { + msg_id = LANG_WARNING_BATTERY_LOW; gui_syncsplash(0, "%s %s", str(LANG_WARNING_BATTERY_LOW), str(LANG_SHUTTINGDOWN)); + } } else { + msg_id = LANG_WARNING_BATTERY_EMPTY; gui_syncsplash(0, "%s %s", str(LANG_WARNING_BATTERY_EMPTY), str(LANG_SHUTTINGDOWN)); @@ -675,6 +681,21 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) #if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC audio_close_recording(); #endif + + if(talk_menus_enabled()) + { + bool enqueue = false; + if(msg_id != -1) + { + talk_id(msg_id, enqueue); + enqueue = true; + } + talk_id(LANG_SHUTTINGDOWN, enqueue); +#if CONFIG_CODEC == SWCODEC + voice_wait(); +#endif + } + system_flush(); #ifdef HAVE_EEPROM_SETTINGS if (firmware_settings.initialized) @@ -974,8 +995,8 @@ void check_bootfile(bool do_rolo) if((entry->wrtdate != wrtdate) || (entry->wrttime != wrttime)) { - char *lines[] = { str(LANG_BOOT_CHANGED), - str(LANG_REBOOT_NOW) }; + char *lines[] = { ID2P(LANG_BOOT_CHANGED), + ID2P(LANG_REBOOT_NOW) }; struct text_message message={ lines, 2 }; button_clear_queue(); /* Empty the keyboard buffer */ if(gui_syncyesno_run(&message, NULL, NULL) == YESNO_YES) -- cgit v1.2.3