summaryrefslogtreecommitdiff
path: root/apps/playlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist.c')
-rw-r--r--apps/playlist.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/apps/playlist.c b/apps/playlist.c
index 05149d164f..b5309cdba0 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -131,7 +131,7 @@ static int add_indices_to_playlist(void);
131static int add_track_to_playlist(char *filename, int position, bool queue, 131static int add_track_to_playlist(char *filename, int position, bool queue,
132 int seek_pos); 132 int seek_pos);
133static int add_directory_to_playlist(char *dirname, int *position, bool queue, 133static int add_directory_to_playlist(char *dirname, int *position, bool queue,
134 int *count); 134 int *count, bool recurse);
135static int remove_track_from_playlist(int position, bool write); 135static int remove_track_from_playlist(int position, bool write);
136static int randomise_playlist(unsigned int seed, bool start_current, 136static int randomise_playlist(unsigned int seed, bool start_current,
137 bool write); 137 bool write);
@@ -402,7 +402,7 @@ static int add_track_to_playlist(char *filename, int position, bool queue,
402 * Insert directory into playlist. May be called recursively. 402 * Insert directory into playlist. May be called recursively.
403 */ 403 */
404static int add_directory_to_playlist(char *dirname, int *position, bool queue, 404static int add_directory_to_playlist(char *dirname, int *position, bool queue,
405 int *count) 405 int *count, bool recurse)
406{ 406{
407 char buf[MAX_PATH+1]; 407 char buf[MAX_PATH+1];
408 char *count_str; 408 char *count_str;
@@ -446,12 +446,12 @@ static int add_directory_to_playlist(char *dirname, int *position, bool queue,
446 446
447 if (files[i].attr & ATTR_DIRECTORY) 447 if (files[i].attr & ATTR_DIRECTORY)
448 { 448 {
449 if (global_settings.recursive_dir_insert) 449 if (recurse)
450 { 450 {
451 /* recursively add directories */ 451 /* recursively add directories */
452 snprintf(buf, sizeof(buf), "%s/%s", dirname, files[i].name); 452 snprintf(buf, sizeof(buf), "%s/%s", dirname, files[i].name);
453 result = add_directory_to_playlist(buf, position, queue, 453 result = add_directory_to_playlist(buf, position, queue,
454 count); 454 count, recurse);
455 if (result < 0) 455 if (result < 0)
456 break; 456 break;
457 457
@@ -1385,7 +1385,8 @@ int playlist_insert_track(char *filename, int position, bool queue)
1385/* 1385/*
1386 * Insert all tracks from specified directory into playlist. 1386 * Insert all tracks from specified directory into playlist.
1387 */ 1387 */
1388int playlist_insert_directory(char *dirname, int position, bool queue) 1388int playlist_insert_directory(char *dirname, int position, bool queue,
1389 bool recurse)
1389{ 1390{
1390 int count = 0; 1391 int count = 0;
1391 int result; 1392 int result;
@@ -1398,7 +1399,8 @@ int playlist_insert_directory(char *dirname, int position, bool queue)
1398 1399
1399 display_playlist_count(count, count_str); 1400 display_playlist_count(count, count_str);
1400 1401
1401 result = add_directory_to_playlist(dirname, &position, queue, &count); 1402 result = add_directory_to_playlist(dirname, &position, queue, &count,
1403 recurse);
1402 fsync(playlist.control_fd); 1404 fsync(playlist.control_fd);
1403 1405
1404 display_playlist_count(count, count_str); 1406 display_playlist_count(count, count_str);