X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/3867fa20c6fd4e319b1ab77ebfa3ed8c68cbcfa7..4265e5d362914f3732b4035dcf67162e525e0142:/lib/queue.h diff --git a/lib/queue.h b/lib/queue.h index f62ccac..72e3876 100644 --- a/lib/queue.h +++ b/lib/queue.h @@ -31,15 +31,16 @@ enum playing_state { /** @brief Track failed to play */ playing_failed, - /** @brief Track is a scratch and has not been played yet + /** @brief OBSOLETE * - * Going to become obsolete. + * Formerly denoted an unplayed scratch. This is now indicated by @p + * playing_unplayed and @p origin_scratch. */ playing_isscratch, - /** @brief Could not find a player + /** @brief OBSOLETE * - * Obsolete - nothing sets this any more + * Formerly meant that no player could be found. Nothing sets this any more. */ playing_no_player, @@ -93,8 +94,7 @@ extern const char *const playing_states[]; enum track_origin { /** @brief Track was picked at random and then adopted by a user * - * @c submitter identifies who adopted it. This isn't implemented - * yet. + * @c submitter identifies who adopted it. */ origin_adopted, @@ -188,7 +188,14 @@ struct queue_entry { /** @brief How much of track has been played so far (seconds) */ long sofar; - /** @brief True if decoder is connected to speaker */ + /** @brief True if decoder is connected to speaker + * + * This is not a @ref playing_state for a couple of reasons + * - it is orthogonal to @ref playing_started and @ref playing_unplayed + * - it would have to be hidden to other users of @c queue_entry + * + * For non-raw tracks this should always be zero. + */ int prepared; /* For DISORDER_PLAYER_PAUSES only: */ @@ -203,6 +210,9 @@ struct queue_entry { /** @brief Owning queue (for Disobedience only) */ struct queuelike *ql; + + /** @brief Decoder (or player) process ID */ + pid_t pid; }; void queue_insert_entry(struct queue_entry *b, struct queue_entry *n);