summaryrefslogtreecommitdiff
path: root/apps/playlist_catalog.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2008-01-29 06:57:54 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2008-01-29 06:57:54 +0000
commitba75e6038f3f9af54bdeaf9feb1f4bd90c042f19 (patch)
tree3fe37150d6c954d49761f75482e749561982b00e /apps/playlist_catalog.c
parent1d095d1545fcbd74d201a5d63cee654fe9141187 (diff)
downloadrockbox-ba75e6038f3f9af54bdeaf9feb1f4bd90c042f19.tar.gz
rockbox-ba75e6038f3f9af54bdeaf9feb1f4bd90c042f19.zip
Move the playlist catalog config into the standard config files. 1 less disk spinup when the playlist cataloge is used the first time.
The manual doesnt currently mention this setting (or ever did). use "playlist catalog directory:/path/to/Playlists" in the .cfg git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16181 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/playlist_catalog.c')
-rw-r--r--apps/playlist_catalog.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/apps/playlist_catalog.c b/apps/playlist_catalog.c
index f5c5bcb35b..c68371af49 100644
--- a/apps/playlist_catalog.c
+++ b/apps/playlist_catalog.c
@@ -40,8 +40,6 @@
40#include "filetypes.h" 40#include "filetypes.h"
41#include "debug.h" 41#include "debug.h"
42 42
43#define PLAYLIST_CATALOG_CFG ROCKBOX_DIR "/playlist_catalog.config"
44#define PLAYLIST_CATALOG_DEFAULT_DIR "/Playlists"
45#define MAX_PLAYLISTS 400 43#define MAX_PLAYLISTS 400
46#define PLAYLIST_DISPLAY_COUNT 10 44#define PLAYLIST_DISPLAY_COUNT 10
47 45
@@ -54,8 +52,7 @@ struct add_track_context {
54/* keep track of most recently used playlist */ 52/* keep track of most recently used playlist */
55static char most_recent_playlist[MAX_PATH]; 53static char most_recent_playlist[MAX_PATH];
56 54
57/* directory where our playlists our stored (configured in 55/* directory where our playlists our stored */
58 PLAYLIST_CATALOG_CFG) */
59static char playlist_dir[MAX_PATH]; 56static char playlist_dir[MAX_PATH];
60static int playlist_dir_length; 57static int playlist_dir_length;
61static bool playlist_dir_exists = false; 58static bool playlist_dir_exists = false;
@@ -67,31 +64,15 @@ static int initialize_catalog(void)
67 64
68 if (!initialized) 65 if (!initialized)
69 { 66 {
70 int f;
71 DIR* dir; 67 DIR* dir;
72 bool default_dir = true; 68 bool default_dir = true;
73 69
74 f = open(PLAYLIST_CATALOG_CFG, O_RDONLY); 70
75 if (f >= 0) 71 /* directory config is of the format: "dir: /path/to/dir" */
72 if (global_settings.playlist_catalog_dir[0])
76 { 73 {
77 char buf[MAX_PATH+5]; 74 strcpy(playlist_dir, global_settings.playlist_catalog_dir);
78 75 default_dir = false;
79 while (read_line(f, buf, sizeof(buf)))
80 {
81 char* name;
82 char* value;
83
84 /* directory config is of the format: "dir: /path/to/dir" */
85 if (settings_parseline(buf, &name, &value) &&
86 !strncasecmp(name, "dir:", strlen(name)) &&
87 strlen(value) > 0)
88 {
89 strncpy(playlist_dir, value, strlen(value));
90 default_dir = false;
91 }
92 }
93
94 close(f);
95 } 76 }
96 77
97 /* fall back to default directory if no or invalid config */ 78 /* fall back to default directory if no or invalid config */