p_sys->psz_current_dir = psz_tmp;
else
{
- p_sys->psz_current_dir = strdup( config_GetHomeDir() );
+ p_sys->psz_current_dir = config_GetUserDir( VLC_HOME_DIR );
free( psz_tmp );
}
static int HandleKey( intf_thread_t *p_intf, int i_key )
{
intf_sys_t *p_sys = p_intf->p_sys;
- vlc_value_t val;
int i_ret = 1;
playlist_t *p_playlist = pl_Hold( p_intf );
switch( i_key )
{
- vlc_value_t val;
/* Playlist Settings */
case 'r':
- var_Get( p_playlist, "random", &val );
- val.b_bool = !val.b_bool;
- var_Set( p_playlist, "random", val );
+ var_ToggleBool( p_playlist, "random" );
goto end;
case 'l':
- var_Get( p_playlist, "loop", &val );
- val.b_bool = !val.b_bool;
- var_Set( p_playlist, "loop", val );
+ var_ToggleBool( p_playlist, "loop" );
goto end;
case 'R':
- var_Get( p_playlist, "repeat", &val );
- val.b_bool = !val.b_bool;
- var_Set( p_playlist, "repeat", val );
+ var_ToggleBool( p_playlist, "repeat" );
goto end;
/* Playlist sort */
if( p_sys->pp_dir_entries[p_sys->i_box_bidx]->b_file || i_key == ' ' )
{
char* psz_uri;
- if( asprintf( &psz_uri, "directory://%s/%s", p_sys->psz_current_dir, p_sys->pp_dir_entries[p_sys->i_box_bidx]->psz_path ) == -1 )
+ if( asprintf( &psz_uri, "%s://%s/%s",
+ p_sys->pp_dir_entries[p_sys->i_box_bidx]->b_file ?
+ "file" : "directory",
+ p_sys->psz_current_dir,
+ p_sys->pp_dir_entries[p_sys->i_box_bidx]->psz_path
+ ) == -1 )
+ {
psz_uri = NULL;
+ }
playlist_item_t *p_parent = p_sys->p_node;
if( !p_parent )
{
playlist_item_t *p_parent = p_sys->p_node;
+ PL_LOCK;
if( !p_parent )
p_parent = playlist_CurrentPlayingItem(p_playlist) ? playlist_CurrentPlayingItem(p_playlist)->p_parent : NULL;
if( !p_parent )
while( p_parent->p_parent && p_parent->p_parent->p_parent )
p_parent = p_parent->p_parent;
+ PL_UNLOCK;
playlist_Add( p_playlist, p_sys->psz_open_chain, NULL,
PLAYLIST_APPEND|PLAYLIST_GO, PLAYLIST_END,
VLC_OBJECT_VOUT, FIND_CHILD );
if( p_vout )
{
- var_Get( p_vout, "fullscreen", &val );
- val.b_bool = !val.b_bool;
- var_Set( p_vout, "fullscreen", val );
+ var_ToggleBool( p_vout, "fullscreen" );
vlc_object_release( p_vout );
}
else
{
- var_Get( p_playlist, "fullscreen", &val );
- val.b_bool = !val.b_bool;
- var_Set( p_playlist, "fullscreen", val );
+ var_ToggleBool( p_playlist, "fullscreen" );
}
}
i_ret = 0;
case '[':
if( p_sys->p_input )
- var_SetVoid( p_sys->p_input, "prev-title" );
+ var_TriggerCallback( p_sys->p_input, "prev-title" );
break;
case ']':
if( p_sys->p_input )
- var_SetVoid( p_sys->p_input, "next-title" );
+ var_TriggerCallback( p_sys->p_input, "next-title" );
break;
case '<':
if( p_sys->p_input )
- var_SetVoid( p_sys->p_input, "prev-chapter" );
+ var_TriggerCallback( p_sys->p_input, "prev-chapter" );
break;
case '>':
if( p_sys->p_input )
- var_SetVoid( p_sys->p_input, "next-chapter" );
+ var_TriggerCallback( p_sys->p_input, "next-chapter" );
break;
case 'p':
static void DumpObject( intf_thread_t *p_intf, int *l, vlc_object_t *p_obj, int i_level )
{
- if( p_obj->psz_object_name )
+ /*if( p_obj->psz_object_name )
MainBoxWrite( p_intf, (*l)++, 1 + 2 * i_level, "%s \"%s\" (%p)",
p_obj->psz_object_type, p_obj->psz_object_name,
p_obj );
- else
+ else*/
MainBoxWrite( p_intf, (*l)++, 1 + 2 * i_level, "%s (%o)",
p_obj->psz_object_type, p_obj );
input_thread_t *p_input2 = playlist_CurrentInput( p_playlist );
PL_LOCK;
+ assert( p_item );
+ playlist_item_t *p_current_playing_item = playlist_CurrentPlayingItem(p_playlist);
if( ( p_node && p_item->p_input == p_node->p_input ) ||
- ( !p_node && p_input2 &&
- p_item->p_input == playlist_CurrentPlayingItem(p_playlist)->p_input ) )
+ ( !p_node && p_input2 && p_current_playing_item &&
+ p_item->p_input == p_current_playing_item->p_input ) )
c = '*';
else if( p_item == p_node || ( p_item != p_node &&
PlaylistIsPlaying( p_playlist, p_item ) ) )