20 #ifndef MPDCLIENT_PLAYLIST_H 21 #define MPDCLIENT_PLAYLIST_H 25 #include <mpd/client.h> 52 assert(playlist != NULL);
53 assert(playlist->
list != NULL);
55 return playlist->
list->len;
58 static inline gboolean
61 return playlist_length(playlist) == 0;
64 static inline struct mpd_song *
67 assert(idx < playlist_length(playlist));
69 return g_ptr_array_index(playlist->
list, idx);
75 g_ptr_array_add(playlist->
list, mpd_song_dup(song));
80 const struct mpd_song *song)
82 assert(idx < playlist_length(playlist));
84 g_ptr_array_index(playlist->
list, idx) = mpd_song_dup(song);
89 const struct mpd_song *song)
91 mpd_song_free(playlist_get(playlist, idx));
92 playlist_set(playlist, idx, song);
95 static inline struct mpd_song *
98 return g_ptr_array_remove_index(playlist->
list, idx);
104 mpd_song_free(playlist_remove_reuse(playlist, idx));
109 unsigned dest,
unsigned src);
111 const struct mpd_song *
114 const struct mpd_song *
119 const struct mpd_song *song);
127 const gchar *filename);
131 const struct mpd_song *song)
144 const struct mpd_song *song)
unsigned version
Definition: playlist.h:32
gint mpdclient_playlist_free(struct mpdclient_playlist *playlist)
const struct mpd_song * playlist_lookup_song(const struct mpdclient_playlist *playlist, unsigned id)
void playlist_init(struct mpdclient_playlist *playlist)
gcc_pure gint playlist_get_id_from_uri(const struct mpdclient_playlist *playlist, const gchar *uri)
gint playlist_get_index_from_file(const struct mpdclient_playlist *playlist, const gchar *filename)
GPtrArray * list
Definition: playlist.h:35
void playlist_move(struct mpdclient_playlist *playlist, unsigned dest, unsigned src)
gint playlist_get_index_from_id(const struct mpdclient_playlist *playlist, unsigned id)
void playlist_clear(struct mpdclient_playlist *playlist)
const struct mpd_song * playlist_get_song(const struct mpdclient_playlist *playlist, gint index)
#define gcc_pure
Definition: Compiler.h:100
gint playlist_get_index(const struct mpdclient_playlist *playlist, const struct mpd_song *song)
Definition: playlist.h:30