]> git.sesse.net Git - vlc/blobdiff - include/vlc_playlist.h
Added INPUT_REPLACE_INFOS and INPUT_MERGE_INFOS.
[vlc] / include / vlc_playlist.h
index 8503635acf076deb561c9cc981b30bdb4591a2c8..233c73134057288d680e2ce742f164688dee5a59 100644 (file)
@@ -31,7 +31,7 @@ extern "C" {
 #include <vlc_input.h>
 #include <vlc_events.h>
 
-TYPEDEF_ARRAY(playlist_item_t*, playlist_item_array_t);
+TYPEDEF_ARRAY(playlist_item_t*, playlist_item_array_t)
 
 /**
  * \file
@@ -161,6 +161,7 @@ struct playlist_item_t
 #define PLAYLIST_RO_FLAG        0x0008    /**< Write-enabled ? */
 #define PLAYLIST_REMOVE_FLAG    0x0010    /**< Remove this item at the end */
 #define PLAYLIST_EXPANDED_FLAG  0x0020    /**< Expanded node */
+#define PLAYLIST_SUBITEM_STOP_FLAG 0x0040 /**< Must playlist stop if the item gets subitems ?*/
 
 /** Playlist status */
 typedef enum
@@ -178,6 +179,11 @@ struct playlist_t
     int                   i_current_index; /**< Index in current array */
 
     /* Predefined items */
+    playlist_item_t *     p_root;
+    playlist_item_t *     p_playing;
+    playlist_item_t *     p_media_library;
+
+    //Phony ones, point to those above;
     playlist_item_t *     p_root_category; /**< Root of category tree */
     playlist_item_t *     p_root_onelevel; /**< Root of onelevel tree */
     playlist_item_t *     p_local_category; /** < "Playlist" in CATEGORY view */
@@ -254,11 +260,11 @@ enum pl_locked_state
 #define PL_UNLOCK playlist_Unlock( p_playlist )
 #define PL_ASSERT_LOCKED playlist_AssertLocked( p_playlist )
 
-VLC_EXPORT( playlist_t *, __pl_Hold, ( vlc_object_t * ) );
-#define pl_Hold( a ) __pl_Hold( VLC_OBJECT(a) )
+VLC_EXPORT( playlist_t *, pl_Hold, ( vlc_object_t * ) );
+#define pl_Hold( a ) pl_Hold( VLC_OBJECT(a) )
 
-VLC_EXPORT( void, __pl_Release, ( vlc_object_t * ) );
-#define pl_Release(a) __pl_Release( VLC_OBJECT(a) )
+VLC_EXPORT( void, pl_Release, ( vlc_object_t * ) );
+#define pl_Release(a) pl_Release( VLC_OBJECT(a) )
 
 /* Playlist control */
 #define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, pl_Unlocked )
@@ -344,7 +350,7 @@ VLC_EXPORT( int,  playlist_DeleteFromInput, ( playlist_t *, input_item_t *, bool
 VLC_EXPORT( int,  playlist_Add,    ( playlist_t *, const char *, const char *, int, int, bool, bool ) );
 VLC_EXPORT( int,  playlist_AddExt, ( playlist_t *, const char *, const char *, int, int, mtime_t, int, const char *const *, unsigned, bool, bool ) );
 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 ) );
+VLC_EXPORT( playlist_item_t *, playlist_NodeAddInput, ( playlist_t *, input_item_t *, playlist_item_t *, int, int, bool ) );
 
 /********************************** Item search *************************/
 VLC_EXPORT( playlist_item_t *, playlist_ItemGetById, (playlist_t *, int ) );
@@ -363,7 +369,6 @@ VLC_EXPORT( int, playlist_NodeRemoveItem, (playlist_t *,playlist_item_t*,playlis
 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( 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 ) );