}
else if (!strcmp( psz_cmd, "goto" ) )
{
- msg_rc( _("goto is deprecated" ) );
- msg_Err( p_playlist, "goto is deprecated" );
+ int i_pos = atoi( newval.psz_string );
+ /* The playlist stores 2 times the same item: onelevel & category */
+ int i_size = p_playlist->items.i_size / 2;
+
+ if( i_pos <= 0 )
+ msg_rc( _("Error: `goto' needs an argument greater than zero.") );
+ else if( i_pos <= i_size )
+ {
+ playlist_item_t *p_item, *p_parent;
+ p_item = p_parent = p_playlist->items.p_elems[i_pos*2-1];
+ while( p_parent->p_parent )
+ p_parent = p_parent->p_parent;
+ playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, VLC_TRUE,
+ p_parent, p_item );
+ }
+ else
+ msg_rc( _("Playlist has only %d elements"), i_size );
}
else if( !strcmp( psz_cmd, "stop" ) )
{