diff options
Diffstat (limited to 'apps/playlist.c')
-rw-r--r-- | apps/playlist.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/apps/playlist.c b/apps/playlist.c index c64fc229b5..3eb0949cc2 100644 --- a/apps/playlist.c +++ b/apps/playlist.c @@ -855,14 +855,14 @@ static int directory_search_callback(char* filename, void* context) if (insert_pos < 0) return -1; - + (c->count)++; - - /* Make sure tracks are inserted in correct order if user requests - INSERT_FIRST */ - if (c->position == PLAYLIST_INSERT_FIRST || c->position >= 0) - c->position = insert_pos + 1; - + + /* After first INSERT_FIRST switch to INSERT so that all the + rest of the tracks get inserted one after the other */ + if (c->position == PLAYLIST_INSERT_FIRST) + c->position = PLAYLIST_INSERT; + if (((c->count)%PLAYLIST_DISPLAY_COUNT) == 0) { unsigned char* count_str; @@ -3179,7 +3179,7 @@ int playlist_insert_playlist(struct playlist_info* playlist, const char *filenam result = -1; break; } - + insert_pos = add_track_to_playlist(playlist, trackname, position, queue, -1); @@ -3189,13 +3189,13 @@ int playlist_insert_playlist(struct playlist_info* playlist, const char *filenam break; } - /* Make sure tracks are inserted in correct order if user - requests INSERT_FIRST */ - if (position == PLAYLIST_INSERT_FIRST || position >= 0) - position = insert_pos + 1; + /* After first INSERT_FIRST switch to INSERT so that all the + rest of the tracks get inserted one after the other */ + if (position == PLAYLIST_INSERT_FIRST) + position = PLAYLIST_INSERT; count++; - + if ((count%PLAYLIST_DISPLAY_COUNT) == 0) { display_playlist_count(count, count_str, false); |