X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_playlist.h;h=f7f644bdca9ded658be002a08f0a0f3922f3483f;hb=f38481fddcab1d0b26fc4d58b134f4098531df8d;hp=a906bd9fb94f3b2d8d06a9d193c3f39d70424f2e;hpb=bf9b62a4ea50a2ac124711378775c1def87243ca;p=vlc diff --git a/include/vlc_playlist.h b/include/vlc_playlist.h index a906bd9fb9..f7f644bdca 100644 --- a/include/vlc_playlist.h +++ b/include/vlc_playlist.h @@ -2,7 +2,7 @@ * vlc_playlist.h : Playlist functions ***************************************************************************** * Copyright (C) 1999, 2000, 2001, 2002 VideoLAN - * $Id: vlc_playlist.h,v 1.3 2002/07/20 18:01:42 sam Exp $ + * $Id: vlc_playlist.h,v 1.9 2003/03/17 17:10:21 hartman Exp $ * * Authors: Samuel Hocevar * @@ -26,9 +26,11 @@ *****************************************************************************/ struct playlist_item_t { - char * psz_name; - int i_type; /* unused yet */ - int i_status; /* unused yet */ + char * psz_name; + char * psz_uri; + int i_type; /* unused yet */ + int i_status; /* unused yet */ + vlc_bool_t b_autodeletion; }; /***************************************************************************** @@ -51,10 +53,17 @@ struct playlist_t input_thread_t * p_input; }; +/***************************************************************************** + * Playlist status + *****************************************************************************/ +#define PLAYLIST_STOPPED 0 +#define PLAYLIST_RUNNING 1 +#define PLAYLIST_PAUSED 2 + /***************************************************************************** * Prototypes *****************************************************************************/ -#define playlist_Create(a) __playlist_Create(CAST_TO_VLC_OBJECT(a)) +#define playlist_Create(a) __playlist_Create(VLC_OBJECT(a)) playlist_t * __playlist_Create ( vlc_object_t * ); void playlist_Destroy ( playlist_t * ); @@ -68,5 +77,30 @@ void playlist_Destroy ( playlist_t * ); VLC_EXPORT( void, playlist_Command, ( playlist_t *, int, int ) ); VLC_EXPORT( int, playlist_Add, ( playlist_t *, const char *, int, int ) ); +VLC_EXPORT( int, playlist_AddItem, ( playlist_t *, playlist_item_t *, int, int ) ); VLC_EXPORT( int, playlist_Delete, ( playlist_t *, int ) ); +VLC_EXPORT( int, playlist_Move, ( playlist_t *, int, int ) ); +VLC_EXPORT( int, playlist_LoadFile, ( playlist_t *, const char * ) ); +VLC_EXPORT( int, playlist_SaveFile, ( playlist_t *, const char * ) ); + +static inline vlc_bool_t playlist_IsPlaying( playlist_t * p_playlist ) +{ + vlc_bool_t b_playing; + + vlc_mutex_lock( &p_playlist->object_lock ); + b_playing = p_playlist->i_status == PLAYLIST_RUNNING; + vlc_mutex_unlock( &p_playlist->object_lock ); + + return( b_playing ); +} + +static inline vlc_bool_t playlist_IsEmpty( playlist_t * p_playlist ) +{ + vlc_bool_t b_empty; + + vlc_mutex_lock( &p_playlist->object_lock ); + b_empty = p_playlist->i_size == 0; + vlc_mutex_unlock( &p_playlist->object_lock ); + return( b_empty ); +}