diff options
Diffstat (limited to 'apps/playlist.h')
-rw-r--r-- | apps/playlist.h | 48 |
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 | ||
29 | struct playlist_info | 29 | struct 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. */ | ||
66 | void playlist_init(void); | 70 | void playlist_init(void); |
67 | int playlist_create(char *dir, char *file); | 71 | int playlist_create(char *dir, char *file); |
68 | int playlist_resume(void); | 72 | int playlist_resume(void); |
69 | int playlist_add(char *filename); | 73 | int playlist_add(char *filename); |
70 | int playlist_insert_track(char *filename, int position, bool queue); | ||
71 | int playlist_insert_directory(char *dirname, int position, bool queue, | ||
72 | bool recurse); | ||
73 | int playlist_insert_playlist(char *filename, int position, bool queue); | ||
74 | int playlist_delete(int index); | ||
75 | int playlist_move(int index, int new_index); | ||
76 | int playlist_shuffle(int random_seed, int start_index); | 74 | int playlist_shuffle(int random_seed, int start_index); |
77 | int playlist_randomise(unsigned int seed, bool start_current); | ||
78 | int playlist_sort(bool start_current); | ||
79 | int playlist_start(int start_index, int offset); | 75 | int playlist_start(int start_index, int offset); |
80 | bool playlist_check(int steps); | 76 | bool playlist_check(int steps); |
81 | char *playlist_peek(int steps); | 77 | char *playlist_peek(int steps); |
82 | int playlist_next(int steps); | 78 | int playlist_next(int steps); |
83 | int playlist_get_resume_info(int *resume_index); | 79 | int playlist_get_resume_info(int *resume_index); |
84 | int playlist_get_display_index(void); | 80 | int playlist_get_display_index(void); |
85 | int playlist_get_first_index(void); | ||
86 | int playlist_amount(void); | 81 | int playlist_amount(void); |
87 | char *playlist_name(char *buf, int buf_size); | 82 | |
88 | int playlist_get_track_info(int index, struct playlist_track_info* info); | 83 | /* Exported functions for all playlists. Pass NULL for playlist_info |
89 | int playlist_save(char *filename); | 84 | structure to work with current playlist. */ |
90 | int playlist_get_seed(void); | 85 | int playlist_create_ex(struct playlist_info* playlist, char* dir, char* file, |
91 | char *playlist_get_name(char *buf, int buf_size); | 86 | void* index_buffer, int index_buffer_size, |
92 | bool playlist_modified(void); | 87 | void* temp_buffer, int temp_buffer_size); |
88 | int playlist_set_current(struct playlist_info* playlist); | ||
89 | void playlist_close(struct playlist_info* playlist); | ||
90 | int playlist_insert_track(struct playlist_info* playlist, char *filename, | ||
91 | int position, bool queue); | ||
92 | int playlist_insert_directory(struct playlist_info* playlist, char *dirname, | ||
93 | int position, bool queue, bool recurse); | ||
94 | int playlist_insert_playlist(struct playlist_info* playlist, char *filename, | ||
95 | int position, bool queue); | ||
96 | int playlist_delete(struct playlist_info* playlist, int index); | ||
97 | int playlist_move(struct playlist_info* playlist, int index, int new_index); | ||
98 | int playlist_randomise(struct playlist_info* playlist, unsigned int seed, | ||
99 | bool start_current); | ||
100 | int playlist_sort(struct playlist_info* playlist, bool start_current); | ||
101 | bool playlist_modified(struct playlist_info* playlist); | ||
102 | int playlist_get_first_index(struct playlist_info* playlist); | ||
103 | int playlist_get_seed(struct playlist_info* playlist); | ||
104 | int playlist_amount_ex(struct playlist_info* playlist); | ||
105 | char *playlist_name(struct playlist_info* playlist, char *buf, int buf_size); | ||
106 | char *playlist_get_name(struct playlist_info* playlist, char *buf, | ||
107 | int buf_size); | ||
108 | int playlist_get_track_info(struct playlist_info* playlist, int index, | ||
109 | struct playlist_track_info* info); | ||
110 | int playlist_save(struct playlist_info* playlist, char *filename); | ||
93 | 111 | ||
94 | enum { | 112 | enum { |
95 | PLAYLIST_PREPEND = -1, | 113 | PLAYLIST_PREPEND = -1, |