myMPD
Internal API documentation
Loading...
Searching...
No Matches
playlists.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-3.0-or-later
3 myMPD (c) 2018-2025 Juergen Mang <mail@jcgames.de>
4 https://github.com/jcorporation/mympd
5*/
6
11#ifndef MYMPD_API_PLAYLISTS_H
12#define MYMPD_API_PLAYLISTS_H
13
14#include "src/lib/list.h"
15#include "src/lib/mympd_state.h"
17
22 PLAYLIST_DELETE_UNKNOWN = -1,
23 PLAYLIST_DELETE_EMPTY,
24 PLAYLIST_DELETE_SMARTPLS,
25 PLAYLIST_DELETE_ALL
26};
27
32 PLAYLIST_COPY_APPEND = 0,
33 PLAYLIST_COPY_INSERT,
34 PLAYLIST_COPY_REPLACE,
35 PLAYLIST_MOVE_APPEND,
36 PLAYLIST_MOVE_INSERT
37};
38
40
41sds mympd_api_playlist_list(struct t_partition_state *partition_state, struct t_stickerdb_state *stickerdb,
42 sds buffer, unsigned request_id, unsigned offset, unsigned limit, sds searchstr, enum playlist_types type,
43 enum playlist_sort_types sort, bool sortdesc, const struct t_fields *tagcols);
44sds mympd_api_playlist_content_search(struct t_partition_state *partition_state, struct t_stickerdb_state *stickerdb,
45 sds buffer, unsigned request_id, sds plist, unsigned offset, unsigned limit, sds expression, const struct t_fields *tagcols);
46sds mympd_api_playlist_rename(struct t_partition_state *partition_state, sds buffer,
47 unsigned request_id, const char *old_playlist, const char *new_playlist);
48sds mympd_api_playlist_delete_all(struct t_partition_state *partition_state, sds buffer,
49 unsigned request_id, enum plist_delete_criterias criteria);
50bool mympd_api_playlist_content_move(struct t_partition_state *partition_state, sds plist, unsigned from, unsigned to, sds *error);
51bool mympd_api_playlist_content_rm_range(struct t_partition_state *partition_state, sds plist, unsigned start, int end, sds *error);
52bool mympd_api_playlist_content_rm_positions(struct t_partition_state *partition_state, sds plist, struct t_list *positions, sds *error);
53bool mympd_api_playlist_content_append(struct t_partition_state *partition_state, sds plist, struct t_list *uris, sds *error);
54bool mympd_api_playlist_content_insert(struct t_partition_state *partition_state, sds plist, struct t_list *uris, unsigned to, sds *error);
55bool mympd_api_playlist_content_replace(struct t_partition_state *partition_state, sds plist, struct t_list *uris, sds *error);
56bool mympd_api_playlist_content_append_albums(struct t_partition_state *partition_state, struct t_cache *album_cache,
57 sds plist, struct t_list *albumids, sds *error);
58bool mympd_api_playlist_content_insert_albums(struct t_partition_state *partition_state, struct t_cache *album_cache,
59 sds plist, struct t_list *albumids, unsigned to, sds *error);
60bool mympd_api_playlist_content_replace_albums(struct t_partition_state *partition_state, struct t_cache *album_cache,
61 sds plist, struct t_list *albumids, sds *error);
62bool mympd_api_playlist_content_append_album_tag(struct t_partition_state *partition_state, struct t_cache *album_cache,
63 sds plist, sds albumid, enum mpd_tag_type tag, sds value, sds *error);
64bool mympd_api_playlist_content_insert_album_tag(struct t_partition_state *partition_state, struct t_cache *album_cache,
65 sds plist, sds albumid, enum mpd_tag_type tag, sds value, unsigned to, sds *error);
66bool mympd_api_playlist_content_replace_album_tag(struct t_partition_state *partition_state, struct t_cache *album_cache,
67 sds plist, sds albumid, enum mpd_tag_type tag, sds value, sds *error);
68bool mympd_api_playlist_content_insert_search(struct t_partition_state *partition_state, sds expression, sds plist, unsigned to,
69 const char *sort, bool sort_desc, sds *error);
70bool mympd_api_playlist_content_append_search(struct t_partition_state *partition_state, sds expression, sds plist,
71 const char *sort, bool sort_desc, sds *error);
72bool mympd_api_playlist_content_replace_search(struct t_partition_state *partition_state, sds expression, sds plist,
73 const char *sort, bool sort_desc, sds *error);
74bool mympd_api_playlist_copy(struct t_partition_state *partition_state,
75 struct t_list *src_plists, sds dst_plist, enum plist_copy_modes mode, sds *error);
76bool mympd_api_playlist_content_move_to_playlist(struct t_partition_state *partition_state, sds src_plist, sds dst_plist,
77 struct t_list *positions, unsigned mode, sds *error);
78bool mympd_api_playlist_delete(struct t_partition_state *partition_state, struct t_list *playlists, sds *error);
79#endif
Linked list implementation.
bool mympd_api_playlist_content_append(struct t_partition_state *partition_state, sds plist, struct t_list *uris, sds *error)
Definition playlists.c:248
plist_copy_modes
Definition playlists.h:31
plist_delete_criterias
Definition playlists.h:21
sds mympd_api_playlist_delete_all(struct t_partition_state *partition_state, sds buffer, unsigned request_id, enum plist_delete_criterias criteria)
Definition playlists.c:1050
bool mympd_api_playlist_content_rm_range(struct t_partition_state *partition_state, sds plist, unsigned start, int end, sds *error)
Definition playlists.c:487
bool mympd_api_playlist_content_insert(struct t_partition_state *partition_state, sds plist, struct t_list *uris, unsigned to, sds *error)
Definition playlists.c:209
bool mympd_api_playlist_content_insert_albums(struct t_partition_state *partition_state, struct t_cache *album_cache, sds plist, struct t_list *albumids, unsigned to, sds *error)
Definition playlists.c:331
bool mympd_api_playlist_content_append_album_tag(struct t_partition_state *partition_state, struct t_cache *album_cache, sds plist, sds albumid, enum mpd_tag_type tag, sds value, sds *error)
Definition playlists.c:440
enum plist_delete_criterias parse_plist_delete_criteria(const char *str)
Definition playlists.c:1029
bool mympd_api_playlist_copy(struct t_partition_state *partition_state, struct t_list *src_plists, sds dst_plist, enum plist_copy_modes mode, sds *error)
Definition playlists.c:132
bool mympd_api_playlist_content_replace_album_tag(struct t_partition_state *partition_state, struct t_cache *album_cache, sds plist, sds albumid, enum mpd_tag_type tag, sds value, sds *error)
Definition playlists.c:457
bool mympd_api_playlist_delete(struct t_partition_state *partition_state, struct t_list *playlists, sds *error)
Definition playlists.c:974
bool mympd_api_playlist_content_replace_albums(struct t_partition_state *partition_state, struct t_cache *album_cache, sds plist, struct t_list *albumids, sds *error)
Definition playlists.c:389
bool mympd_api_playlist_content_move_to_playlist(struct t_partition_state *partition_state, sds src_plist, sds dst_plist, struct t_list *positions, unsigned mode, sds *error)
Definition playlists.c:71
bool mympd_api_playlist_content_move(struct t_partition_state *partition_state, sds plist, unsigned from, unsigned to, sds *error)
Definition playlists.c:473
sds mympd_api_playlist_content_search(struct t_partition_state *partition_state, struct t_stickerdb_state *stickerdb, sds buffer, unsigned request_id, sds plist, unsigned offset, unsigned limit, sds expression, const struct t_fields *tagcols)
Definition playlists.c:752
bool mympd_api_playlist_content_append_albums(struct t_partition_state *partition_state, struct t_cache *album_cache, sds plist, struct t_list *albumids, sds *error)
Definition playlists.c:376
bool mympd_api_playlist_content_rm_positions(struct t_partition_state *partition_state, sds plist, struct t_list *positions, sds *error)
Definition playlists.c:508
bool mympd_api_playlist_content_replace_search(struct t_partition_state *partition_state, sds expression, sds plist, const char *sort, bool sort_desc, sds *error)
Definition playlists.c:314
sds mympd_api_playlist_rename(struct t_partition_state *partition_state, sds buffer, unsigned request_id, const char *old_playlist, const char *new_playlist)
Definition playlists.c:910
bool mympd_api_playlist_content_insert_album_tag(struct t_partition_state *partition_state, struct t_cache *album_cache, sds plist, sds albumid, enum mpd_tag_type tag, sds value, unsigned to, sds *error)
Definition playlists.c:406
bool mympd_api_playlist_content_replace(struct t_partition_state *partition_state, sds plist, struct t_list *uris, sds *error)
Definition playlists.c:260
sds mympd_api_playlist_list(struct t_partition_state *partition_state, struct t_stickerdb_state *stickerdb, sds buffer, unsigned request_id, unsigned offset, unsigned limit, sds searchstr, enum playlist_types type, enum playlist_sort_types sort, bool sortdesc, const struct t_fields *tagcols)
Definition playlists.c:544
bool mympd_api_playlist_content_append_search(struct t_partition_state *partition_state, sds expression, sds plist, const char *sort, bool sort_desc, sds *error)
Definition playlists.c:298
bool mympd_api_playlist_content_insert_search(struct t_partition_state *partition_state, sds expression, sds plist, unsigned to, const char *sort, bool sort_desc, sds *error)
Definition playlists.c:276
Playlist helper functions.
playlist_sort_types
Definition playlists.h:29
playlist_types
Definition playlists.h:19
Central myMPD state for the mympd_api thread.
Definition cache_rax.h:22
Definition fields.h:37
Definition list.h:32
Definition mympd_state.h:114
Definition mympd_state.h:166