]> git.sesse.net Git - vlc/blobdiff - src/control/playlist.c
File type filters and implementation in WX. Refs:#24
[vlc] / src / control / playlist.c
index ffdb55e7bcc2fc8602949f52b6df9bcb121cd8d7..dc93eb4ffac9771e380519363cccfd58c88f9124 100644 (file)
@@ -39,35 +39,15 @@ void libvlc_playlist_play( libvlc_instance_t *p_instance, int i_id,
     }
     if( i_id > 0 )
     {
-        /* Always use the current view when using libvlc */
-        playlist_view_t *p_view;
-        playlist_item_t *p_item;
-
-        if( p_instance->p_playlist->status.i_view == -1 )
-        {
-            playlist_Control( p_instance->p_playlist, PLAYLIST_GOTO,
-                              i_id );
-        }
-        p_view = playlist_ViewFind( p_instance->p_playlist,
-                                    p_instance->p_playlist->status.i_view );
-        if( !p_view )
-        {
-             libvlc_exception_raise( p_exception,
-                                     "Unable to find current playlist view ");
-             return;
-        }
-
-        p_item = playlist_ItemGetById( p_instance->p_playlist, i_id );
+        playlist_item_t *p_item = playlist_ItemGetById( p_instance->p_playlist, i_id );
 
         if( !p_item )
         {
             libvlc_exception_raise( p_exception, "Unable to find item " );
             return;
         }
-
         playlist_Control( p_instance->p_playlist, PLAYLIST_VIEWPLAY,
-                          p_instance->p_playlist->status.i_view,
-                          p_view->p_root, p_item );
+                          p_instance->p_playlist->status.p_node, p_item );
     }
     else
     {
@@ -75,6 +55,16 @@ void libvlc_playlist_play( libvlc_instance_t *p_instance, int i_id,
     }
 }
 
+void libvlc_playlist_pause( libvlc_instance_t *p_instance,
+                           libvlc_exception_t *p_exception )
+{
+    if( playlist_Pause( p_instance->p_playlist ) != VLC_SUCCESS )
+    {
+        libvlc_exception_raise( p_exception, "Empty playlist" );
+    }
+}
+
+
 void libvlc_playlist_stop( libvlc_instance_t *p_instance,
                            libvlc_exception_t *p_exception )
 {
@@ -120,11 +110,18 @@ int libvlc_playlist_add_extended( libvlc_instance_t *p_instance,
                                   int i_options, const char **ppsz_options,
                                   libvlc_exception_t *p_exception )
 {
-    return playlist_AddExt( p_instance->p_playlist, psz_uri, psz_name,
+    return playlist_PlaylistAddExt( p_instance->p_playlist, psz_uri, psz_name,
                             PLAYLIST_INSERT, PLAYLIST_END, -1, ppsz_options,
                             i_options );
 }
 
+int libvlc_playlist_delete_item( libvlc_instance_t *p_instance, int i_id,
+                                 libvlc_exception_t *p_exception )
+{
+    return playlist_DeleteFromItemId( p_instance->p_playlist, i_id );
+}
+
+
 int libvlc_playlist_isplaying( libvlc_instance_t *p_instance,
                                libvlc_exception_t *p_exception )
 {