]> git.sesse.net Git - vlc/commitdiff
playlist_DeleteFromInput: pass the input item rather than its ID
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 16 May 2009 11:43:41 +0000 (14:43 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 16 May 2009 15:28:16 +0000 (18:28 +0300)
12 files changed:
include/vlc_playlist.h
modules/control/dbus.c
modules/control/http/macro.c
modules/control/http/rpn.c
modules/gui/macosx/playlist.m
modules/gui/ncurses.c
modules/gui/qt4/components/playlist/playlist_model.cpp
modules/gui/skins2/vars/playtree.cpp
modules/gui/wince/playlist.cpp
src/playlist/item.c
src/playlist/playlist_internal.h
src/playlist/services_discovery.c

index c92c274d2ff00202f6329a0ccca40dbfc5c63b47..d8de71caa0d64265d1f7919abd53da825e831418 100644 (file)
@@ -111,7 +111,7 @@ TYPEDEF_ARRAY(playlist_item_t*, playlist_item_array_t);
  * Generally speaking, playlist_NodeAddInput should not be used in newer code, it
  * will maybe become useful again when we merge VLM;
  *
- * To delete an item, use playlist_DeleteFromInput( input_id ) which will
+ * To delete an item, use playlist_DeleteFromInput( p_item ) which will
  * remove all occurrences of the input in both trees
  *
  *
@@ -322,7 +322,7 @@ VLC_EXPORT( bool, playlist_IsServicesDiscoveryLoaded, ( playlist_t *,const char
  ********************************************************/
 
 /*************************** Item deletion **************************/
-VLC_EXPORT( int,  playlist_DeleteFromInput, ( playlist_t *, int, bool ) );
+VLC_EXPORT( int,  playlist_DeleteFromInput, ( playlist_t *, input_item_t *, bool ) );
 
 /******************** Item addition ********************/
 VLC_EXPORT( int,  playlist_Add,    ( playlist_t *, const char *, const char *, int, int, bool, bool ) );
index 2753140710742b42bab9ade2db57f424b63be128..9aa7a9dadbd0635375aabbac29c695b5994f17e5 100644 (file)
@@ -514,7 +514,7 @@ DBUS_METHOD( DelTrack )
     if( i_position < p_playlist->current.i_size )
     {
         playlist_DeleteFromInput( p_playlist,
-            p_playlist->current.p_elems[i_position]->p_input->i_id,
+            p_playlist->current.p_elems[i_position]->p_input,
             pl_Locked );
     }
     PL_UNLOCK;
index 3e401478ad341519cca1b6309404716f0f99fde0..4d55c8df273deed99637f43be6ebc2f4356fa181 100644 (file)
@@ -381,7 +381,7 @@ static void MacroDo( httpd_file_sys_t *p_args,
                                                        p_items[i] );
                         if( p_item )
                             playlist_DeleteFromInput( p_sys->p_playlist,
-                                                      p_item->p_input->i_id,
+                                                      p_item->p_input,
                                                       false );
                     }
 
@@ -424,7 +424,7 @@ static void MacroDo( httpd_file_sys_t *p_args,
                             msg_Dbg( p_intf, "requested playlist delete: %d",
                                    p_sys->p_playlist->items.p_elems[i]->i_id );
                             playlist_DeleteFromInput( p_sys->p_playlist,
-                                p_sys->p_playlist->items.p_elems[i]->p_input->i_id,
+                                p_sys->p_playlist->items.p_elems[i]->p_input,
                                                       false );
                         }
                     }
index 05c30cf4fec935c37eb780621302b20ed0549074..43e72c5dbdeef192adf1640425c5730294c84c6b 100644 (file)
@@ -875,7 +875,7 @@ void EvaluateRPN( intf_thread_t *p_intf, mvar_t  *vars,
             if( p_item )
             {
                 playlist_DeleteFromInput( p_sys->p_playlist,
-                                          p_item->p_input->i_id, pl_Locked );
+                                          p_item->p_input, pl_Locked );
                 msg_Dbg( p_intf, "requested playlist delete: %d", i_id );
             }
             else
index d777d4ae864edec3715a16ff20e41e0e32b23f9d..269e513d5bdf5a42284bc6046f1adf6b68aab42b 100644 (file)
             playlist_NodeDelete( p_playlist, p_item, true, false );
         }
         else
-            playlist_DeleteFromInput( p_playlist, p_item->p_input->i_id, pl_Locked );
+            playlist_DeleteFromInput( p_playlist, p_item->p_input, pl_Locked );
     }
     PL_UNLOCK;
 
index 709171597c9cf4da596c970070d40a9e0eacfc05..d2f8ec8d7f57fd9f8e953fd4ee7b2f969907f6a8 100644 (file)
@@ -656,7 +656,7 @@ static int HandleKey( intf_thread_t *p_intf, int i_key )
                 if( p_item->i_children == -1 )
                 {
                     playlist_DeleteFromInput( p_playlist,
-                                              p_item->p_input->i_id, pl_Locked );
+                                              p_item->p_input, pl_Locked );
                 }
                 else
                 {
index a474abd94e7abb35f90f535360bce286bce7afcd..5910ce2537d8cf9b3ea107b21cbfd981aac7123c 100644 (file)
@@ -719,7 +719,7 @@ void PLModel::doDeleteItem( PLItem *item, QModelIndexList *fullList )
         return;
     }
     if( p_item->i_children == -1 )
-        playlist_DeleteFromInput( p_playlist, item->i_input_id, pl_Locked );
+        playlist_DeleteFromInput( p_playlist, p_item->p_input, pl_Locked );
     else
         playlist_NodeDelete( p_playlist, p_item, true, false );
     /* And finally, remove it from the tree */
index 839b928291b101a03be093d42fb6cf0295104157..3dc32ab8af3d3b8eead399dd4cffcdbebdccd584 100644 (file)
@@ -74,7 +74,7 @@ void Playtree::delSelected()
             if( p_item->i_children == -1 )
             {
                 playlist_DeleteFromInput( getIntf()->p_sys->p_playlist,
-                                          p_item->p_input->i_id, pl_Locked );
+                                          p_item->p_input, pl_Locked );
                 it2 = getNextVisibleItem( it ) ;
                 it->parent()->removeChild( it );
                 it = it2;
index fd695a4b8ff09051db0517036acb26104f9bdf79..8eebda56a780f0c1dfc2c98d9dd227870b9d5a03 100644 (file)
@@ -700,7 +700,7 @@ void Playlist::UpdateItem( int i )
 /**********************************************************************
  * Private functions
  **********************************************************************/
