]> git.sesse.net Git - vlc/blobdiff - include/vlc_playlist.h
Ehm, this is 0.9.0-test2, not 0.8.6i *coughcough*
[vlc] / include / vlc_playlist.h
index 9070f754ba687b314c8190be133058d11fb21fac..39e464c7b2bb836e92868b2fa738c95874037511 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#if !defined( __LIBVLC__ )
-  #error You are not libvlc or one of its plugins. You cannot include this file
-#endif
-
 #ifndef _VLC_PLAYLIST_H_
 #define _VLC_PLAYLIST_H_
 
@@ -298,6 +294,10 @@ VLC_EXPORT( void, __pl_Release, ( vlc_object_t * ) );
  */
 VLC_EXPORT( int, playlist_Control, ( playlist_t *p_playlist, int i_query, bool b_locked, ...  ) );
 
+/** Get current playing input. The object is retained.
+ */
+VLC_EXPORT( input_thread_t *, playlist_CurrentInput, ( playlist_t *p_playlist ) );
+
 /** Clear the playlist
  * \param b_locked TRUE if playlist is locked when entering this function
  */
@@ -415,8 +415,13 @@ static inline int playlist_Import( playlist_t *p_playlist, const char *psz_file)
     return VLC_SUCCESS;
 }
 
+
 /** Tell if the playlist is currently running */
-#define playlist_IsPlaying( pl ) ( pl->status.i_status == PLAYLIST_RUNNING )
+#define playlist_IsPlaying( pl ) ( pl->status.i_status == PLAYLIST_RUNNING && \
+            !(pl->request.b_request && pl->request.i_status == PLAYLIST_STOPPED) )
+
+#define playlist_IsStopped( pl ) ( pl->status.i_status == PLAYLIST_STOPPED || \
+            (pl->request.b_request && pl->request.i_status == PLAYLIST_STOPPED) )
 
 /** Tell if the playlist is empty */
 #define playlist_IsEmpty( pl ) ( pl->items.i_size == 0 )
@@ -424,6 +429,9 @@ static inline int playlist_Import( playlist_t *p_playlist, const char *psz_file)
 /** Tell the number of items in the current playing context */
 #define playlist_CurrentSize( pl ) pl->current.i_size
 
+/** Tell the current item id in current  playing context */
+#define playlist_CurrentId( pl ) pl->status.p_item->i_id
+
 /** Ask the playlist to do some work */
 #define playlist_Signal( p_playlist ) vlc_object_signal( p_playlist )