Index: rockbox-devel/apps/eq_menu.c =================================================================== --- rockbox-devel.orig/apps/eq_menu.c +++ rockbox-devel/apps/eq_menu.c @@ -308,24 +308,16 @@ static bool eq_set_band4(void) static bool eq_advanced_menu(void) { - int m, i; + int m; bool result; - char peak_band_label[3][32]; static struct menu_item items[] = { { ID2P(LANG_EQUALIZER_BAND_LOW_SHELF), eq_set_band0 }, - { NULL, eq_set_band1 }, - { NULL, eq_set_band2 }, - { NULL, eq_set_band3 }, + { ID2P(LANG_EQUALIZER_BAND_PEAK1), eq_set_band1 }, + { ID2P(LANG_EQUALIZER_BAND_PEAK2), eq_set_band2 }, + { ID2P(LANG_EQUALIZER_BAND_PEAK3), eq_set_band3 }, { ID2P(LANG_EQUALIZER_BAND_HIGH_SHELF), eq_set_band4 }, }; - /* Construct menu labels */ - for(i = 1; i < 4; i++) { - snprintf(peak_band_label[i-1], sizeof(peak_band_label[i-1]), - str(LANG_EQUALIZER_BAND_PEAK), i); - items[i].desc = peak_band_label[i-1]; - } - m = menu_init( items, sizeof(items) / sizeof(*items), NULL, NULL, NULL, NULL); result = menu_run(m); Index: rockbox-devel/apps/onplay.c =================================================================== --- rockbox-devel.orig/apps/onplay.c +++ rockbox-devel/apps/onplay.c @@ -167,12 +167,12 @@ static bool add_to_playlist(int position { bool new_playlist = !(audio_status() & AUDIO_STATUS_PLAY); char *lines[] = { - (char *)str(LANG_RECURSE_DIRECTORY_QUESTION), + ID2P(LANG_RECURSE_DIRECTORY_QUESTION), selected_file }; struct text_message message={lines, 2}; - gui_syncsplash(0, true, str(LANG_WAIT)); + gui_syncsplash(0, true, ID2P(LANG_WAIT)); if (new_playlist) playlist_create(NULL, NULL); @@ -450,11 +450,11 @@ static int remove_dir(char* dirname, int static bool delete_handler(bool is_dir) { char *lines[]={ - (char *)str(LANG_REALLY_DELETE), + ID2P(LANG_REALLY_DELETE), selected_file }; char *yes_lines[]={ - (char *)str(LANG_DELETED), + ID2P(LANG_DELETED), selected_file }; @@ -518,6 +518,7 @@ static bool rename_file(void) lcd_puts(0,0,str(LANG_RENAME)); lcd_puts(0,1,str(LANG_FAILED)); lcd_update(); + cond_talk_ids(LANG_RENAME, LANG_FAILED); sleep(HZ*2); } else @@ -547,6 +548,7 @@ bool create_dir(void) rc = mkdir(dirname, 0); if (rc < 0) { + cond_talk_ids(LANG_CREATE_DIR, LANG_FAILED); gui_syncsplash(HZ, true, (unsigned char *)"%s %s", str(LANG_CREATE_DIR), str(LANG_FAILED)); } else { @@ -805,6 +807,7 @@ static bool clipboard_paste(void) /* Force reload of the current directory */ onplay_result = ONPLAY_RELOAD_DIR; } else { + cond_talk_ids(LANG_PASTE, LANG_FAILED); gui_syncsplash(HZ, true, (unsigned char *)"%s %s", str(LANG_PASTE), str(LANG_FAILED)); } Index: rockbox-devel/apps/playlist.c =================================================================== --- rockbox-devel.orig/apps/playlist.c +++ rockbox-devel/apps/playlist.c @@ -286,6 +286,7 @@ static void create_control(struct playli { if (check_rockboxdir()) { + cond_talk_ids(LANG_PLAYLIST_CONTROL_ACCESS_ERROR); gui_syncsplash(HZ*2, true, (unsigned char *)"%s (%d)", str(LANG_PLAYLIST_CONTROL_ACCESS_ERROR), playlist->control_fd); @@ -478,6 +479,7 @@ static int add_indices_to_playlist(struc lcd_setmargins(0, 0); #endif + cond_talk_ids(LANG_WAIT); gui_syncsplash(0, true, str(LANG_PLAYLIST_LOAD)); if (!buffer) @@ -2272,6 +2274,7 @@ int playlist_shuffle(int random_seed, in start_current = true; } + cond_talk_ids(LANG_WAIT); gui_syncsplash(0, true, str(LANG_PLAYLIST_SHUFFLE)); randomise_playlist(playlist, random_seed, start_current, true); Index: rockbox-devel/apps/playlist_catalog.c =================================================================== --- rockbox-devel.orig/apps/playlist_catalog.c +++ rockbox-devel/apps/playlist_catalog.c @@ -403,7 +403,7 @@ static int add_to_playlist(const char* p /* search directory for tracks and append to playlist */ bool recurse = false; char *lines[] = { - (char *)str(LANG_RECURSE_DIRECTORY_QUESTION), + ID2P(LANG_RECURSE_DIRECTORY_QUESTION), sel }; struct text_message message={lines, 2}; Index: rockbox-devel/apps/settings.c =================================================================== --- rockbox-devel.orig/apps/settings.c +++ rockbox-devel/apps/settings.c @@ -1036,6 +1036,7 @@ int settings_save( void ) lcd_remote_update(); #endif #endif + cond_talk_ids(LANG_SETTINGS_SAVE_RECORDER); sleep(HZ*2); return -1; } Index: rockbox-devel/apps/dbtree.c =================================================================== --- rockbox-devel.orig/apps/dbtree.c +++ rockbox-devel/apps/dbtree.c @@ -131,11 +131,16 @@ int db_load(struct tree_context* c) i = db_search(c, searchstring); c->dirlength = c->filesindir = i; if (c->dirfull) { - gui_syncsplash(HZ, true, str(LANG_SHOWDIR_BUFFER_FULL)); + gui_syncsplash(HZ, true, ID2P(LANG_SHOWDIR_BUFFER_FULL)); c->dirfull = false; } - else + else{ + if (global_settings.talk_menu) { + talk_number(i, false); + talk_id(LANG_ID3DB_MATCHES, true); + } gui_syncsplash(HZ, true, str(LANG_ID3DB_MATCHES), i); + } return i; case allsongs: Index: rockbox-devel/apps/playlist_viewer.c =================================================================== --- rockbox-devel.orig/apps/playlist_viewer.c +++ rockbox-devel/apps/playlist_viewer.c @@ -633,6 +633,7 @@ bool playlist_viewer_ex(char* filename) if (!viewer.playlist && !(audio_status() & AUDIO_STATUS_PLAY)) { /* Play has stopped */ + cond_talk_ids(LANG_END_PLAYLIST_RECORDER); #ifdef HAVE_LCD_CHARCELLS gui_syncsplash(HZ, true, str(LANG_END_PLAYLIST_PLAYER)); #else Index: rockbox-devel/apps/settings_menu.c =================================================================== --- rockbox-devel.orig/apps/settings_menu.c +++ rockbox-devel/apps/settings_menu.c @@ -1790,12 +1790,12 @@ static bool bookmark_settings_menu(void) } static bool reset_settings(void) { - unsigned char *lines[]={str(LANG_RESET_ASK_RECORDER)}; + unsigned char *lines[]={ID2P(LANG_RESET_ASK_RECORDER)}; unsigned char *yes_lines[]={ str(LANG_RESET_DONE_SETTING), - str(LANG_RESET_DONE_CLEAR) + ID2P(LANG_RESET_DONE_CLEAR) }; - unsigned char *no_lines[]={yes_lines[0], str(LANG_RESET_DONE_CANCEL)}; + unsigned char *no_lines[]={yes_lines[0], ID2P(LANG_RESET_DONE_CANCEL)}; struct text_message message={(char **)lines, 1}; struct text_message yes_message={(char **)yes_lines, 2}; struct text_message no_message={(char **)no_lines, 2}; Index: rockbox-devel/apps/bookmark.c =================================================================== --- rockbox-devel.orig/apps/bookmark.c +++ rockbox-devel/apps/bookmark.c @@ -211,10 +211,10 @@ bool bookmark_autobookmark(void) return write_bookmark(false); } #ifdef HAVE_LCD_BITMAP - unsigned char *lines[]={str(LANG_AUTO_BOOKMARK_QUERY)}; + unsigned char *lines[]={ID2P(LANG_AUTO_BOOKMARK_QUERY)}; struct text_message message={(char **)lines, 1}; #else - unsigned char *lines[]={str(LANG_AUTO_BOOKMARK_QUERY), + unsigned char *lines[]={ID2P(LANG_AUTO_BOOKMARK_QUERY), str(LANG_RESUME_CONFIRM_PLAYER)}; struct text_message message={(char **)lines, 2}; #endif