void pc_enqueue_song(struct song *song) { assert(song != NULL); player_lock(); pc_enqueue_song_locked(song); player_unlock(); }
void pc_enqueue_song(struct player_control *pc, struct song *song) { assert(song != NULL); player_lock(pc); pc_enqueue_song_locked(pc, song); player_unlock(pc); }
void pc_play(struct song *song) { assert(song != NULL); player_lock(); if (pc.state != PLAYER_STATE_STOP) player_command_locked(PLAYER_COMMAND_STOP); assert(pc.next_song == NULL); pc_enqueue_song_locked(song); assert(pc.next_song == NULL); player_unlock(); idle_add(IDLE_PLAYER); }