libmpdclient  2.20
playlist.h
Go to the documentation of this file.
1 /* libmpdclient
2  (c) 2003-2019 The Music Player Daemon Project
3  This project's homepage is: http://www.musicpd.org
4 
5  Redistribution and use in source and binary forms, with or without
6  modification, are permitted provided that the following conditions
7  are met:
8 
9  - Redistributions of source code must retain the above copyright
10  notice, this list of conditions and the following disclaimer.
11 
12  - Redistributions in binary form must reproduce the above copyright
13  notice, this list of conditions and the following disclaimer in the
14  documentation and/or other materials provided with the distribution.
15 
16  - Neither the name of the Music Player Daemon nor the names of its
17  contributors may be used to endorse or promote products derived from
18  this software without specific prior written permission.
19 
20  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 
41 #ifndef LIBMPDCLIENT_PLAYLIST_H
42 #define LIBMPDCLIENT_PLAYLIST_H
43 
44 #include "compiler.h"
45 #include "position.h"
46 
47 #include <stdbool.h>
48 #include <time.h>
49 
50 struct mpd_pair;
52 
60 struct mpd_playlist;
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
69 void
70 mpd_playlist_free(struct mpd_playlist *playlist);
71 
77 mpd_malloc
78 struct mpd_playlist *
79 mpd_playlist_dup(const struct mpd_playlist *playlist);
80 
85 mpd_pure
86 const char *
87 mpd_playlist_get_path(const struct mpd_playlist *playlist);
88 
93 mpd_pure
94 time_t
95 mpd_playlist_get_last_modified(const struct mpd_playlist *playlist);
96 
105 mpd_malloc
106 struct mpd_playlist *
107 mpd_playlist_begin(const struct mpd_pair *pair);
108 
117 bool
118 mpd_playlist_feed(struct mpd_playlist *playlist, const struct mpd_pair *pair);
119 
129 bool
130 mpd_send_list_playlists(struct mpd_connection *connection);
131 
138 mpd_malloc
139 struct mpd_playlist *
140 mpd_recv_playlist(struct mpd_connection *connection);
141 
150 bool
151 mpd_send_list_playlist(struct mpd_connection *connection, const char *name);
152 
161 bool
162 mpd_send_list_playlist_meta(struct mpd_connection *connection, const char *name);
163 
171 bool
172 mpd_send_playlist_clear(struct mpd_connection *connection, const char *name);
173 
181 bool
182 mpd_run_playlist_clear(struct mpd_connection *connection, const char *name);
183 
193 bool
194 mpd_send_playlist_add(struct mpd_connection *connection, const char *name,
195  const char *path);
196 
205 bool
206 mpd_run_playlist_add(struct mpd_connection *connection,
207  const char *name, const char *path);
208 
221 bool
222 mpd_send_playlist_add_to(struct mpd_connection *connection, const char *name,
223  const char *uri, unsigned to);
224 
236 bool
237 mpd_run_playlist_add_to(struct mpd_connection *connection,
238  const char *name, const char *uri, unsigned to);
239 
249 bool
250 mpd_send_playlist_move(struct mpd_connection *connection, const char *name,
251  unsigned from, unsigned to);
252 
264 bool
265 mpd_run_playlist_move(struct mpd_connection *connection, const char *name,
266  unsigned from, unsigned to);
267 
276 bool
277 mpd_send_playlist_delete(struct mpd_connection *connection, const char *name,
278  unsigned pos);
279 
288 bool
289 mpd_run_playlist_delete(struct mpd_connection *connection,
290  const char *name, unsigned pos);
291 
303 bool
304 mpd_send_playlist_delete_range(struct mpd_connection *connection, const char *name,
305  unsigned start, unsigned end);
306 
318 bool
320  const char *name, unsigned start, unsigned end);
321 
330 bool
331 mpd_send_save(struct mpd_connection *connection, const char *name);
332 
340 bool
341 mpd_run_save(struct mpd_connection *connection, const char *name);
342 
352 bool
353 mpd_send_load(struct mpd_connection *connection, const char *name);
354 
364 bool
365 mpd_run_load(struct mpd_connection *connection, const char *name);
366 
379 bool
380 mpd_send_load_range(struct mpd_connection *connection, const char *name,
381  unsigned start, unsigned end);
382 
395 bool
396 mpd_run_load_range(struct mpd_connection *connection, const char *name,
397  unsigned start, unsigned end);
398 
414 bool
415 mpd_send_load_range_to(struct mpd_connection *connection, const char *name,
416  unsigned start, unsigned end, unsigned to, enum mpd_position_whence whence);
417 
432 bool
433 mpd_run_load_range_to(struct mpd_connection *connection, const char *name,
434  unsigned start, unsigned end, unsigned to, enum mpd_position_whence whence);
435 
444 bool
445 mpd_send_rename(struct mpd_connection *connection,
446  const char *from, const char *to);
447 
456 bool
457 mpd_run_rename(struct mpd_connection *connection,
458  const char *from, const char *to);
459 
467 bool
468 mpd_send_rm(struct mpd_connection *connection, const char *name);
469 
477 bool
478 mpd_run_rm(struct mpd_connection *connection, const char *name);
479 
480 #ifdef __cplusplus
481 }
482 #endif
483 
484 #endif
bool mpd_run_playlist_clear(struct mpd_connection *connection, const char *name)
bool mpd_run_rename(struct mpd_connection *connection, const char *from, const char *to)
bool mpd_run_load_range(struct mpd_connection *connection, const char *name, unsigned start, unsigned end)
bool mpd_playlist_feed(struct mpd_playlist *playlist, const struct mpd_pair *pair)
bool mpd_send_load(struct mpd_connection *connection, const char *name)
bool mpd_run_playlist_add(struct mpd_connection *connection, const char *name, const char *path)
bool mpd_send_playlist_move(struct mpd_connection *connection, const char *name, unsigned from, unsigned to)
bool mpd_send_playlist_delete(struct mpd_connection *connection, const char *name, unsigned pos)
bool mpd_send_list_playlist_meta(struct mpd_connection *connection, const char *name)
void mpd_playlist_free(struct mpd_playlist *playlist)
bool mpd_send_load_range(struct mpd_connection *connection, const char *name, unsigned start, unsigned end)
bool mpd_run_playlist_delete_range(struct mpd_connection *connection, const char *name, unsigned start, unsigned end)
bool mpd_run_rm(struct mpd_connection *connection, const char *name)
time_t mpd_playlist_get_last_modified(const struct mpd_playlist *playlist)
bool mpd_run_playlist_add_to(struct mpd_connection *connection, const char *name, const char *uri, unsigned to)
struct mpd_playlist * mpd_recv_playlist(struct mpd_connection *connection)
bool mpd_send_playlist_delete_range(struct mpd_connection *connection, const char *name, unsigned start, unsigned end)
bool mpd_send_playlist_add_to(struct mpd_connection *connection, const char *name, const char *uri, unsigned to)
bool mpd_run_save(struct mpd_connection *connection, const char *name)
bool mpd_send_playlist_add(struct mpd_connection *connection, const char *name, const char *path)
bool mpd_run_load_range_to(struct mpd_connection *connection, const char *name, unsigned start, unsigned end, unsigned to, enum mpd_position_whence whence)
bool mpd_send_list_playlist(struct mpd_connection *connection, const char *name)
bool mpd_send_playlist_clear(struct mpd_connection *connection, const char *name)
struct mpd_playlist * mpd_playlist_dup(const struct mpd_playlist *playlist)
const char * mpd_playlist_get_path(const struct mpd_playlist *playlist)
struct mpd_playlist * mpd_playlist_begin(const struct mpd_pair *pair)
bool mpd_run_playlist_delete(struct mpd_connection *connection, const char *name, unsigned pos)
MPD client library.
bool mpd_send_load_range_to(struct mpd_connection *connection, const char *name, unsigned start, unsigned end, unsigned to, enum mpd_position_whence whence)
bool mpd_run_load(struct mpd_connection *connection, const char *name)
bool mpd_send_save(struct mpd_connection *connection, const char *name)
bool mpd_send_rename(struct mpd_connection *connection, const char *from, const char *to)
bool mpd_send_list_playlists(struct mpd_connection *connection)
bool mpd_run_playlist_move(struct mpd_connection *connection, const char *name, unsigned from, unsigned to)
Definition: pair.h:41
bool mpd_send_rm(struct mpd_connection *connection, const char *name)
mpd_position_whence
Definition: position.h:42