summaryrefslogtreecommitdiff
path: root/apps/playlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist.h')
-rw-r--r--apps/playlist.h48
1 files changed, 33 insertions, 15 deletions
diff --git a/apps/playlist.h b/apps/playlist.h
index 020d3332cb..482cecd128 100644
--- a/apps/playlist.h
+++ b/apps/playlist.h
@@ -28,9 +28,12 @@
28 28
29struct playlist_info 29struct playlist_info
30{ 30{
31 bool current; /* current playing playlist */
31 char filename[MAX_PATH]; /* path name of m3u playlist on disk */ 32 char filename[MAX_PATH]; /* path name of m3u playlist on disk */
33 char control_filename[MAX_PATH]; /* full path of control file */
32 int fd; /* descriptor of the open playlist file */ 34 int fd; /* descriptor of the open playlist file */
33 int control_fd; /* descriptor of the open control file */ 35 int control_fd; /* descriptor of the open control file */
36 bool control_created; /* has control file been created? */
34 int dirlen; /* Length of the path to the playlist file */ 37 int dirlen; /* Length of the path to the playlist file */
35 unsigned int *indices; /* array of indices */ 38 unsigned int *indices; /* array of indices */
36 int max_playlist_size; /* Max number of files in playlist. Mirror of 39 int max_playlist_size; /* Max number of files in playlist. Mirror of
@@ -63,33 +66,48 @@ struct playlist_track_info
63 int display_index; /* index of track for display */ 66 int display_index; /* index of track for display */
64}; 67};
65 68
69/* Exported functions only for current playlist. */
66void playlist_init(void); 70void playlist_init(void);
67int playlist_create(char *dir, char *file); 71int playlist_create(char *dir, char *file);
68int playlist_resume(void); 72int playlist_resume(void);
69int playlist_add(char *filename); 73int playlist_add(char *filename);
70int playlist_insert_track(char *filename, int position, bool queue);
71int playlist_insert_directory(char *dirname, int position, bool queue,
72 bool recurse);
73int playlist_insert_playlist(char *filename, int position, bool queue);
74int playlist_delete(int index);
75int playlist_move(int index, int new_index);
76int playlist_shuffle(int random_seed, int start_index); 74int playlist_shuffle(int random_seed, int start_index);
77int playlist_randomise(unsigned int seed, bool start_current);
78int playlist_sort(bool start_current);
79int playlist_start(int start_index, int offset); 75int playlist_start(int start_index, int offset);
80bool playlist_check(int steps); 76bool playlist_check(int steps);
81char *playlist_peek(int steps); 77char *playlist_peek(int steps);
82int playlist_next(int steps); 78int playlist_next(int steps);
83int playlist_get_resume_info(int *resume_index); 79int playlist_get_resume_info(int *resume_index);
84int playlist_get_display_index(void); 80int playlist_get_display_index(void);
85int playlist_get_first_index(void);
86int playlist_amount(void); 81int playlist_amount(void);
87char *playlist_name(char *buf, int buf_size); 82
88int playlist_get_track_info(int index, struct playlist_track_info* info); 83/* Exported functions for all playlists. Pass NULL for playlist_info
89int playlist_save(char *filename); 84 structure to work with current playlist. */
90int playlist_get_seed(void); 85int playlist_create_ex(struct playlist_info* playlist, char* dir, char* file,
91char *playlist_get_name(char *buf, int buf_size); 86 void* index_buffer, int index_buffer_size,
92bool playlist_modified(void); 87 void* temp_buffer, int temp_buffer_size);
88int playlist_set_current(struct playlist_info* playlist);
89void playlist_close(struct playlist_info* playlist);
90int playlist_insert_track(struct playlist_info* playlist, char *filename,
91 int position, bool queue);
92int playlist_insert_directory(struct playlist_info* playlist, char *dirname,
93 int position, bool queue, bool recurse);
94int playlist_insert_playlist(struct playlist_info* playlist, char *filename,
95 int position, bool queue);
96int playlist_delete(struct playlist_info* playlist, int index);
97int playlist_move(struct playlist_info* playlist, int index, int new_index);
98int playlist_randomise(struct playlist_info* playlist, unsigned int seed,
99 bool start_current);
100int playlist_sort(struct playlist_info* playlist, bool start_current);
101bool playlist_modified(struct playlist_info* playlist);
102int playlist_get_first_index(struct playlist_info* playlist);
103int playlist_get_seed(struct playlist_info* playlist);
104int playlist_amount_ex(struct playlist_info* playlist);
105char *playlist_name(struct playlist_info* playlist, char *buf, int buf_size);
106char *playlist_get_name(struct playlist_info* playlist, char *buf,
107 int buf_size);
108int playlist_get_track_info(struct playlist_info* playlist, int index,
109 struct playlist_track_info* info);
110int playlist_save(struct playlist_info* playlist, char *filename);
93 111
94enum { 112enum {
95 PLAYLIST_PREPEND = -1, 113 PLAYLIST_PREPEND = -1,