mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-10 05:35:20 -05:00
Better UI response with playlist operations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10544 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9d2929b79b
commit
54ec1f5f6d
5 changed files with 46 additions and 4 deletions
|
|
@ -9534,3 +9534,17 @@
|
||||||
*: "Split Filesize"
|
*: "Split Filesize"
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_LOADING_PERCENT
|
||||||
|
desc: splash number of percents loaded
|
||||||
|
user:
|
||||||
|
<source>
|
||||||
|
*: "Loading... %d%% done (%s)"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Loading... %d%% done (%s)"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: ""
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
|
|
||||||
|
|
@ -172,6 +172,8 @@ static bool add_to_playlist(int position, bool queue)
|
||||||
};
|
};
|
||||||
struct text_message message={lines, 2};
|
struct text_message message={lines, 2};
|
||||||
|
|
||||||
|
gui_syncsplash(0, true, str(LANG_WAIT));
|
||||||
|
|
||||||
if (new_playlist)
|
if (new_playlist)
|
||||||
playlist_create(NULL, NULL);
|
playlist_create(NULL, NULL);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1873,9 +1873,30 @@ int playlist_resume(void)
|
||||||
char *str1 = NULL;
|
char *str1 = NULL;
|
||||||
char *str2 = NULL;
|
char *str2 = NULL;
|
||||||
char *str3 = NULL;
|
char *str3 = NULL;
|
||||||
|
unsigned long last_tick = current_tick;
|
||||||
|
|
||||||
for(count=0; count<nread && !exit_loop; count++,p++)
|
for(count=0; count<nread && !exit_loop; count++,p++)
|
||||||
{
|
{
|
||||||
|
/* So a splash while we are loading. */
|
||||||
|
if (current_tick - last_tick > HZ/4)
|
||||||
|
{
|
||||||
|
gui_syncsplash(0, true, str(LANG_LOADING_PERCENT),
|
||||||
|
(total_read+count)*100/control_file_size,
|
||||||
|
#if CONFIG_KEYPAD == PLAYER_PAD
|
||||||
|
str(LANG_STOP_ABORT)
|
||||||
|
#else
|
||||||
|
str(LANG_OFF_ABORT)
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
if (SETTINGS_CANCEL == button_get(false))
|
||||||
|
{
|
||||||
|
/* FIXME:
|
||||||
|
* Not sure how to implement this, somebody more familiar
|
||||||
|
* with the code, please fix this. */
|
||||||
|
}
|
||||||
|
last_tick = current_tick;
|
||||||
|
}
|
||||||
|
|
||||||
/* Are we on a new line? */
|
/* Are we on a new line? */
|
||||||
if((*p == '\n') || (*p == '\r'))
|
if((*p == '\n') || (*p == '\r'))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2657,6 +2657,7 @@ bool tagcache_create_changelog(struct tagcache_search *tcs)
|
||||||
}
|
}
|
||||||
|
|
||||||
write(clfd, "\n", 1);
|
write(clfd, "\n", 1);
|
||||||
|
yield();
|
||||||
}
|
}
|
||||||
|
|
||||||
close(clfd);
|
close(clfd);
|
||||||
|
|
|
||||||
|
|
@ -526,7 +526,7 @@ bool show_search_progress(bool init, int count)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current_tick - last_tick > HZ/2)
|
if (current_tick - last_tick > HZ/4)
|
||||||
{
|
{
|
||||||
gui_syncsplash(0, true, str(LANG_PLAYLIST_SEARCH_MSG), count,
|
gui_syncsplash(0, true, str(LANG_PLAYLIST_SEARCH_MSG), count,
|
||||||
#if CONFIG_KEYPAD == PLAYER_PAD
|
#if CONFIG_KEYPAD == PLAYER_PAD
|
||||||
|
|
@ -538,6 +538,7 @@ bool show_search_progress(bool init, int count)
|
||||||
if (SETTINGS_CANCEL == button_get(false))
|
if (SETTINGS_CANCEL == button_get(false))
|
||||||
return false;
|
return false;
|
||||||
last_tick = current_tick;
|
last_tick = current_tick;
|
||||||
|
yield();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -993,6 +994,8 @@ bool insert_all_playlist(struct tree_context *c, int position, bool queue)
|
||||||
|
|
||||||
if (playlist_insert_track(NULL, buf, position, queue, false) < 0)
|
if (playlist_insert_track(NULL, buf, position, queue, false) < 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
yield();
|
||||||
}
|
}
|
||||||
playlist_sync(NULL);
|
playlist_sync(NULL);
|
||||||
tagcache_search_finish(&tcs);
|
tagcache_search_finish(&tcs);
|
||||||
|
|
@ -1007,6 +1010,9 @@ bool tagtree_insert_selection_playlist(int position, bool queue)
|
||||||
char buf[MAX_PATH];
|
char buf[MAX_PATH];
|
||||||
int dirlevel = tc->dirlevel;
|
int dirlevel = tc->dirlevel;
|
||||||
|
|
||||||
|
/* We need to set the table to allsubentries. */
|
||||||
|
show_search_progress(true, 0);
|
||||||
|
|
||||||
dptr = tagtree_get_entry(tc, tc->selected_item);
|
dptr = tagtree_get_entry(tc, tc->selected_item);
|
||||||
|
|
||||||
/* Insert a single track? */
|
/* Insert a single track? */
|
||||||
|
|
@ -1022,8 +1028,6 @@ bool tagtree_insert_selection_playlist(int position, bool queue)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We need to set the table to allsubentries. */
|
|
||||||
show_search_progress(true, 0);
|
|
||||||
if (dptr->newtable == navibrowse)
|
if (dptr->newtable == navibrowse)
|
||||||
{
|
{
|
||||||
tagtree_enter(tc);
|
tagtree_enter(tc);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue