diff options
Diffstat (limited to 'apps/filetree.c')
-rw-r--r-- | apps/filetree.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/filetree.c b/apps/filetree.c index b652b6515b..7e6ba4eb8d 100644 --- a/apps/filetree.c +++ b/apps/filetree.c @@ -74,6 +74,7 @@ int ft_build_playlist(struct tree_context* c, int start_index) int i; int res = 0; int start=start_index; + struct playlist_info *playlist = playlist_get_current(); tree_lock_cache(c); struct entry *entries = tree_get_entries(c); @@ -82,7 +83,8 @@ int ft_build_playlist(struct tree_context* c, int start_index) { if((entries[i].attr & FILE_ATTR_MASK) == FILE_ATTR_AUDIO) { - res = playlist_add(entries[i].name); + res = playlist_insert_track(playlist, entries[i].name, + PLAYLIST_INSERT_LAST, false, false); if (res < 0) break; } @@ -127,10 +129,9 @@ bool ft_play_playlist(char* pathname, char* dirname, if (playlist_create(dirname, filename) != -1) { if (global_settings.playlist_shuffle) - { playlist_shuffle(current_tick, -1); - } + playlist_set_modified(NULL, false); playlist_start(0, 0, 0); return true; } @@ -528,6 +529,7 @@ int ft_enter(struct tree_context* c) start_index = 0; } + playlist_set_modified(NULL, false); playlist_start(start_index, 0, 0); play = true; } |