-void Playlist::DeleteItem( initem )
+void Playlist::DeleteItem( input_item_t *item )
 {
     playlist_t *p_playlist = pl_Hold( p_intf );
     if( p_playlist == NULL ) return;
index 27c3416b9c3a22b5e7ff3e0e0cc3a40b219ff9ea..212ee75420ca2c6e66dee6a8e0c1e1ea9340b6f3 100644 (file)
@@ -218,12 +218,12 @@ int playlist_ItemRelease( playlist_item_t *p_item )
  *
  * Remove an input item when it appears from a root playlist item
  * \param p_playlist playlist object
- * \param i_input_id id of the input to delete
+ * \param p_input the input to delete
  * \param p_root root playlist item
  * \param b_do_stop must stop or not the playlist
  * \return VLC_SUCCESS or VLC_EGENERIC
 */
-static int DeleteFromInput( playlist_t *p_playlist, int i_input_id,
+static int DeleteFromInput( playlist_t *p_playlist, input_item_t *p_input,
                             playlist_item_t *p_root, bool b_do_stop )
 {
     int i;
@@ -231,14 +231,14 @@ static int DeleteFromInput( playlist_t *p_playlist, int i_input_id,
     for( i = 0 ; i< p_root->i_children ; i++ )
     {
         if( p_root->pp_children[i]->i_children == -1 &&
-            p_root->pp_children[i]->p_input->i_id == i_input_id )
+            p_root->pp_children[i]->p_input == p_input )
         {
             DeleteInner( p_playlist, p_root->pp_children[i], b_do_stop );
             return VLC_SUCCESS;
         }
         else if( p_root->pp_children[i]->i_children >= 0 )
         {
-            int i_ret = DeleteFromInput( p_playlist, i_input_id,
+            int i_ret = DeleteFromInput( p_playlist, p_input,
                                          p_root->pp_children[i], b_do_stop );
             if( i_ret == VLC_SUCCESS ) return VLC_SUCCESS;
         }
@@ -251,18 +251,18 @@ static int DeleteFromInput( playlist_t *p_playlist, int i_input_id,
  *
  * Remove an input item when it appears from a root playlist item
  * \param p_playlist playlist object
- * \param i_input_id id of the input to delete
+ * \param p_input the input to delete
  * \param p_root root playlist item
  * \param b_locked TRUE if the playlist is locked
  * \return VLC_SUCCESS or VLC_EGENERIC
  */
-int playlist_DeleteFromInputInParent( playlist_t *p_playlist, int i_input_id,
+int playlist_DeleteFromInputInParent( playlist_t *p_playlist,
+                                      input_item_t *p_item,
                                       playlist_item_t *p_root, bool b_locked )
 {
     int i_ret;
     PL_LOCK_IF( !b_locked );
-    i_ret = DeleteFromInput( p_playlist, i_input_id,
-                             p_root, true );
+    i_ret = DeleteFromInput( p_playlist, p_item, p_root, true );
     PL_UNLOCK_IF( !b_locked );
     return i_ret;
 }
@@ -272,18 +272,18 @@ int playlist_DeleteFromInputInParent( playlist_t *p_playlist, int i_input_id,
  *
  * Remove an input item from ONELEVEL and CATEGORY
  * \param p_playlist playlist object
- * \param i_input_id id of the input to delete
+ * \param p_input the input to delete
  * \param b_locked TRUE if the playlist is locked
  * \return VLC_SUCCESS or VLC_ENOITEM
  */
-int playlist_DeleteFromInput( playlist_t *p_playlist, int i_input_id,
+int playlist_DeleteFromInput( playlist_t *p_playlist, input_item_t *p_input,
                               bool b_locked )
 {
     int i_ret1, i_ret2;
     PL_LOCK_IF( !b_locked );
-    i_ret1 = DeleteFromInput( p_playlist, i_input_id,
+    i_ret1 = DeleteFromInput( p_playlist, p_input,
                              p_playlist->p_root_category, true );
-    i_ret2 = DeleteFromInput( p_playlist, i_input_id,
+    i_ret2 = DeleteFromInput( p_playlist, p_input,
                      p_playlist->p_root_onelevel, true );
     PL_UNLOCK_IF( !b_locked );
     return ( i_ret1 == VLC_SUCCESS || i_ret2 == VLC_SUCCESS ) ?
@@ -620,7 +620,7 @@ static playlist_item_t *ItemToNode( playlist_t *p_playlist,
                 if( p_prev_status_item )
                     set_current_status_item( p_playlist, p_prev_status_item );
             }
-            DeleteFromInput( p_playlist, p_item_in_one->p_input->i_id,
+            DeleteFromInput( p_playlist, p_item_in_one->p_input,
                              p_playlist->p_root_onelevel, false );
         }
         pl_priv(p_playlist)->b_reset_currently_playing = true;
index 86279f66ed60b015f620896829ffa696dde72954..6a8d0099c4afd02dcaab83a05b251b38d234e297 100644 (file)
@@ -138,7 +138,8 @@ playlist_item_t *playlist_ItemFindFromInputAndRoot( playlist_t *p_playlist,
                                    int i_input_id, playlist_item_t *p_root,
                                    bool );
 
-int playlist_DeleteFromInputInParent( playlist_t *, int, playlist_item_t *, bool );
+int playlist_DeleteFromInputInParent( playlist_t *, input_item_t *,
+                                      playlist_item_t *, bool );
 int playlist_DeleteFromItemId( playlist_t*, int );
 int playlist_ItemRelease( playlist_item_t * );
 
index ab69fb54c2cd5e6b182d8381f7d16a27a7977889..54fb294b6f69596ec08006ca8aaf6dc86943f29d 100644 (file)
@@ -219,7 +219,7 @@ static void playlist_sd_item_removed( const vlc_event_t * p_event, void * user_d
         playlist_NodeDelete( p_parent->p_playlist, p_pl_item, true, false );
     else
         /* Delete the non-node item normally */
-        playlist_DeleteFromInputInParent( p_parent->p_playlist, p_input->i_id,
+        playlist_DeleteFromInputInParent( p_parent->p_playlist, p_input,
                                           p_parent, pl_Locked );
 
     playlist_Unlock( p_parent->p_playlist );