#include <vlc_vout.h>
#include <vlc_osd.h>
#include <vlc_playlist.h>
-#include <vlc_update.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
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 *,
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",
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"));
&val, &text );
msg_rc( "+----[ end of %s ]", val_name.psz_string );
- if( val_name.psz_string ) free( val_name.psz_string );
+ free( val_name.psz_string );
i_error = VLC_SUCCESS;
}
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 )
{
if( p_item )
{
msg_rc( "Trying to add %s to playlist.", newval.psz_string );
- playlist_AddInput( p_playlist, p_item,
+ if( playlist_AddInput( p_playlist, p_item,
PLAYLIST_GO|PLAYLIST_APPEND, PLAYLIST_END, VLC_TRUE,
- VLC_FALSE );
+ VLC_FALSE ) != VLC_SUCCESS )
+ {
+ return VLC_EGENERIC;
+ }
}
}
else if( !strcmp( psz_cmd, "enqueue" ) &&
if( p_item )
{
msg_rc( "trying to enqueue %s to playlist", newval.psz_string );
- playlist_AddInput( p_playlist, p_item,
+ if( playlist_AddInput( p_playlist, p_item,
PLAYLIST_APPEND, PLAYLIST_END, VLC_TRUE,
- VLC_FALSE);
+ VLC_FALSE ) != VLC_SUCCESS )
+ {
+ return VLC_EGENERIC;
+ }
}
}
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,
msg_rc( STATUS_CHANGE "( audio volume: %d )",
config_GetInt( p_intf, "volume" ));
- vlc_mutex_lock( &p_playlist->object_lock );
+ PL_LOCK;
switch( p_playlist->status.i_status )
{
case PLAYLIST_STOPPED:
msg_rc( STATUS_CHANGE "( state unknown )" );
break;
}
- vlc_mutex_unlock( &p_playlist->object_lock );
+ PL_UNLOCK;
}
}
&val, &text );
msg_rc( "+----[ end of %s ]", val_name.psz_string );
- if( val_name.psz_string ) free( val_name.psz_string );
+ free( val_name.psz_string );
i_error = VLC_SUCCESS;
}
&val, &text );
msg_rc( "+----[ end of %s ]", val_name.psz_string );
- if( val_name.psz_string ) free( val_name.psz_string );
+ free( val_name.psz_string );
i_error = VLC_SUCCESS;
}
else
{
msg_rc( _("Please provide one of the following parameters:") );
msg_rc( "[on|off|up|down|left|right|select]" );
- if( val.psz_string ) free( val.psz_string );
- return i_error;
+ free( val.psz_string );
+ return i_error;
}
i_error = VLC_SUCCESS;
- if( val.psz_string ) free( val.psz_string );
+ free( val.psz_string );
return i_error;
}
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;
*****************************************************************************/
static input_item_t *parse_MRL( intf_thread_t *p_intf, char *psz_mrl )
{
-#define SKIPSPACE( p ) { while( *p && ( *p == ' ' || *p == '\t' ) ) p++; }
+#define SKIPSPACE( p ) { while( *p == ' ' || *p == '\t' ) p++; }
#define SKIPTRAILINGSPACE( p, d ) \
{ char *e=d; while( e > p && (*(e-1)==' ' || *(e-1)=='\t') ){e--;*e=0;} }
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