static void action_play (void) { int list = aud_playlist_get_temporary (); aud_playlist_set_active (list); if (aud_get_bool (NULL, "clear_playlist")) aud_playlist_entry_delete (list, 0, aud_playlist_entry_count (list)); else aud_playlist_queue_delete (list, 0, aud_playlist_queue_count (list)); do_add (TRUE, NULL); }
void playlist_queue_toggle (void) { gint list = aud_playlist_get_active (); gint focus = playlist_get_focus (list); if (focus < 0) return; gint at = aud_playlist_queue_find_entry (list, focus); if (at < 0) aud_playlist_queue_insert (list, -1, focus); else aud_playlist_queue_delete (list, at, 1); }
static void remove_selected (void) { gint list = aud_playlist_get_active (); gint count = aud_playlist_queue_count (list); for (gint i = 0; i < count; ) { gint entry = aud_playlist_queue_get_entry (list, i); if (aud_playlist_entry_get_selected (list, entry)) { aud_playlist_queue_delete (list, i, 1); aud_playlist_entry_set_selected (list, entry, FALSE); count --; } else i ++; } }