summaryrefslogtreecommitdiffstats
path: root/apps/filetree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/filetree.c')
-rw-r--r--apps/filetree.c8
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;
}