libmpdclient  2.20
queue.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  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
20  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28 
37 #ifndef MPD_QUEUE_H
38 #define MPD_QUEUE_H
39 
40 #include "compiler.h"
41 #include "position.h"
42 #include "tag.h"
43 
44 #include <stdbool.h>
45 
46 struct mpd_connection;
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
65 bool
67 
80 bool
82  unsigned start, unsigned end);
83 
92 bool
93 mpd_send_get_queue_song_pos(struct mpd_connection *connection, unsigned pos);
94 
102 mpd_malloc
103 struct mpd_song *
104 mpd_run_get_queue_song_pos(struct mpd_connection *connection, unsigned pos);
105 
114 bool
115 mpd_send_get_queue_song_id(struct mpd_connection *connection, unsigned id);
116 
124 mpd_malloc
125 struct mpd_song *
126 mpd_run_get_queue_song_id(struct mpd_connection *connection, unsigned id);
127 
139 bool
141  unsigned version);
142 
159 bool
161  unsigned version,
162  unsigned start, unsigned end);
163 
175 bool
177  unsigned version);
178 
194 bool
196  unsigned version,
197  unsigned start, unsigned end);
198 
209 bool
211  unsigned *position_r, unsigned *id_r);
212 
220 bool
221 mpd_send_add(struct mpd_connection *connection, const char *uri);
222 
230 bool
231 mpd_run_add(struct mpd_connection *connection, const char *uri);
232 
244 bool
245 mpd_send_add_whence(struct mpd_connection *connection, const char *uri,
246  unsigned to, enum mpd_position_whence whence);
247 
259 bool
260 mpd_run_add_whence(struct mpd_connection *connection, const char *uri,
261  unsigned to, enum mpd_position_whence whence);
262 
271 bool
272 mpd_send_add_id(struct mpd_connection *connection, const char *uri);
273 
283 bool
284 mpd_send_add_id_to(struct mpd_connection *connection, const char *uri,
285  unsigned to);
286 
299 bool
300 mpd_send_add_id_whence(struct mpd_connection *connection, const char *uri,
301  unsigned to, enum mpd_position_whence whence);
302 
310 int
311 mpd_recv_song_id(struct mpd_connection *connection);
312 
321 int
322 mpd_run_add_id(struct mpd_connection *connection, const char *uri);
323 
333 int
334 mpd_run_add_id_to(struct mpd_connection *connection, const char *uri,
335  unsigned to);
336 
349 int
350 mpd_run_add_id_whence(struct mpd_connection *connection, const char *uri,
351  unsigned to, enum mpd_position_whence whence);
352 
360 bool
361 mpd_send_delete(struct mpd_connection *connection, unsigned pos);
362 
370 bool
371 mpd_run_delete(struct mpd_connection *connection, unsigned pos);
372 
384 bool
386  unsigned start, unsigned end);
387 
399 bool
401  unsigned start, unsigned end);
402 
410 bool
411 mpd_send_delete_id(struct mpd_connection *connection, unsigned id);
412 
420 bool
421 mpd_run_delete_id(struct mpd_connection *connection, unsigned id);
422 
429 bool
430 mpd_send_shuffle(struct mpd_connection *connection);
431 
438 bool
439 mpd_run_shuffle(struct mpd_connection *connection);
440 
452 bool
454  unsigned start, unsigned end);
455 
467 bool
469  unsigned start, unsigned end);
470 
477 bool
478 mpd_send_clear(struct mpd_connection *connection);
479 
486 bool
487 mpd_run_clear(struct mpd_connection *connection);
488 
497 bool
498 mpd_send_move(struct mpd_connection *connection, unsigned from, unsigned to);
499 
508 bool
509 mpd_run_move(struct mpd_connection *connection, unsigned from, unsigned to);
510 
519 bool
520 mpd_send_move_id(struct mpd_connection *connection, unsigned from, unsigned to);
521 
530 bool
531 mpd_run_move_id(struct mpd_connection *connection, unsigned from, unsigned to);
532 
545 bool
547  unsigned start, unsigned end, unsigned to);
548 
561 bool
563  unsigned start, unsigned end, unsigned to);
564 
573 bool
574 mpd_send_swap(struct mpd_connection *connection, unsigned pos1, unsigned pos2);
575 
584 bool
585 mpd_run_swap(struct mpd_connection *connection, unsigned pos1, unsigned pos2);
586 
595 bool
596 mpd_send_swap_id(struct mpd_connection *connection, unsigned id1, unsigned id2);
597 
606 bool
607 mpd_run_swap_id(struct mpd_connection *connection, unsigned id1, unsigned id2);
608 
620 bool
621 mpd_send_add_tag_id(struct mpd_connection *connection, unsigned id,
622  enum mpd_tag_type tag, const char *value);
623 
635 bool
636 mpd_run_add_tag_id(struct mpd_connection *connection, unsigned id,
637  enum mpd_tag_type tag, const char *value);
638 
649 bool
650 mpd_send_clear_tag_id(struct mpd_connection *connection, unsigned id,
651  enum mpd_tag_type tag);
652 
663 bool
664 mpd_run_clear_tag_id(struct mpd_connection *connection, unsigned id,
665  enum mpd_tag_type tag);
666 
676 bool
677 mpd_send_clear_all_tags_id(struct mpd_connection *connection, unsigned id);
678 
688 bool
689 mpd_run_clear_all_tags_id(struct mpd_connection *connection, unsigned id);
690 
701 bool
702 mpd_send_prio(struct mpd_connection *connection, unsigned priority,
703  unsigned position);
704 
715 bool
716 mpd_run_prio(struct mpd_connection *connection, unsigned priority,
717  unsigned position);
718 
732 bool
733 mpd_send_prio_range(struct mpd_connection *connection, unsigned priority,
734  unsigned start, unsigned end);
735 
749 bool
750 mpd_run_prio_range(struct mpd_connection *connection, unsigned priority,
751  unsigned start, unsigned end);
752 
763 bool
764 mpd_send_prio_id(struct mpd_connection *connection, unsigned priority,
765  unsigned id);
766 
777 bool
778 mpd_run_prio_id(struct mpd_connection *connection, unsigned priority,
779  unsigned id);
780 
797 bool
798 mpd_send_range_id(struct mpd_connection *connection, unsigned id,
799  float start, float end);
800 
814 bool
815 mpd_run_range_id(struct mpd_connection *connection, unsigned id,
816  float start, float end);
817 #ifdef __cplusplus
818 }
819 #endif
820 
821 #endif
MPD client library.
mpd_position_whence
Definition: position.h:42
bool mpd_run_move(struct mpd_connection *connection, unsigned from, unsigned to)
struct mpd_song * mpd_run_get_queue_song_pos(struct mpd_connection *connection, unsigned pos)
bool mpd_send_swap_id(struct mpd_connection *connection, unsigned id1, unsigned id2)
bool mpd_recv_queue_change_brief(struct mpd_connection *connection, unsigned *position_r, unsigned *id_r)
int mpd_run_add_id_whence(struct mpd_connection *connection, const char *uri, unsigned to, enum mpd_position_whence whence)
bool mpd_run_move_range(struct mpd_connection *connection, unsigned start, unsigned end, unsigned to)
bool mpd_send_add_id_to(struct mpd_connection *connection, const char *uri, unsigned to)
bool mpd_run_shuffle_range(struct mpd_connection *connection, unsigned start, unsigned end)
bool mpd_send_prio_id(struct mpd_connection *connection, unsigned priority, unsigned id)
bool mpd_send_add_id(struct mpd_connection *connection, const char *uri)
bool mpd_send_get_queue_song_pos(struct mpd_connection *connection, unsigned pos)
bool mpd_send_get_queue_song_id(struct mpd_connection *connection, unsigned id)
bool mpd_send_prio_range(struct mpd_connection *connection, unsigned priority, unsigned start, unsigned end)
bool mpd_send_shuffle_range(struct mpd_connection *connection, unsigned start, unsigned end)
bool mpd_send_shuffle(struct mpd_connection *connection)
bool mpd_send_list_queue_range_meta(struct mpd_connection *connection, unsigned start, unsigned end)
bool mpd_run_add(struct mpd_connection *connection, const char *uri)
int mpd_run_add_id(struct mpd_connection *connection, const char *uri)
bool mpd_run_swap(struct mpd_connection *connection, unsigned pos1, unsigned pos2)
bool mpd_send_queue_changes_meta(struct mpd_connection *connection, unsigned version)
int mpd_run_add_id_to(struct mpd_connection *connection, const char *uri, unsigned to)
bool mpd_send_add(struct mpd_connection *connection, const char *uri)
bool mpd_run_delete_id(struct mpd_connection *connection, unsigned id)
bool mpd_send_swap(struct mpd_connection *connection, unsigned pos1, unsigned pos2)
bool mpd_send_prio(struct mpd_connection *connection, unsigned priority, unsigned position)
struct mpd_song * mpd_run_get_queue_song_id(struct mpd_connection *connection, unsigned id)
bool mpd_run_add_tag_id(struct mpd_connection *connection, unsigned id, enum mpd_tag_type tag, const char *value)
bool mpd_send_clear(struct mpd_connection *connection)
bool mpd_run_prio(struct mpd_connection *connection, unsigned priority, unsigned position)
int mpd_recv_song_id(struct mpd_connection *connection)
bool mpd_send_delete_range(struct mpd_connection *connection, unsigned start, unsigned end)
bool mpd_send_clear_tag_id(struct mpd_connection *connection, unsigned id, enum mpd_tag_type tag)
bool mpd_run_shuffle(struct mpd_connection *connection)
bool mpd_send_delete(struct mpd_connection *connection, unsigned pos)
bool mpd_send_queue_changes_brief(struct mpd_connection *connection, unsigned version)
bool mpd_run_range_id(struct mpd_connection *connection, unsigned id, float start, float end)
bool mpd_run_clear(struct mpd_connection *connection)
bool mpd_send_queue_changes_meta_range(struct mpd_connection *connection, unsigned version, unsigned start, unsigned end)
bool mpd_run_delete_range(struct mpd_connection *connection, unsigned start, unsigned end)
bool mpd_send_move_id(struct mpd_connection *connection, unsigned from, unsigned to)
bool mpd_send_delete_id(struct mpd_connection *connection, unsigned id)
bool mpd_send_move(struct mpd_connection *connection, unsigned from, unsigned to)
bool mpd_run_swap_id(struct mpd_connection *connection, unsigned id1, unsigned id2)
bool mpd_run_clear_tag_id(struct mpd_connection *connection, unsigned id, enum mpd_tag_type tag)
bool mpd_send_list_queue_meta(struct mpd_connection *connection)
bool mpd_run_clear_all_tags_id(struct mpd_connection *connection, unsigned id)
bool mpd_send_add_id_whence(struct mpd_connection *connection, const char *uri, unsigned to, enum mpd_position_whence whence)
bool mpd_send_queue_changes_brief_range(struct mpd_connection *connection, unsigned version, unsigned start, unsigned end)
bool mpd_run_prio_id(struct mpd_connection *connection, unsigned priority, unsigned id)
bool mpd_send_range_id(struct mpd_connection *connection, unsigned id, float start, float end)
bool mpd_send_add_whence(struct mpd_connection *connection, const char *uri, unsigned to, enum mpd_position_whence whence)
bool mpd_run_move_id(struct mpd_connection *connection, unsigned from, unsigned to)
bool mpd_send_add_tag_id(struct mpd_connection *connection, unsigned id, enum mpd_tag_type tag, const char *value)
bool mpd_send_move_range(struct mpd_connection *connection, unsigned start, unsigned end, unsigned to)
bool mpd_run_prio_range(struct mpd_connection *connection, unsigned priority, unsigned start, unsigned end)
bool mpd_send_clear_all_tags_id(struct mpd_connection *connection, unsigned id)
bool mpd_run_delete(struct mpd_connection *connection, unsigned pos)
bool mpd_run_add_whence(struct mpd_connection *connection, const char *uri, unsigned to, enum mpd_position_whence whence)
Definition: song.h:49
mpd_tag_type
Definition: tag.h:46