]> git.sesse.net Git - vlc/blobdiff - modules/control/rc.c
Improve playlist drawing with rc.
[vlc] / modules / control / rc.c
index 4bb3430b688f13e9ca026f4b072c6c54088804fe..7f5477642075b1fe63cf7c60d17b8a381ee616ee 100644 (file)
@@ -40,7 +40,6 @@
 #include <vlc_vout.h>
 #include <vlc_osd.h>
 #include <vlc_playlist.h>
-#include <vlc_update.h>
 
 #ifdef HAVE_UNISTD_H
 #    include <unistd.h>
@@ -103,9 +102,6 @@ static int  Statistics   ( vlc_object_t *, char const *,
                            vlc_value_t, vlc_value_t, void * );
 
 static int updateStatistics( intf_thread_t *, input_item_t *);
-#if 0 && defined( UPDATE_CHECK )
-static void checkUpdates( intf_thread_t *p_intf );
-#endif
 
 /* Status Callbacks */
 static int TimeOffsetChanged( vlc_object_t *, char const *,
@@ -758,12 +754,6 @@ static void Run( intf_thread_t *p_intf )
 
             Help( p_intf, b_longhelp );
         }
-#if 0 && defined( UPDATE_CHECK )
-        else if( !strcmp( psz_cmd, "check-updates" ) )
-        {
-            checkUpdates( p_intf );
-        }
-#endif
         else if( !strcmp( psz_cmd, "key" ) || !strcmp( psz_cmd, "hotkey" ) )
         {
             var_SetInteger( p_intf->p_libvlc, "key-pressed",
@@ -933,11 +923,6 @@ static void Help( intf_thread_t *p_intf, vlc_bool_t b_longhelp)
         msg_rc(_("| @name mosaic-cols #. . . . . . . . . . .number of cols"));
         msg_rc(_("| @name mosaic-order id(,id)* . . . . order of pictures "));
         msg_rc(_("| @name mosaic-keep-aspect-ratio {0,1} . . .aspect ratio"));
-#if 0 && defined( UPDATE_CHECK )
-        msg_rc(  "| ");
-        msg_rc(_("| check-updates [newer] [equal] [older]\n"
-                 "|               [undef] [info] [source] [binary] [plugin]"));
-#endif
         msg_rc(  "| ");
     }
     msg_rc(_("| help . . . . . . . . . . . . . . . this help message"));
@@ -1283,6 +1268,25 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
     return VLC_EGENERIC;
 }
 
+static void print_playlist( intf_thread_t *p_intf, playlist_item_t *p_item, int i_level )
+{
+    int i;
+    char psz_buffer[MSTRTIME_MAX_SIZE];
+    for( i = 0; i< p_item->i_children; i++ )
+    {
+        if( p_item->pp_children[i]->p_input->i_duration != -1 )
+        {
+            secstotimestr( psz_buffer, p_item->pp_children[i]->p_input->i_duration / 1000000 );
+            msg_rc( "|%*s- %s (%s)", 2 * i_level, "", p_item->pp_children[i]->p_input->psz_name, psz_buffer );
+        }
+        else
+            msg_rc( "|%*s- %s", 2 * i_level, "", p_item->pp_children[i]->p_input->psz_name );
+
+        if( p_item->pp_children[i]->i_children >= 0 )
+            print_playlist( p_intf, p_item->pp_children[i], i_level + 1 );
+    }
+}
+
 static int Playlist( vlc_object_t *p_this, char const *psz_cmd,
                      vlc_value_t oldval, vlc_value_t newval, void *p_data )
 {
@@ -1449,11 +1453,11 @@ static int Playlist( vlc_object_t *p_this, char const *psz_cmd,
     }
     else if( !strcmp( psz_cmd, "playlist" ) )
     {
-        msg_Dbg( p_playlist, "Dumping category" );
-        playlist_NodeDump( p_playlist, p_playlist->p_root_category, 0 );
-        msg_Dbg( p_playlist, "Dumping Onelevel" );
-        playlist_NodeDump( p_playlist, p_playlist->p_root_onelevel, 0 );
+        msg_rc( "+----[ Playlist ]" );
+        print_playlist( p_intf, p_playlist->p_root_category, 0 );
+        msg_rc( "+----[ End of playlist ]" );
     }
+
     else if( !strcmp( psz_cmd, "sort" ))
     {
         playlist_RecursiveNodeSort( p_playlist, p_playlist->p_root_onelevel,
@@ -2123,8 +2127,11 @@ vlc_bool_t ReadCommand( intf_thread_t *p_intf, char *p_buffer, int *pi_size )
             p_intf->p_sys->i_socket = -1;
         }
         else
+        {
             /* Standard input closed: exit */
-            vlc_object_kill( p_intf );
+            vlc_value_t empty;
+            Quit( p_intf, NULL, empty, empty, NULL );
+        }
 
         p_buffer[ *pi_size ] = 0;
         return VLC_TRUE;
@@ -2216,19 +2223,3 @@ static input_item_t *parse_MRL( intf_thread_t *p_intf, char *psz_mrl )
 
     return p_item;
 }
-
-/*****************************************************************************
- * checkUpdates : check for updates
- ****************************************************************************/
-#if 0 && defined( UPDATE_CHECK )
-static void checkUpdates( intf_thread_t *p_intf )
-{
-    /*TODO: - modify this to delete p_update to avoid a memory leak !
-            - complete the function wich is not working obiously !
-    update_t *p_u = update_New( p_intf );
-    var_AddCallback( p_intf->p_libvlc, "update-notify", updatesCallback, p_intf );
-
-    msg_rc( "\nChecking for updates" );
-    update_Check( p_u );*/
-}
-#endif