mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
voice: splash_progress
Says "Loading x%" in previously unvoiced splash_progress Change-Id: I81780e3baf6ea8a8871a4433e1a733100b8cd5f6
This commit is contained in:
parent
a001d76afe
commit
c51ca1eeb5
5 changed files with 22 additions and 14 deletions
|
@ -36,7 +36,7 @@
|
||||||
#include "misc.h" /* get_current_activity */
|
#include "misc.h" /* get_current_activity */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static long progress_next_tick = 0;
|
static long progress_next_tick, talked_tick;
|
||||||
|
|
||||||
#define MAXLINES (LCD_HEIGHT/6)
|
#define MAXLINES (LCD_HEIGHT/6)
|
||||||
#define MAXBUFFER 512
|
#define MAXBUFFER 512
|
||||||
|
@ -247,6 +247,7 @@ void splashf(int ticks, const char *fmt, ...)
|
||||||
void splash_progress_set_delay(long delay_ticks)
|
void splash_progress_set_delay(long delay_ticks)
|
||||||
{
|
{
|
||||||
progress_next_tick = current_tick + delay_ticks;
|
progress_next_tick = current_tick + delay_ticks;
|
||||||
|
talked_tick = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* splash a progress meter */
|
/* splash a progress meter */
|
||||||
|
@ -266,6 +267,15 @@ void splash_progress(int current, int total, const char *fmt, ...)
|
||||||
vp_flag = 0; /* don't mark vp dirty to prevent flashing */
|
vp_flag = 0; /* don't mark vp dirty to prevent flashing */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (global_settings.talk_menu &&
|
||||||
|
total > 0 &&
|
||||||
|
TIME_AFTER(current_tick, talked_tick + HZ*5))
|
||||||
|
{
|
||||||
|
talked_tick = current_tick;
|
||||||
|
talk_ids(false, LANG_LOADING_PERCENT,
|
||||||
|
TALK_ID(current * 100 / total, UNIT_PERCENT));
|
||||||
|
}
|
||||||
|
|
||||||
/* If fmt is a lang ID then get the corresponding string (which
|
/* If fmt is a lang ID then get the corresponding string (which
|
||||||
still might contain % place holders). */
|
still might contain % place holders). */
|
||||||
fmt = P2STR((unsigned char *)fmt);
|
fmt = P2STR((unsigned char *)fmt);
|
||||||
|
|
|
@ -223,10 +223,9 @@ bool show_search_progress(bool init, int display_count, int current, int total)
|
||||||
if (TIME_AFTER(current_tick, last_tick + HZ/10))
|
if (TIME_AFTER(current_tick, last_tick + HZ/10))
|
||||||
{
|
{
|
||||||
if (total != current)
|
if (total != current)
|
||||||
{
|
/* (voiced) */
|
||||||
splash_progress(current, total, str(LANG_PLAYLIST_SEARCH_MSG),
|
splash_progress(current, total, str(LANG_PLAYLIST_SEARCH_MSG),
|
||||||
display_count, str(LANG_OFF_ABORT));
|
display_count, str(LANG_OFF_ABORT));
|
||||||
}
|
|
||||||
else
|
else
|
||||||
splashf(0, ID2P(LANG_PLAYLIST_SEARCH_MSG),
|
splashf(0, ID2P(LANG_PLAYLIST_SEARCH_MSG),
|
||||||
display_count, str(LANG_OFF_ABORT));
|
display_count, str(LANG_OFF_ABORT));
|
||||||
|
|
|
@ -420,22 +420,14 @@ static int pt_add_track(int i, enum ePT_SUM section, struct playing_time_info *p
|
||||||
{
|
{
|
||||||
struct mp3entry id3;
|
struct mp3entry id3;
|
||||||
struct playlist_track_info pl_track;
|
struct playlist_track_info pl_track;
|
||||||
static unsigned long talked_tick;
|
|
||||||
int progress_total = pti->remaining_only ?
|
int progress_total = pti->remaining_only ?
|
||||||
(pti->nb_tracks - pti->curr_display_index) + 1 :
|
(pti->nb_tracks - pti->curr_display_index) + 1 :
|
||||||
pti->nb_tracks;
|
pti->nb_tracks;
|
||||||
|
|
||||||
|
/* (voiced) */
|
||||||
rb->splash_progress(pti->counted, progress_total, "%s (%s)",
|
rb->splash_progress(pti->counted, progress_total, "%s (%s)",
|
||||||
rb->str(LANG_WAIT), rb->str(LANG_OFF_ABORT));
|
rb->str(LANG_WAIT), rb->str(LANG_OFF_ABORT));
|
||||||
|
|
||||||
if (rb->global_settings->talk_menu && TIME_AFTER(*rb->current_tick, talked_tick + HZ*5))
|
|
||||||
{
|
|
||||||
talked_tick = *rb->current_tick;
|
|
||||||
rb_talk_ids(false, LANG_LOADING_PERCENT,
|
|
||||||
TALK_ID(pti->counted * 100 / progress_total,
|
|
||||||
UNIT_PERCENT));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rb->action_userabort(TIMEOUT_NOBLOCK))
|
if (rb->action_userabort(TIMEOUT_NOBLOCK))
|
||||||
return -1;
|
return -1;
|
||||||
else if (rb->playlist_get_track_info(NULL, i, &pl_track) < 0
|
else if (rb->playlist_get_track_info(NULL, i, &pl_track) < 0
|
||||||
|
|
|
@ -238,6 +238,10 @@ static int browser(void* param)
|
||||||
}
|
}
|
||||||
if (stat->commit_step > 0)
|
if (stat->commit_step > 0)
|
||||||
{
|
{
|
||||||
|
/* (prevent redundant voicing by splash_progress */
|
||||||
|
bool tmp = global_settings.talk_menu;
|
||||||
|
global_settings.talk_menu = false;
|
||||||
|
|
||||||
if (lang_is_rtl())
|
if (lang_is_rtl())
|
||||||
{
|
{
|
||||||
splash_progress(stat->commit_step,
|
splash_progress(stat->commit_step,
|
||||||
|
@ -254,6 +258,7 @@ static int browser(void* param)
|
||||||
stat->commit_step,
|
stat->commit_step,
|
||||||
tagcache_get_max_commit_step());
|
tagcache_get_max_commit_step());
|
||||||
}
|
}
|
||||||
|
global_settings.talk_menu = tmp;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -2415,7 +2415,8 @@ static bool insert_all_playlist(struct tree_context *c,
|
||||||
{
|
{
|
||||||
if (TIME_AFTER(current_tick, last_tick + HZ/4))
|
if (TIME_AFTER(current_tick, last_tick + HZ/4))
|
||||||
{
|
{
|
||||||
splash_progress(i, n, "%s (%s)", str(LANG_WAIT), str(LANG_OFF_ABORT)); // XXX not voiced
|
/* (voiced) */
|
||||||
|
splash_progress(i, n, "%s (%s)", str(LANG_WAIT), str(LANG_OFF_ABORT));
|
||||||
if (action_userabort(TIMEOUT_NOBLOCK))
|
if (action_userabort(TIMEOUT_NOBLOCK))
|
||||||
{
|
{
|
||||||
exit_loop_now = true;
|
exit_loop_now = true;
|
||||||
|
@ -2593,7 +2594,8 @@ bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name))
|
||||||
n = tc->filesindir;
|
n = tc->filesindir;
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
splash_progress(i, n, "%s (%s)", str(LANG_WAIT), str(LANG_OFF_ABORT)); // XXX not voiced
|
/* (voiced) */
|
||||||
|
splash_progress(i, n, "%s (%s)", str(LANG_WAIT), str(LANG_OFF_ABORT));
|
||||||
if (TIME_AFTER(current_tick, last_tick + HZ/4))
|
if (TIME_AFTER(current_tick, last_tick + HZ/4))
|
||||||
{
|
{
|
||||||
if (action_userabort(TIMEOUT_NOBLOCK))
|
if (action_userabort(TIMEOUT_NOBLOCK))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue