]> git.sesse.net Git - vlc/blobdiff - include/vlc_playlist.h
* fixed compilation under linux
[vlc] / include / vlc_playlist.h
index a906bd9fb94f3b2d8d06a9d193c3f39d70424f2e..f7f644bdca9ded658be002a08f0a0f3922f3483f 100644 (file)
@@ -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 <sam@zoy.org>
  *
  *****************************************************************************/
 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 );
+}