]> git.sesse.net Git - vlc/blobdiff - include/vlc_playlist.h
Merge branch '1.0'
[vlc] / include / vlc_playlist.h
index c30a09b9ceb818bb8e3109bdb0b1d4140ed179da..d8de71caa0d64265d1f7919abd53da825e831418 100644 (file)
@@ -111,9 +111,24 @@ TYPEDEF_ARRAY(playlist_item_t*, playlist_item_array_t);
  * Generally speaking, playlist_NodeAddInput should not be used in newer code, it
  * will maybe become useful again when we merge VLM;
  *
- * To delete an item, use playlist_DeleteFromInput( input_id ) which will
+ * To delete an item, use playlist_DeleteFromInput( p_item ) which will
  * remove all occurrences of the input in both trees
  *
+ *
+ * The playlist defines the following event variables:
+ *
+ * - "item-change": It will contains the input_item_t->i_id of a changed input
+ * item monitored by the playlist.
+ * * - "item-current": It will contains a input_item_t->i_id of the current
+ * item being played.
+ *
+ * - "playlist-item-append": It will contains a pointer to a playlist_add_t.
+ * - "playlist-item-deleted": It will contains the playlist_item_t->i_id of a deleted
+ * playlist_item_t.
+ *
+ * XXX Be really carefull, playlist_item_t->i_id and input_item_t->i_id are not
+ * the same. Yes, the situation is pretty bad.
+ *
  * @{
  */
 
@@ -173,9 +188,8 @@ struct playlist_t
 /** Helper to add an item */
 struct playlist_add_t
 {
-    int i_node;
-    int i_item;
-    int i_position;
+    int i_node; /**< Playist id of the parent node */
+    int i_item; /**< Playist id of the playlist_item_t */
 };
 
 enum
@@ -274,9 +288,7 @@ VLC_EXPORT( int, playlist_AskForArtEnqueue, (playlist_t *, input_item_t *, bool
 VLC_EXPORT( int,  playlist_TreeMove, ( playlist_t *, playlist_item_t *, playlist_item_t *, int ) );
 VLC_EXPORT( int,  playlist_RecursiveNodeSort, ( playlist_t *, playlist_item_t *,int, int ) );
 
-VLC_EXPORT( int,  playlist_CurrentId, ( playlist_t * ) );
 VLC_EXPORT( playlist_item_t *,  playlist_CurrentPlayingItem, ( playlist_t * ) );
-VLC_EXPORT( bool,  playlist_IsPlaying, ( playlist_t * ) );
 VLC_EXPORT( int,   playlist_Status, ( playlist_t * ) );
 
 /**
@@ -310,7 +322,7 @@ VLC_EXPORT( bool, playlist_IsServicesDiscoveryLoaded, ( playlist_t *,const char
  ********************************************************/
 
 /*************************** Item deletion **************************/
-VLC_EXPORT( int,  playlist_DeleteFromInput, ( playlist_t *, int, bool ) );
+VLC_EXPORT( int,  playlist_DeleteFromInput, ( playlist_t *, input_item_t *, bool ) );
 
 /******************** Item addition ********************/
 VLC_EXPORT( int,  playlist_Add,    ( playlist_t *, const char *, const char *, int, int, bool, bool ) );
@@ -318,21 +330,15 @@ VLC_EXPORT( int,  playlist_AddExt, ( playlist_t *, const char *, const char *, i
 VLC_EXPORT( int, playlist_AddInput, ( playlist_t *, input_item_t *, int, int, bool, bool ) );
 VLC_EXPORT( int, playlist_BothAddInput, ( playlist_t *, input_item_t *,playlist_item_t *,int , int, int*, int*, bool ) );
 
-/********************** Misc item operations **********************/
-VLC_EXPORT( playlist_item_t*, playlist_ItemToNode, (playlist_t *,playlist_item_t *, bool) );
-
 /********************************** Item search *************************/
 VLC_EXPORT( playlist_item_t *, playlist_ItemGetById, (playlist_t *, int ) );
 VLC_EXPORT( playlist_item_t *, playlist_ItemGetByInput, (playlist_t *,input_item_t * ) );
-VLC_EXPORT( playlist_item_t *, playlist_ItemGetByInputId, (playlist_t *, int, playlist_item_t *) );
 
 VLC_EXPORT( int, playlist_LiveSearchUpdate, (playlist_t *, playlist_item_t *, const char *) );
 
 /********************************************************
  * Tree management
  ********************************************************/
-VLC_EXPORT( int, playlist_NodeChildrenCount, (playlist_t *,playlist_item_t* ) );
-
 /* Node management */
 VLC_EXPORT( playlist_item_t *, playlist_NodeCreate, ( playlist_t *, const char *, playlist_item_t * p_parent, int i_flags, input_item_t * ) );
 VLC_EXPORT( int, playlist_NodeAppend, (playlist_t *,playlist_item_t*,playlist_item_t *) );
@@ -340,8 +346,7 @@ VLC_EXPORT( int, playlist_NodeInsert, (playlist_t *,playlist_item_t*,playlist_it
 VLC_EXPORT( int, playlist_NodeRemoveItem, (playlist_t *,playlist_item_t*,playlist_item_t *) );
 VLC_EXPORT( playlist_item_t *, playlist_ChildSearchName, (playlist_item_t*, const char* ) );
 VLC_EXPORT( int, playlist_NodeDelete, ( playlist_t *, playlist_item_t *, bool , bool ) );
-VLC_EXPORT( int, playlist_NodeEmpty, ( playlist_t *, playlist_item_t *, bool ) );
-VLC_EXPORT( void, playlist_NodesPairCreate, (playlist_t *, const char *, playlist_item_t **, playlist_item_t **, bool ) );
+
 VLC_EXPORT( playlist_item_t *, playlist_GetPreferredNode, ( playlist_t *p_playlist, playlist_item_t *p_node ) );
 VLC_EXPORT( playlist_item_t *, playlist_GetNextLeaf, ( playlist_t *p_playlist, playlist_item_t *p_root, playlist_item_t *p_item, bool b_ena, bool b_unplayed ) );
 VLC_EXPORT( playlist_item_t *, playlist_GetPrevLeaf, ( playlist_t *p_playlist, playlist_item_t *p_root, playlist_item_t *p_item, bool b_ena, bool b_unplayed ) );