X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_playlist.h;h=f6cb8a94bf14ea2661d858f302ce26371befe71f;hb=cafb4269670c35cad981cbe70efe03b845fbdb08;hp=26ed795e8017445d0cdcf3def3b5b3c4f3458b62;hpb=22b2b54f1fae6b33583e588b5afc167ffdd99e11;p=vlc diff --git a/include/vlc_playlist.h b/include/vlc_playlist.h index 26ed795e80..f6cb8a94bf 100644 --- a/include/vlc_playlist.h +++ b/include/vlc_playlist.h @@ -153,7 +153,6 @@ struct playlist_item_t int i_id; /**< Playlist item specific id */ uint8_t i_flags; /**< Flags */ playlist_t *p_playlist; /**< Parent playlist */ - bool b_input_item_observer; }; #define PLAYLIST_SAVE_FLAG 0x0001 /**< Must it be saved */ @@ -180,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 */ @@ -256,11 +260,8 @@ 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( void, pl_Release, ( vlc_object_t * ) ); -#define pl_Release(a) pl_Release( VLC_OBJECT(a) ) +VLC_EXPORT( playlist_t *, pl_Get, ( vlc_object_t * ) ); +#define pl_Get( a ) pl_Get( VLC_OBJECT(a) ) /* Playlist control */ #define playlist_Play(p) playlist_Control(p,PLAYLIST_PLAY, pl_Unlocked ) @@ -296,10 +297,10 @@ VLC_EXPORT( input_thread_t *, playlist_CurrentInput, ( playlist_t *p_playlist ) VLC_EXPORT( void, playlist_Clear, ( playlist_t *, bool ) ); /** Enqueue an input item for preparsing */ -VLC_EXPORT( int, playlist_PreparseEnqueue, (playlist_t *, input_item_t *, bool b_locked ) ); +VLC_EXPORT( int, playlist_PreparseEnqueue, (playlist_t *, input_item_t * ) ); /** Request the art for an input item to be fetched */ -VLC_EXPORT( int, playlist_AskForArtEnqueue, (playlist_t *, input_item_t *, bool b_locked ) ); +VLC_EXPORT( int, playlist_AskForArtEnqueue, (playlist_t *, input_item_t * ) ); /* Playlist sorting */ VLC_EXPORT( int, playlist_TreeMove, ( playlist_t *, playlist_item_t *, playlist_item_t *, int ) ); @@ -346,26 +347,26 @@ 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 ) ); +VLC_EXPORT( int, playlist_NodeAddCopy, ( playlist_t *, playlist_item_t *, playlist_item_t *, int ) ); /********************************** 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( int, playlist_LiveSearchUpdate, (playlist_t *, playlist_item_t *, const char *) ); +VLC_EXPORT( int, playlist_LiveSearchUpdate, (playlist_t *, playlist_item_t *, const char *, bool ) ); /******************************************************** * Tree management ********************************************************/ /* 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( playlist_item_t *, playlist_NodeCreate, ( playlist_t *, const char *, playlist_item_t * p_parent, int i_pos, int i_flags, input_item_t * ) ); VLC_EXPORT( int, playlist_NodeAppend, (playlist_t *,playlist_item_t*,playlist_item_t *) ); VLC_EXPORT( int, playlist_NodeInsert, (playlist_t *,playlist_item_t*,playlist_item_t *, int) ); 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( 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 ) ); @@ -376,11 +377,7 @@ VLC_EXPORT( playlist_item_t *, playlist_GetPrevLeaf, ( playlist_t *p_playlist, p #define pl_CurrentInput(a) __pl_CurrentInput( VLC_OBJECT(a) ) static inline input_thread_t * __pl_CurrentInput( vlc_object_t * p_this ) { - playlist_t * p_playlist = pl_Hold( p_this ); - if( !p_playlist ) return NULL; - input_thread_t * p_input = playlist_CurrentInput( p_playlist ); - pl_Release( p_this ); - return p_input; + return playlist_CurrentInput( pl_Get( p_this ) ); } /** Tell if the playlist is empty */