-
- bool b_tree; /**< Display as a tree */
-
- bool b_doing_ml; /**< Doing media library stuff,
- * get quicker */
- bool b_auto_preparse;
-
- /* Runtime */
- input_thread_t * p_input; /**< the input thread associated
- * with the current item */
- int i_sort; /**< Last sorting applied to the playlist */
- int i_order; /**< Last ordering applied to the playlist */
- mtime_t gc_date;
- bool b_cant_sleep;
- playlist_preparse_t *p_preparse; /**< Preparser object */
- playlist_fetcher_t *p_fetcher;/**< Meta and art fetcher object */
-
- vlc_mutex_t gc_lock; /**< Lock to protect the garbage collection */
-
- struct {
- /* Current status. These fields are readonly, only the playlist
- * main loop can touch it*/
- playlist_status_t i_status; /**< Current status of playlist */
- playlist_item_t * p_item; /**< Currently playing/active item */
- playlist_item_t * p_node; /**< Current node to play from */
- } status;
-
- struct {
- /* Request. Use this to give orders to the playlist main loop */
- int i_status; /**< requested playlist status */
- playlist_item_t * p_node; /**< requested node to play from */
- playlist_item_t * p_item; /**< requested item to play in the node */
-
- int i_skip; /**< Number of items to skip */
-
- bool b_request;/**< Set to true by the requester
- The playlist sets it back to false
- when processing the request */
- vlc_mutex_t lock; /**< Lock to protect request */
- } request;