/* * Copyright 2013 (c) Anna Schumaker. */ #include #include static enum playlist_t playlist_cur; static const gchar *playlist_names[5] = { "Favorites", "Hidden", "Unplayed", "Most Played", "Least Played" }; void playlist_init(struct queue_ops *ops) { pl_system_init(ops); } void playlist_deinit() { pl_system_deinit(); } bool playlist_add(enum playlist_t plist, struct track *track) { if (!track) return false; return pl_system.pl_add_track(playlist_names[plist], track); } bool playlist_remove(enum playlist_t plist, struct track *track) { if (!track) return false; return pl_system.pl_remove_track(playlist_names[plist], track); } void playlist_update(enum playlist_t plist) { pl_system.pl_update(playlist_names[plist]); } bool playlist_has(enum playlist_t plist, struct track *track) { struct queue *queue = pl_system.pl_get_queue(playlist_names[plist]); if (!track || !queue) return false; return queue_has(queue, track); } void playlist_select(enum playlist_t plist) { playlist_cur = plist; } struct queue *playlist_get_queue(enum playlist_t plist) { return pl_system.pl_get_queue(playlist_names[plist]); }