mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-05-12 11:43:16 -04:00
plugins: random folder advance: misc improvements
fixes: - traverse_dir was called recursively using two MAX_PATH local buffers => possible stack overflow - The import function inserted additional, incorrect, entries when the whole line buffer was filled - "Dirs not found" message overlapped number of folders when generating folder list - Final number of scanned folders wasn't displayed - Wouldn't stop inserting when maximum number of files in playlist was already reached - Prevent buffer overflow when importing - Don't write to fd after opening failed - Use whole buffer with read_line, instead of subtracting 1. Remove hard coded sizes - CRs don't need to be removed in import function (already handled by read_line) features: - Use insert context for *much* faster insertion of large # of folders, and nicer progress display - Use UI viewport - Add progress indicator when saving or loading - Display number of folders in edit list title - Go back to plugin's main menu from edit list - Only ask to save changes if list is dirty - Warn before erasing modified playlist - Flag successfully created playlist as modified - Make folder scan wait for dircache - Shorten menu item names - Put "Play Shuffled" menu item first - Remember selection when returning from submenus - Go to WPS after ACTION_TREE_WPS - Exit menu when pressing Back - Perform an initial scan, if no data file exists yet, when "Play Shuffled" or "Edit" is selected Change-Id: I7df76f8fb8387888ce491d8b74b01b481e9997d3
This commit is contained in:
parent
fcb2289274
commit
f0d99391de
9 changed files with 582 additions and 428 deletions
|
|
@ -357,7 +357,10 @@ static const struct plugin_api rockbox_api = {
|
|||
simplelist_show_list,
|
||||
yesno_pop,
|
||||
yesno_pop_confirm,
|
||||
|
||||
/* status bar */
|
||||
sb_set_title_text,
|
||||
sb_set_persistent_title,
|
||||
|
||||
/* action handling */
|
||||
get_custom_action,
|
||||
|
|
@ -738,6 +741,8 @@ static const struct plugin_api rockbox_api = {
|
|||
playlist_insert_track,
|
||||
playlist_insert_directory,
|
||||
playlist_insert_playlist,
|
||||
playlist_insert_context_create,
|
||||
playlist_insert_context_release,
|
||||
playlist_shuffle,
|
||||
warn_on_pl_erase,
|
||||
audio_play,
|
||||
|
|
@ -874,7 +879,6 @@ static const struct plugin_api rockbox_api = {
|
|||
|
||||
/* new stuff at the end, sort into place next time
|
||||
the API gets incompatible */
|
||||
sb_set_persistent_title,
|
||||
};
|
||||
|
||||
static int plugin_buffer_handle;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue