* gtk_open.c : functions to handle file/disc/network open widgets.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_open.c,v 1.22 2002/04/15 04:36:45 jobi Exp $
+ * $Id: gtk_open.c,v 1.26 2002/06/01 18:04:48 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr>
#include <sys/types.h> /* off_t */
#include <stdlib.h>
-#include <videolan/vlc.h>
+#include <vlc/vlc.h>
+#include <vlc/intf.h>
#ifdef MODULE_NAME_IS_gnome
# include <gnome.h>
#include <string.h>
-#include "stream_control.h"
-#include "input_ext-intf.h"
-
-#include "interface.h"
-#include "intf_playlist.h"
-
#include "gtk_callbacks.h"
#include "gtk_interface.h"
#include "gtk_support.h"
gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_fileopen ),
"p_intf", p_intf );
- if( (psz_path = config_GetPszVariable( "search_path" )) )
+ if( (psz_path = config_GetPsz( p_intf, "search-path" )) )
gtk_file_selection_set_filename( GTK_FILE_SELECTION(
p_intf->p_sys->p_fileopen ), psz_path );
if( psz_path ) free( psz_path );
void GtkFileOpenOk( GtkButton * button, gpointer user_data )
{
intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_fileopen" );
+ playlist_t * p_playlist;
GtkCList * p_playlist_clist;
GtkWidget * p_filesel;
gchar * psz_filename;
- int i_end = p_main->p_playlist->i_size;
+
+ p_playlist = vlc_object_find( p_intf->p_vlc,
+ VLC_OBJECT_PLAYLIST, FIND_CHILD );
+ if( p_playlist == NULL )
+ {
+ return;
+ }
/* hide the file selector */
p_filesel = gtk_widget_get_toplevel( GTK_WIDGET(button) );
/* add the new file to the interface playlist */
psz_filename =
gtk_file_selection_get_filename( GTK_FILE_SELECTION( p_filesel ) );
- intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, (char*)psz_filename );
+ playlist_Add( p_playlist, 0, (char*)psz_filename );
/* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
/* update the plugin display */
- GtkRebuildCList( p_playlist_clist, p_main->p_playlist );
+ GtkRebuildCList( p_playlist_clist, p_playlist );
+ vlc_object_release( p_playlist );
/* end current item, select added item */
- if( p_input_bank->pp_input[0] != NULL )
+#if 0
+ if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
- p_input_bank->pp_input[0]->b_eof = 1;
+ p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
- intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
+ intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, i_end - 1 );
+#endif
}
/*****************************************************************************
void GtkDiscOpenDvd( GtkToggleButton * togglebutton, gpointer user_data )
{
+ intf_thread_t * p_intf = GetIntf( GTK_WIDGET(togglebutton), "intf_disc" );
+
if( togglebutton->active )
{
char *psz_dvd_device;
- if( (psz_dvd_device = config_GetPszVariable( "dvd_device" )) )
+ if( (psz_dvd_device = config_GetPsz( p_intf, "dvd" )) )
gtk_entry_set_text(
GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
"disc_name" ) ), psz_dvd_device );
void GtkDiscOpenVcd( GtkToggleButton * togglebutton, gpointer user_data )
{
+ intf_thread_t * p_intf = GetIntf( GTK_WIDGET(togglebutton), "intf_disc" );
+
if( togglebutton->active )
{
char *psz_vcd_device;
- if( (psz_vcd_device = config_GetPszVariable( "vcd_device" )) )
+ if( (psz_vcd_device = config_GetPsz( p_intf, "vcd" )) )
gtk_entry_set_text(
GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
"disc_name" ) ), psz_vcd_device );
void GtkDiscOpenOk( GtkButton * button, gpointer user_data )
{
intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_disc" );
+ playlist_t * p_playlist;
GtkCList * p_playlist_clist;
char * psz_device, *psz_source, *psz_method;
- int i_end = p_main->p_playlist->i_size;
int i_title, i_chapter;
+ p_playlist = vlc_object_find( p_intf->p_vlc,
+ VLC_OBJECT_PLAYLIST, FIND_CHILD );
+ if( p_playlist == NULL )
+ {
+ return;
+ }
+
gtk_widget_hide( p_intf->p_sys->p_disc );
psz_device = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "disc_name" ) ) );
}
else
{
- intf_ErrMsg( "intf error: unknown disc type toggle button position" );
+ msg_Err( p_intf, "unknown disc type toggle button position" );
return;
}
/* Build source name and add it to playlist */
sprintf( psz_source, "%s:%s@%d,%d",
psz_method, psz_device, i_title, i_chapter );
- intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, psz_source );
+ playlist_Add( p_playlist, 0, psz_source );
free( psz_source );
/* catch the GTK CList */
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
/* update the display */
- GtkRebuildCList( p_playlist_clist, p_main->p_playlist );
+ GtkRebuildCList( p_playlist_clist, p_playlist );
/* stop current item, select added item */
- if( p_input_bank->pp_input[0] != NULL )
+#if 0
+ if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
- p_input_bank->pp_input[0]->b_eof = 1;
+ p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
- intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
+ intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, i_end - 1 );
+#endif
+
+ vlc_object_release( p_playlist );
}
"p_intf", p_intf );
gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
- GTK_OBJECT( p_intf->p_sys->p_network ), "network_port" ) ),
- config_GetIntVariable( "server_port" ) );
+ GTK_OBJECT( p_intf->p_sys->p_network ), "network_udp_port" ) ),
+ config_GetInt( p_intf, "server-port" ) );
- psz_channel_server = config_GetPszVariable( "channel_server" );
+ psz_channel_server = config_GetPsz( p_intf, "channel-server" );
if( psz_channel_server )
gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
- GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel" ) ),
+ GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_address" ) ),
psz_channel_server );
if( psz_channel_server ) free( psz_channel_server );
gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_port" ) ),
- config_GetIntVariable( "channel_port" ) );
+ config_GetInt( p_intf, "channel-port" ) );
gtk_toggle_button_set_active( gtk_object_get_data( GTK_OBJECT(
- p_intf->p_sys->p_network ), "network_channel_check" ),
- config_GetIntVariable( "network_channel" ) );
+ p_intf->p_sys->p_network ), "network_channel" ),
+ config_GetInt( p_intf, "network-channel" ) );
}
gtk_widget_show( p_intf->p_sys->p_network );
void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
{
intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_network" );
+ playlist_t * p_playlist;
GtkCList * p_playlist_clist;
- char * psz_source, *psz_server, *psz_protocol;
+ char * psz_source, *psz_address;
unsigned int i_port;
- boolean_t b_broadcast;
- boolean_t b_channel;
- int i_end = p_main->p_playlist->i_size;
+ vlc_bool_t b_channel;
+
+ p_playlist = vlc_object_find( p_intf->p_vlc,
+ VLC_OBJECT_PLAYLIST, FIND_CHILD );
+ if( p_playlist == NULL )
+ {
+ return;
+ }
gtk_widget_hide( p_intf->p_sys->p_network );
- psz_server = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
- GTK_WIDGET(button), "network_server" ) ) );
+// psz_server = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+// GTK_WIDGET(button), "network_server" ) ) );
/* select added item */
- if( p_input_bank->pp_input[0] != NULL )
+#if 0
+ if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
- p_input_bank->pp_input[0]->b_eof = 1;
+ p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
+#endif
+
+ /* Manage channel server */
+ b_channel = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
+ lookup_widget( GTK_WIDGET(button), "network_channel" ) ) );
+ config_PutInt( p_intf, "network-channel", b_channel );
- /* Check which protocol was activated */
+ /* Check which option was chosen */
+ /* UDP */
if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
- "network_ts" ) )->active )
+ "network_udp" ) )->active )
{
- psz_protocol = "udpstream";
+ /* No address in UDP mode */
+ psz_address = "";
+
+ /* Get the port number and make sure it will not
+ * overflow 5 characters */
+ i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
+ lookup_widget( GTK_WIDGET(button), "network_udp_port" ) ) );
+ if( i_port > 65535 )
+ {
+ msg_Err( p_intf, "invalid port %i", i_port );
+ }
+
+ /* Allocate room for "protocol:@:port" */
+ psz_source = malloc( 5 /* "udp:@" */ + 1 /* ":" */
+ + 5 /* 0-65535 */ + 1 /* "\0" */ );
+ if( psz_source == NULL )
+ {
+ return;
+ }
+
+ /* Build source name and add it to playlist */
+ sprintf( psz_source, "udp:@:%i", i_port );
+
+ playlist_Add( p_playlist, 0, psz_source );
+ free( psz_source );
+
+ /* catch the GTK CList */
+ p_playlist_clist = GTK_CLIST( gtk_object_get_data(
+ GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
+ /* update the display */
+ GtkRebuildCList( p_playlist_clist, p_playlist );
+
+#if 0
+ intf_PlaylistJumpto( p_playlist, i_end - 1 );
+#endif
}
+
+ /* UDP Multicast */
else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
- "network_rtp" ) )->active )
- {
- psz_protocol = "rtp";
- }
- else
+ "network_multicast" ) )->active )
{
- intf_ErrMsg( "intf error: unknown protocol toggle button position" );
- return;
- }
+ /* get the address */
+ psz_address = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+ GTK_WIDGET(button), "network_multicast_address" ) ) );
+
+ /* Get the port number and make sure it will not
+ * overflow 5 characters */
+ i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
+ lookup_widget( GTK_WIDGET(button), "network_multicast_port" ) ) );
+ if( i_port > 65535 )
+ {
+ msg_Err( p_intf, "invalid port %i", i_port );
+ }
+
+ /* Allocate room for "protocol:@address:port" */
+ psz_source = malloc( 5 /* "udp:@" */
+ + strlen( psz_address ) + 1 /* ":" */
+ + 5 /* 0-65535 */ + 1 /* "\0" */ );
+ if( psz_source == NULL )
+ {
+ return;
+ }
- /* Manage channel server */
- b_channel = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
- lookup_widget( GTK_WIDGET(button), "network_channel_check" ) ) );
- config_PutIntVariable( "network_channel", b_channel );
- if( b_channel )
+ /* Build source name and add it to playlist */
+ sprintf( psz_source, "udp:@%s:%i", psz_address, i_port );
+
+ playlist_Add( p_playlist, 0, psz_source );
+ free( psz_source );
+
+ /* catch the GTK CList */
+ p_playlist_clist = GTK_CLIST( gtk_object_get_data(
+ GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
+ /* update the display */
+ GtkRebuildCList( p_playlist_clist, p_playlist );
+
+#if 0
+ intf_PlaylistJumpto( p_playlist, i_end - 1 );
+#endif
+ }
+
+ /* Channel server */
+ else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
+ "network_channel" ) )->active )
{
char * psz_channel;
unsigned int i_channel_port;
- if( p_main->p_channel == NULL )
+ if( p_intf->p_vlc->p_channel == NULL )
{
- network_ChannelCreate();
+ network_ChannelCreate( p_intf );
}
psz_channel = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
- GTK_WIDGET(button), "network_channel" ) ) );
+ GTK_WIDGET(button), "network_channel_address" ) ) );
i_channel_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
lookup_widget( GTK_WIDGET(button), "network_channel_port" ) ) );
- config_PutPszVariable( "channel_server", psz_channel );
+ config_PutPsz( p_intf, "channel-server", psz_channel );
if( i_channel_port < 65536 )
{
- config_PutIntVariable( "channel_port", i_channel_port );
+ config_PutInt( p_intf, "channel-port", i_channel_port );
}
p_intf->p_sys->b_playing = 1;
-
}
- else
+
+ /* HTTP */
+ else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
+ "network_http" ) )->active )
{
- /* Get the port number and make sure it will not
- * overflow 5 characters */
- i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
- lookup_widget( GTK_WIDGET(button), "network_port" ) ) );
- if( i_port > 65535 )
+ /* get the url */
+ psz_address = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+ GTK_WIDGET(button), "network_http_url" ) ) );
+
+ /* Allocate room for "protocol://url" */
+ psz_source = malloc( 7 /* "http://" */
+ + strlen( psz_address ) + 1 /* "\0" */ );
+ if( psz_source == NULL )
{
- intf_ErrMsg( "intf error: invalid port %i", i_port );
+ return;
}
- /* do we have a broadcast address */
- b_broadcast = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
- lookup_widget( GTK_WIDGET(button), "network_broadcast_check" ) ) );
- if( b_broadcast )
- {
- char * psz_broadcast;
- psz_broadcast = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
- GTK_WIDGET(button), "network_broadcast" ) ) );
- /* Allocate room for "protocol://server:port" */
- psz_source = malloc( strlen( psz_protocol ) + 3 /* "://" */
- + strlen( psz_server ) + 2 /* "@:" */
- + 5 /* 0-65535 */
- + strlen( psz_broadcast ) + 2 /* "::" */
- + 1 /* "\0" */ );
- if( psz_source == NULL )
- {
- return;
- }
-
- /* Build source name and add it to playlist */
- sprintf( psz_source, "%s://%s@:%i/%s", psz_protocol,
- psz_server,
- i_port,
- psz_broadcast );
- }
- else
- {
- /* Allocate room for "protocol://server:port" */
- psz_source = malloc( strlen( psz_protocol ) + 3 /* "://" */
- + strlen( psz_server ) + 2 /* "@:" */
- + 5 /* 0-65535 */ + 1 /* "\0" */ );
- if( psz_source == NULL )
- {
- return;
- }
-
- /* Build source name and add it to playlist */
- sprintf( psz_source, "%s://%s@:%i",
- psz_protocol, psz_server, i_port );
- }
+ /* Build source name and add it to playlist */
+ sprintf( psz_source, "http://%s", psz_address );
- intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, psz_source );
+ playlist_Add( p_playlist, 0, psz_source );
free( psz_source );
-
+
/* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
/* update the display */
- GtkRebuildCList( p_playlist_clist, p_main->p_playlist );
+ GtkRebuildCList( p_playlist_clist, p_playlist );
+
+#if 0
+ intf_PlaylistJumpto( p_playlist, i_end - 1 );
+#endif
+ }
+
+ /* This shouldn't occur */
+ else
+ {
+ msg_Err( p_intf, "unknown protocol toggle button position" );
+ return;
+ }
- intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
+ /* add the item to the playlist if the channel server wasn't chosen */
+ if( !b_channel )
+ {
}
+
+ vlc_object_release( p_playlist );
}
void GtkNetworkOpenCancel( GtkButton * button, gpointer user_data)
}
-void GtkNetworkOpenBroadcast( GtkToggleButton * togglebutton,
- gpointer user_data )
+void GtkNetworkOpenUDP( GtkToggleButton *togglebutton,
+ gpointer user_data )
{
GtkWidget * p_network;
p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_broadcast_combo" ),
- gtk_toggle_button_get_active( togglebutton ) );
-
+ "network_udp_port_label" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_broadcast" ),
- gtk_toggle_button_get_active( togglebutton ) );
+ "network_udp_port" ),
+ gtk_toggle_button_get_active( togglebutton ) );
}
-void GtkNetworkOpenChannel( GtkToggleButton * togglebutton,
- gpointer user_data )
+void GtkNetworkOpenMulticast( GtkToggleButton *togglebutton,
+ gpointer user_data )
{
GtkWidget * p_network;
- boolean_t b_channel;
- boolean_t b_broadcast;
p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
- b_channel = gtk_toggle_button_get_active( togglebutton );
- b_broadcast = gtk_toggle_button_get_active( gtk_object_get_data(
- GTK_OBJECT( p_network ), "network_broadcast_check" ) );
-
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_channel_combo" ), b_channel ) ;
-
- gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_channel" ), b_channel );
-
+ "network_multicast_address_label" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_channel_port" ), b_channel );
+ "network_multicast_address_combo" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_channel_port_label" ), b_channel );
-
+ "network_multicast_port_label" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_server_combo" ), ! b_channel );
+ "network_multicast_port" ),
+ gtk_toggle_button_get_active( togglebutton ) );
+}
- gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_server_label" ), ! b_channel );
- gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_server" ), ! b_channel );
+void GtkNetworkOpenChannel( GtkToggleButton *togglebutton,
+ gpointer user_data )
+{
+ GtkWidget * p_network;
+ p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_port_label" ), ! b_channel );
-
+ "network_channel_address_label" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_port" ), ! b_channel );
+ "network_channel_address_combo" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_broadcast_check" ), ! b_channel );
-
+ "network_channel_port_label" ),
+ gtk_toggle_button_get_active( togglebutton ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_broadcast_combo" ), b_broadcast && ! b_channel );
+ "network_channel_port" ),
+ gtk_toggle_button_get_active( togglebutton ) );
+}
+
+
+void GtkNetworkOpenHTTP( GtkToggleButton *togglebutton,
+ gpointer user_data )
+{
+ GtkWidget * p_network;
+ p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
- "network_broadcast" ), b_broadcast && ! b_channel );
+ "network_http_url_label" ),
+ gtk_toggle_button_get_active( togglebutton ) );
+ gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+ "network_http_url" ),
+ gtk_toggle_button_get_active( togglebutton ) );
}
+
/*****************************************************************************
* Open satellite callbacks
*****************************************************************************
void GtkSatOpenOk( GtkButton * button, gpointer user_data )
{
intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_sat" );
+ playlist_t * p_playlist;
GtkCList * p_playlist_clist;
char * psz_source;
- int i_end = p_main->p_playlist->i_size;
int i_freq, i_srate;
int i_fec;
- boolean_t b_pol;
+ vlc_bool_t b_pol;
+
+ p_playlist = vlc_object_find( p_intf->p_vlc,
+ VLC_OBJECT_PLAYLIST, FIND_CHILD );
+ if( p_playlist == NULL )
+ {
+ return;
+ }
gtk_widget_hide( p_intf->p_sys->p_sat );
i_fec = strtol( gtk_entry_get_text( GTK_ENTRY( GTK_COMBO(
lookup_widget( GTK_WIDGET( button ), "sat_fec" )
)->entry ) ), NULL, 10 );
-
+
/* Select frequency and symbol rate */
i_freq = gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON( lookup_widget(
/* Build source name and add it to playlist */
sprintf( psz_source, "%s:%d,%d,%d,%d",
"satellite", i_freq, b_pol, i_fec, i_srate );
- intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, psz_source );
+ playlist_Add( p_playlist, 0, psz_source );
free( psz_source );
/* catch the GTK CList */
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
/* update the display */
- GtkRebuildCList( p_playlist_clist, p_main->p_playlist );
+ GtkRebuildCList( p_playlist_clist, p_playlist );
/* stop current item, select added item */
- if( p_input_bank->pp_input[0] != NULL )
+#if 0
+ if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
- p_input_bank->pp_input[0]->b_eof = 1;
+ p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
- intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
+ intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, i_end - 1 );
+#endif
+
+ vlc_object_release( p_playlist );
}