/* * Copyright 2014 (c) Anna Schumaker. */ extern "C" { #include #include #include #include #include } #include #include static void *collection_init(struct queue *queue) { return gui_queue_alloc(queue, "Collection", GQ_CAN_RANDOM); } static void collection_added(struct queue *queue, unsigned int pos) { gui_queue_added(queue, pos); gui_sidebar_set_size(gui_queue(queue)); } static bool collection_erase(struct queue *queue, struct track *track) { return playlist_add(PL_HIDDEN, track); } static void collection_removed(struct queue *queue, unsigned int pos) { gui_queue_removed(queue, pos); gui_sidebar_set_size(gui_queue(queue)); } struct queue_ops collection_ops = { collection_init, gui_queue_free, collection_added, collection_erase, collection_removed, gui_queue_cleared, collection_save, gui_queue_updated, };