]> git.sesse.net Git - vlc/blobdiff - modules/gui/gtk/gnome_interface.c
A number of probe disc fixes:
[vlc] / modules / gui / gtk / gnome_interface.c
index b4c5d7e49cfba079c0af6ce48256175947f36db9..290f252869122fde8ffcf3b7b6610ddd7777f2e5 100644 (file)
@@ -24,13 +24,13 @@ static GnomeUIInfo menubar_file_menu_uiinfo[] =
   },
   {
     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
-    N_("Open a DVD or VCD"),
+    N_("Open Disc Media"),
     (gpointer) GtkDiscOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
     0, (GdkModifierType) 0, NULL
   },
   {
-    GNOME_APP_UI_ITEM, N_("_Network Stream..."),
+    GNOME_APP_UI_ITEM, N_("_Network stream..."),
     N_("Select a network stream"),
     (gpointer) GtkNetworkOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
@@ -59,13 +59,6 @@ static GnomeUIInfo menubar_view_menu_uiinfo[] =
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
-  {
-    GNOME_APP_UI_ITEM, N_("_Fullscreen"),
-    NULL,
-    (gpointer) GtkFullscreen, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
   GNOMEUIINFO_SEPARATOR,
   {
     GNOME_APP_UI_ITEM, N_("Progr_am"),
@@ -114,28 +107,21 @@ static GnomeUIInfo menubar_view_menu_uiinfo[] =
 };
 
 static GnomeUIInfo menubar_settings_menu_uiinfo[] =
+{
+  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
+  GNOMEUIINFO_END
+};
+
+static GnomeUIInfo menubar_config_audio_menu_uiinfo[] =
 {
   {
-    GNOME_APP_UI_ITEM, N_("_Audio"),
+    GNOME_APP_UI_ITEM, N_("_Language"),
     N_("Select audio channel"),
     (gpointer) NULL, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
-  {
-    GNOME_APP_UI_ITEM, N_("_Subtitles"),
-    N_("Select subtitles channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
   GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_config_audio_menu_uiinfo[] =
-{
   {
     GNOME_APP_UI_ITEM, N_("Volume Up"),
     NULL,
@@ -178,12 +164,21 @@ static GnomeUIInfo menubar_config_audio_menu_uiinfo[] =
 static GnomeUIInfo menubar_config_video_menu_menu_uiinfo[] =
 {
   {
-    GNOME_APP_UI_ITEM, N_("Screen"),
-    NULL,
+    GNOME_APP_UI_ITEM, N_("_Subtitles"),
+    N_("Select subtitles channel"),
     (gpointer) NULL, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
+  GNOMEUIINFO_SEPARATOR,
+  {
+    GNOME_APP_UI_ITEM, N_("_Fullscreen"),
+    NULL,
+    (gpointer) GtkFullscreen, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_SEPARATOR,
   {
     GNOME_APP_UI_ITEM, N_("Deinterlace"),
     NULL,
@@ -191,6 +186,13 @@ static GnomeUIInfo menubar_config_video_menu_menu_uiinfo[] =
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
+  {
+    GNOME_APP_UI_ITEM, N_("Screen"),
+    NULL,
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
   GNOMEUIINFO_END
 };
 
@@ -264,17 +266,12 @@ create_intf_window (void)
   GtkWidget *button_chapter_next;
   GtkWidget *network_box;
   GtkWidget *network_address_label;
-  GtkWidget *network_channel_box;
-  GtkWidget *label_network;
-  GtkObject *network_channel_spinbutton_adj;
-  GtkWidget *network_channel_spinbutton;
-  GtkWidget *network_channel_go_button;
   GtkWidget *appbar;
   GtkTooltips *tooltips;
 
   tooltips = gtk_tooltips_new ();
 
-  intf_window = gnome_app_new ("VideoLAN Client", _("VideoLAN Client"));
+  intf_window = gnome_app_new ("VLC media player", _("VLC media player"));
   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
   gtk_window_set_policy (GTK_WINDOW (intf_window), FALSE, TRUE, TRUE);
 
@@ -342,52 +339,47 @@ create_intf_window (void)
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator9",
                             menubar_view_menu_uiinfo[1].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator9",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program",
                             menubar_view_menu_uiinfo[2].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[2].widget, FALSE);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
                             menubar_view_menu_uiinfo[3].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[3].widget, FALSE);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
                             menubar_view_menu_uiinfo[4].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[4].widget, FALSE);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
                             menubar_view_menu_uiinfo[5].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[5].widget, FALSE);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[6].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
                             menubar_view_menu_uiinfo[6].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
                             menubar_view_menu_uiinfo[7].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[7].widget, FALSE);
 
   gtk_widget_ref (menubar_view_menu_uiinfo[8].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
-                            menubar_view_menu_uiinfo[8].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[8].widget, FALSE);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[9].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_messages",
-                            menubar_view_menu_uiinfo[9].widget,
+                            menubar_view_menu_uiinfo[8].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_uiinfo[2].widget);
@@ -396,25 +388,8 @@ create_intf_window (void)
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
-                            menubar_settings_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[0].widget, FALSE);
-
-  gtk_widget_ref (menubar_settings_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures",
-                            menubar_settings_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[1].widget, FALSE);
-
-  gtk_widget_ref (menubar_settings_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator5",
-                            menubar_settings_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_settings_menu_uiinfo[3].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
-                            menubar_settings_menu_uiinfo[3].widget,
+                            menubar_settings_menu_uiinfo[0].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_uiinfo[3].widget);
@@ -423,50 +398,82 @@ create_intf_window (void)
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_config_audio_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_up",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
                             menubar_config_audio_menu_uiinfo[0].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (menubar_config_audio_menu_uiinfo[0].widget, FALSE);
 
   gtk_widget_ref (menubar_config_audio_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_down",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator25",
                             menubar_config_audio_menu_uiinfo[1].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_config_audio_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_mute",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_up",
                             menubar_config_audio_menu_uiinfo[2].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_config_audio_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator16",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_down",
                             menubar_config_audio_menu_uiinfo[3].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_config_audio_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_channels",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_mute",
                             menubar_config_audio_menu_uiinfo[4].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_config_audio_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_device",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator16",
                             menubar_config_audio_menu_uiinfo[5].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
+  gtk_widget_ref (menubar_config_audio_menu_uiinfo[6].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_channels",
+                            menubar_config_audio_menu_uiinfo[6].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (menubar_config_audio_menu_uiinfo[7].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_device",
+                            menubar_config_audio_menu_uiinfo[7].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
   gtk_widget_ref (menubar_uiinfo[4].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video_menu",
                             menubar_uiinfo[4].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_video_device",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures",
                             menubar_config_video_menu_menu_uiinfo[0].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (menubar_config_video_menu_menu_uiinfo[0].widget, FALSE);
 
   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_deinterlace",
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator23",
                             menubar_config_video_menu_menu_uiinfo[1].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
+  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[2].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen",
+                            menubar_config_video_menu_menu_uiinfo[2].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[3].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator24",
+                            menubar_config_video_menu_menu_uiinfo[3].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[4].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_deinterlace",
+                            menubar_config_video_menu_menu_uiinfo[4].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[5].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_video_device",
+                            menubar_config_video_menu_menu_uiinfo[5].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
   gtk_widget_ref (menubar_uiinfo[5].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
                             menubar_uiinfo[5].widget,
@@ -477,61 +484,61 @@ create_intf_window (void)
                             menubar_help_menu_uiinfo[0].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
+  toolbar = gtk_toolbar_new ();
   gtk_widget_ref (toolbar);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar);
   gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
-                                GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
-                                GNOME_DOCK_TOP, 1, 0, 2);
-  gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
-  gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
-  gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
+                                BONOBO_DOCK_ITEM_BEH_EXCLUSIVE,
+                                BONOBO_DOCK_TOP, 1, 0, 2);
+  //gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
+  //gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
+  //gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
   toolbar_file = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("File"),
                                 _("Open a file"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_file);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_file", toolbar_file,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_file);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Disc"),
-                                _("Open a DVD or VCD"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Open disc"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_disc);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_disc);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
   toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Net"),
                                 _("Select a network stream"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_network);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_network);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_MIC);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_MIC);
   toolbar_sat = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Sat"),
-                                _("Open a Satellite Card"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Open a satellite card"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_sat);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_sat", toolbar_sat,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -539,62 +546,62 @@ create_intf_window (void)
 
   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Back"),
-                                _("Go Backward"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Go backward"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_back);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_back);
   gtk_widget_set_sensitive (toolbar_back, FALSE);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Stop"),
-                                _("Stop Stream"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Stop stream"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_stop);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_stop);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TOP);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TOP);
   toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Eject"),
                                 _("Eject disc"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_eject);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_eject);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Play"),
-                                _("Play Stream"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Play stream"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_play);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_play);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Pause"),
-                                _("Pause Stream"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Pause stream"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_pause);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -603,63 +610,63 @@ create_intf_window (void)
 
   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Slow"),
-                                _("Play Slower"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Play slower"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_slow);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_slow);
   gtk_widget_set_sensitive (toolbar_slow, FALSE);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Fast"),
-                                _("Play Faster"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Play faster"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_fast);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_fast);
   gtk_widget_set_sensitive (toolbar_fast, FALSE);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Playlist"),
-                                _("Open Playlist"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Open playlist"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_playlist);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_playlist);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Prev"),
                                 _("Previous file"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_prev);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (toolbar_prev);
 
-  tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
+  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
                                 GTK_TOOLBAR_CHILD_BUTTON,
                                 NULL,
                                 _("Next"),
-                                _("Next File"), NULL,
-                                tmp_toolbar_icon, NULL, NULL);
+                                _("Next file"), NULL,
+                                NULL, NULL, NULL);
   gtk_widget_ref (toolbar_next);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -736,7 +743,7 @@ create_intf_window (void)
   gtk_widget_show (title_label);
   gtk_box_pack_start (GTK_BOX (title_chapter_box), title_label, FALSE, FALSE, 0);
 
-  button_title_prev = gnome_stock_button (GNOME_STOCK_BUTTON_PREV);
+  button_title_prev = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_PREV);
   gtk_widget_ref (button_title_prev);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_prev", button_title_prev,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -744,7 +751,7 @@ create_intf_window (void)
   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_prev, FALSE, FALSE, 0);
   gtk_tooltips_set_tip (tooltips, button_title_prev, _("Select previous title"), NULL);
 
-  button_title_next = gnome_stock_button (GNOME_STOCK_BUTTON_NEXT);
+  button_title_next = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_NEXT);
   gtk_widget_ref (button_title_next);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_next", button_title_next,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -779,7 +786,7 @@ create_intf_window (void)
   gtk_widget_show (chapter_label);
   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), chapter_label, FALSE, FALSE, 0);
 
-  button_chapter_prev = gnome_stock_button (GNOME_STOCK_BUTTON_DOWN);
+  button_chapter_prev = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_DOWN);
   gtk_widget_ref (button_chapter_prev);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_prev", button_chapter_prev,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -787,7 +794,7 @@ create_intf_window (void)
   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_prev, FALSE, FALSE, 0);
   gtk_tooltips_set_tip (tooltips, button_chapter_prev, _("Select previous chapter"), NULL);
 
-  button_chapter_next = gnome_stock_button (GNOME_STOCK_BUTTON_UP);
+  button_chapter_next = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_UP);
   gtk_widget_ref (button_chapter_next);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_next", button_chapter_next,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -808,36 +815,6 @@ create_intf_window (void)
   gtk_widget_show (network_address_label);
   gtk_box_pack_start (GTK_BOX (network_box), network_address_label, FALSE, FALSE, 0);
 
-  network_channel_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (network_channel_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_box", network_channel_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_box);
-  gtk_box_pack_start (GTK_BOX (network_box), network_channel_box, FALSE, FALSE, 0);
-
-  label_network = gtk_label_new (_("Network Channel:"));
-  gtk_widget_ref (label_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_network", label_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label_network);
-  gtk_box_pack_start (GTK_BOX (network_channel_box), label_network, TRUE, FALSE, 5);
-
-  network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
-  network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
-  gtk_widget_ref (network_channel_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_spinbutton);
-  gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_spinbutton, FALSE, TRUE, 5);
-
-  network_channel_go_button = gtk_button_new_with_label (_("Go!"));
-  gtk_widget_ref (network_channel_go_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_go_button", network_channel_go_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_go_button);
-  gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_go_button, FALSE, FALSE, 0);
-  gtk_button_set_relief (GTK_BUTTON (network_channel_go_button), GTK_RELIEF_NONE);
-
   appbar = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER);
   gtk_widget_ref (appbar);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
@@ -912,18 +889,96 @@ create_intf_window (void)
   gtk_signal_connect (GTK_OBJECT (button_chapter_next), "clicked",
                       GTK_SIGNAL_FUNC (GtkChapterNext),
                       NULL);
-  gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
-                      GTK_SIGNAL_FUNC (GtkNetworkJoin),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkChannelGo),
-                      NULL);
 
   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
 
   return intf_window;
 }
 
+static GnomeUIInfo popup_audio_menu_uiinfo[] =
+{
+  {
+    GNOME_APP_UI_ITEM, N_("_Language"),
+    N_("Select audio channel"),
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_VOLUME,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_SEPARATOR,
+  {
+    GNOME_APP_UI_ITEM, N_("Volume up"),
+    NULL,
+    (gpointer) GtkVolumeUp, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  {
+    GNOME_APP_UI_ITEM, N_("Volume down"),
+    NULL,
+    (gpointer) GtkVolumeDown, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  {
+    GNOME_APP_UI_ITEM, N_("Mute"),
+    NULL,
+    (gpointer) GtkVolumeMute, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_SEPARATOR,
+  {
+    GNOME_APP_UI_ITEM, N_("Channels"),
+    NULL,
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  {
+    GNOME_APP_UI_ITEM, N_("Device"),
+    NULL,
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_END
+};
+
+static GnomeUIInfo popup_video_menu_uiinfo[] =
+{
+  {
+    GNOME_APP_UI_ITEM, N_("_Subtitles"),
+    N_("Select subtitles channel"),
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FONT,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_SEPARATOR,
+  {
+    GNOME_APP_UI_ITEM, N_("_Fullscreen"),
+    N_("Toggle fullscreen mode"),
+    (gpointer) GtkFullscreen, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_SEPARATOR,
+  {
+    GNOME_APP_UI_ITEM, N_("Deinterlace"),
+    NULL,
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  {
+    GNOME_APP_UI_ITEM, N_("Screen"),
+    NULL,
+    (gpointer) NULL, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_END
+};
+
 static GnomeUIInfo popup_file_menu_uiinfo[] =
 {
   {
@@ -935,7 +990,7 @@ static GnomeUIInfo popup_file_menu_uiinfo[] =
   },
   {
     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
-    N_("Open a DVD or VCD"),
+    N_("Open Disc Media"),
     (gpointer) GtkDiscOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
     0, (GdkModifierType) 0, NULL
@@ -997,71 +1052,6 @@ static GnomeUIInfo intf_popup_uiinfo[] =
     0, (GdkModifierType) 0, NULL
   },
   GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
-    NULL,
-    (gpointer) GtkWindowToggle, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Fullscreen"),
-    N_("Toggle fullscreen mode"),
-    (gpointer) GtkFullscreen, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Screen"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Deinterlace"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Volume Up"),
-    NULL,
-    (gpointer) GtkVolumeUp, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Volume Down"),
-    NULL,
-    (gpointer) GtkVolumeDown, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Mute"),
-    NULL,
-    (gpointer) GtkVolumeMute, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Channels"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Device"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
   {
     GNOME_APP_UI_ITEM, N_("Next"),
     NULL,
@@ -1083,6 +1073,7 @@ static GnomeUIInfo intf_popup_uiinfo[] =
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_JUMP_TO,
     0, (GdkModifierType) 0, NULL
   },
+  GNOMEUIINFO_SEPARATOR,
   {
     GNOME_APP_UI_ITEM, N_("Program"),
     N_("Switch program"),
@@ -1098,21 +1089,28 @@ static GnomeUIInfo intf_popup_uiinfo[] =
     0, (GdkModifierType) 0, NULL
   },
   {
-    GNOME_APP_UI_ITEM, N_("_Audio"),
-    N_("Select audio channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_VOLUME,
+    GNOME_APP_UI_SUBTREE, N_("Audio"),
+    NULL,
+    popup_audio_menu_uiinfo, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
-    GNOME_APP_UI_ITEM, N_("_Subtitles"),
-    N_("Select subtitles channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FONT,
+    GNOME_APP_UI_SUBTREE, N_("Video"),
+    NULL,
+    popup_video_menu_uiinfo, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
+    0, (GdkModifierType) 0, NULL
+  },
+  GNOMEUIINFO_SEPARATOR,
+  GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
+  {
+    GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
+    NULL,
+    (gpointer) GtkWindowToggle, NULL, NULL,
+    GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
-  GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
   {
     GNOME_APP_UI_ITEM, N_("Playlist..."),
     NULL,
@@ -1173,107 +1171,127 @@ create_intf_popup (void)
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (intf_popup_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next",
                             intf_popup_uiinfo[7].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (intf_popup_uiinfo[8].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev",
                             intf_popup_uiinfo[8].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (intf_popup_uiinfo[9].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_device",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump",
                             intf_popup_uiinfo[9].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (intf_popup_uiinfo[10].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_deinterlace",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator17",
                             intf_popup_uiinfo[10].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (intf_popup_uiinfo[11].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator8",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program",
                             intf_popup_uiinfo[11].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (intf_popup_uiinfo[11].widget, FALSE);
 
   gtk_widget_ref (intf_popup_uiinfo[12].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_up",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
                             intf_popup_uiinfo[12].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (intf_popup_uiinfo[12].widget, FALSE);
 
   gtk_widget_ref (intf_popup_uiinfo[13].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_down",
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
                             intf_popup_uiinfo[13].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[14].widget);
+  gtk_widget_ref (popup_audio_menu_uiinfo[0].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_language",
+                            popup_audio_menu_uiinfo[0].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (popup_audio_menu_uiinfo[0].widget, FALSE);
+
+  gtk_widget_ref (popup_audio_menu_uiinfo[1].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator20",
+                            popup_audio_menu_uiinfo[1].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (popup_audio_menu_uiinfo[2].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_up",
+                            popup_audio_menu_uiinfo[2].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (popup_audio_menu_uiinfo[3].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_down",
+                            popup_audio_menu_uiinfo[3].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (popup_audio_menu_uiinfo[4].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_mute",
-                            intf_popup_uiinfo[14].widget,
+                            popup_audio_menu_uiinfo[4].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[15].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_channels",
-                            intf_popup_uiinfo[15].widget,
+  gtk_widget_ref (popup_audio_menu_uiinfo[5].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator21",
+                            popup_audio_menu_uiinfo[5].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[16].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_device",
-                            intf_popup_uiinfo[16].widget,
+  gtk_widget_ref (popup_audio_menu_uiinfo[6].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_channels",
+                            popup_audio_menu_uiinfo[6].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[17].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator17",
-                            intf_popup_uiinfo[17].widget,
+  gtk_widget_ref (popup_audio_menu_uiinfo[7].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_device",
+                            popup_audio_menu_uiinfo[7].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[18].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next",
-                            intf_popup_uiinfo[18].widget,
+  gtk_widget_ref (intf_popup_uiinfo[14].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video",
+                            intf_popup_uiinfo[14].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[19].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev",
-                            intf_popup_uiinfo[19].widget,
+  gtk_widget_ref (popup_video_menu_uiinfo[0].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures",
+                            popup_video_menu_uiinfo[0].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_set_sensitive (popup_video_menu_uiinfo[0].widget, FALSE);
 
-  gtk_widget_ref (intf_popup_uiinfo[20].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump",
-                            intf_popup_uiinfo[20].widget,
+  gtk_widget_ref (popup_video_menu_uiinfo[1].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator18",
+                            popup_video_menu_uiinfo[1].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[21].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program",
-                            intf_popup_uiinfo[21].widget,
+  gtk_widget_ref (popup_video_menu_uiinfo[2].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen",
+                            popup_video_menu_uiinfo[2].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[21].widget, FALSE);
 
-  gtk_widget_ref (intf_popup_uiinfo[22].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
-                            intf_popup_uiinfo[22].widget,
+  gtk_widget_ref (popup_video_menu_uiinfo[3].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator19",
+                            popup_video_menu_uiinfo[3].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[22].widget, FALSE);
 
-  gtk_widget_ref (intf_popup_uiinfo[23].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
-                            intf_popup_uiinfo[23].widget,
+  gtk_widget_ref (popup_video_menu_uiinfo[4].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_deinterlace",
+                            popup_video_menu_uiinfo[4].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[23].widget, FALSE);
 
-  gtk_widget_ref (intf_popup_uiinfo[24].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures",
-                            intf_popup_uiinfo[24].widget,
+  gtk_widget_ref (popup_video_menu_uiinfo[5].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_device",
+                            popup_video_menu_uiinfo[5].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[24].widget, FALSE);
 
-  gtk_widget_ref (intf_popup_uiinfo[25].widget);
+  gtk_widget_ref (intf_popup_uiinfo[15].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator13",
-                            intf_popup_uiinfo[25].widget,
+                            intf_popup_uiinfo[15].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[26].widget);
+  gtk_widget_ref (intf_popup_uiinfo[16].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file",
-                            intf_popup_uiinfo[26].widget,
+                            intf_popup_uiinfo[16].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   gtk_widget_ref (popup_file_menu_uiinfo[0].widget);
@@ -1301,24 +1319,29 @@ create_intf_popup (void)
                             popup_file_menu_uiinfo[4].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[27].widget);
+  gtk_widget_ref (intf_popup_uiinfo[17].widget);
+  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle",
+                            intf_popup_uiinfo[17].widget,
+                            (GtkDestroyNotify) gtk_widget_unref);
+
+  gtk_widget_ref (intf_popup_uiinfo[18].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist",
-                            intf_popup_uiinfo[27].widget,
+                            intf_popup_uiinfo[18].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[28].widget);
+  gtk_widget_ref (intf_popup_uiinfo[19].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences",
-                            intf_popup_uiinfo[28].widget,
+                            intf_popup_uiinfo[19].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[29].widget);
+  gtk_widget_ref (intf_popup_uiinfo[20].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
-                            intf_popup_uiinfo[29].widget,
+                            intf_popup_uiinfo[20].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
-  gtk_widget_ref (intf_popup_uiinfo[30].widget);
+  gtk_widget_ref (intf_popup_uiinfo[21].widget);
   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
-                            intf_popup_uiinfo[30].widget,
+                            intf_popup_uiinfo[21].widget,
                             (GtkDestroyNotify) gtk_widget_unref);
 
   return intf_popup;
@@ -1334,10 +1357,12 @@ create_intf_about (void)
   };
   GtkWidget *intf_about;
 
-  intf_about = gnome_about_new ("VideoLAN Client", VERSION,
-                        _("(C) 1996-2003 - the VideoLAN Team"),
+  intf_about = gnome_about_new ("VLC media player", VERSION,
+                        _("(c) 1996-2004 the VideoLAN team"),
+                        _("This is the VLC media player, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source."),
                         authors,
-                        _("This is the VideoLAN Client, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source."),
+                        NULL,
+                        NULL,
                         NULL);
   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
 
@@ -1365,40 +1390,35 @@ create_intf_open (void)
   GtkWidget *open_browse;
   GtkWidget *open_file;
   GtkWidget *table5;
-  GtkWidget *label21;
-  GtkWidget *label20;
-  GtkObject *disc_chapter_adj;
-  GtkWidget *disc_chapter;
   GtkWidget *label35;
   GtkWidget *hbox24;
   GSList *disc_group = NULL;
   GtkWidget *disc_dvd;
   GtkWidget *disc_vcd;
+  GtkWidget *disc_cdda;
   GtkWidget *label19;
+  GtkWidget *disc_name;
+  GtkWidget *disc_chapter_label;
+  GtkWidget *disc_title_label;
+  GtkWidget *disc_dvd_use_menu;
   GtkObject *disc_title_adj;
   GtkWidget *disc_title;
-  GtkWidget *disc_name;
+  GtkObject *disc_chapter_adj;
+  GtkWidget *disc_chapter;
   GtkWidget *open_disc;
   GtkWidget *table4;
   GSList *table4_group = NULL;
   GtkWidget *network_udp;
   GtkWidget *network_multicast;
-  GtkWidget *network_channel;
   GtkWidget *network_http;
   GtkWidget *network_udp_port_label;
   GtkWidget *network_multicast_address_label;
-  GtkWidget *network_channel_address_label;
   GtkWidget *network_http_url_label;
   GtkWidget *network_multicast_address_combo;
   GtkWidget *network_multicast_address;
-  GtkWidget *network_channel_address_combo;
-  GtkWidget *network_channel_address;
   GtkWidget *network_multicast_port_label;
-  GtkWidget *network_channel_port_label;
   GtkObject *network_multicast_port_adj;
   GtkWidget *network_multicast_port;
-  GtkObject *network_channel_port_adj;
-  GtkWidget *network_channel_port;
   GtkWidget *network_http_url;
   GtkObject *network_udp_port_adj;
   GtkWidget *network_udp_port;
@@ -1432,6 +1452,9 @@ create_intf_open (void)
   GtkWidget *label38;
   GtkObject *subtitle_fps_adj;
   GtkWidget *subtitle_fps;
+  GtkWidget *hbox28;
+  GtkWidget *show_sout_settings;
+  GtkWidget *sout_settings;
   GtkWidget *dialog_action_area5;
   GtkWidget *button1;
   GtkWidget *button3;
@@ -1453,7 +1476,7 @@ create_intf_open (void)
   gtk_widget_show (open_vbox);
   gtk_box_pack_start (GTK_BOX (dialog_vbox5), open_vbox, TRUE, TRUE, 0);
 
-  frame10 = gtk_frame_new (_("Media Resource Locator (MRL)"));
+  frame10 = gtk_frame_new ("Media Resource Locator (MRL)");
   gtk_widget_ref (frame10);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -1553,7 +1576,7 @@ create_intf_open (void)
   gtk_widget_show (open_file);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 0), open_file);
 
-  table5 = gtk_table_new (4, 2, FALSE);
+  table5 = gtk_table_new (5, 2, FALSE);
   gtk_widget_ref (table5);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -1563,36 +1586,6 @@ create_intf_open (void)
   gtk_table_set_row_spacings (GTK_TABLE (table5), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table5), 5);
 
-  label21 = gtk_label_new (_("Title"));
-  gtk_widget_ref (label21);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label21", label21,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label21);
-  gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
-
-  label20 = gtk_label_new (_("Chapter"));
-  gtk_widget_ref (label20);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label20", label20,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label20);
-  gtk_table_attach (GTK_TABLE (table5), label20, 0, 1, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
-
-  disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
-  disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
-  gtk_widget_ref (disc_chapter);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_chapter);
-  gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
   label35 = gtk_label_new (_("Disc type"));
   gtk_widget_ref (label35);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label35", label35,
@@ -1628,6 +1621,14 @@ create_intf_open (void)
   gtk_widget_show (disc_vcd);
   gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
 
+  disc_cdda = gtk_radio_button_new_with_label (disc_group, _("Audio CD"));
+  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_cdda));
+  gtk_widget_ref (disc_cdda);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_cdda", disc_cdda,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (disc_cdda);
+  gtk_box_pack_start (GTK_BOX (hbox24), disc_cdda, FALSE, FALSE, 0);
+
   label19 = gtk_label_new (_("Device name"));
   gtk_widget_ref (label19);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
@@ -1637,25 +1638,65 @@ create_intf_open (void)
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
+  disc_name = gtk_entry_new ();
+  gtk_widget_ref (disc_name);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (disc_name);
+  gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
+
+  disc_chapter_label = gtk_label_new (_("Chapter"));
+  gtk_widget_ref (disc_chapter_label);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter_label", disc_chapter_label,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (disc_chapter_label);
+  gtk_table_attach (GTK_TABLE (table5), disc_chapter_label, 0, 1, 4, 5,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (disc_chapter_label), 0, 0.5);
+
+  disc_title_label = gtk_label_new (_("Title"));
+  gtk_widget_ref (disc_title_label);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title_label", disc_title_label,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (disc_title_label);
+  gtk_table_attach (GTK_TABLE (table5), disc_title_label, 0, 1, 3, 4,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (disc_title_label), 0, 0.5);
+
+  disc_dvd_use_menu = gtk_check_button_new_with_label (_("Use DVD menus"));
+  gtk_widget_ref (disc_dvd_use_menu);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd_use_menu", disc_dvd_use_menu,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (disc_dvd_use_menu);
+  gtk_table_attach (GTK_TABLE (table5), disc_dvd_use_menu, 1, 2, 2, 3,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (disc_dvd_use_menu), TRUE);
+
+  disc_title_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
   gtk_widget_ref (disc_title);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title", disc_title,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (disc_title);
-  gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 2, 3,
+  gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  disc_name = gtk_entry_new ();
-  gtk_widget_ref (disc_name);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
+  disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
+  disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
+  gtk_widget_ref (disc_chapter);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_name);
-  gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
+  gtk_widget_show (disc_chapter);
+  gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
 
   open_disc = gtk_label_new (_("Disc"));
   gtk_widget_ref (open_disc);
@@ -1664,7 +1705,7 @@ create_intf_open (void)
   gtk_widget_show (open_disc);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 1), open_disc);
 
-  table4 = gtk_table_new (4, 6, FALSE);
+  table4 = gtk_table_new (3, 6, FALSE);
   gtk_widget_ref (table4);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -1674,7 +1715,7 @@ create_intf_open (void)
   gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
   gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
 
-  network_udp = gtk_radio_button_new_with_label (table4_group, _("UDP"));
+  network_udp = gtk_radio_button_new_with_label (table4_group, "UDP/RTP");
   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
   gtk_widget_ref (network_udp);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp", network_udp,
@@ -1684,7 +1725,7 @@ create_intf_open (void)
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP Multicast"));
+  network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP Multicast"));
   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
   gtk_widget_ref (network_multicast);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast", network_multicast,
@@ -1694,23 +1735,13 @@ create_intf_open (void)
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  network_channel = gtk_radio_button_new_with_label (table4_group, _("Channel server"));
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_channel));
-  gtk_widget_ref (network_channel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel", network_channel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel);
-  gtk_table_attach (GTK_TABLE (table4), network_channel, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP"));
+  network_http = gtk_radio_button_new_with_label (table4_group, "HTTP/FTP/MMS");
   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
   gtk_widget_ref (network_http);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http", network_http,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_http);
-  gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 3, 4,
+  gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
@@ -1736,22 +1767,12 @@ create_intf_open (void)
   gtk_label_set_justify (GTK_LABEL (network_multicast_address_label), GTK_JUSTIFY_RIGHT);
   gtk_misc_set_alignment (GTK_MISC (network_multicast_address_label), 1, 0.5);
 
-  network_channel_address_label = gtk_label_new (_("Address"));
-  gtk_widget_ref (network_channel_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_label", network_channel_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_address_label);
-  gtk_table_attach (GTK_TABLE (table4), network_channel_address_label, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_channel_address_label, FALSE);
-
   network_http_url_label = gtk_label_new (_("URL"));
   gtk_widget_ref (network_http_url_label);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url_label", network_http_url_label,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_http_url_label);
-  gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 3, 4,
+  gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_http_url_label, FALSE);
@@ -1773,22 +1794,6 @@ create_intf_open (void)
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_multicast_address);
 
-  network_channel_address_combo = gtk_combo_new ();
-  gtk_widget_ref (network_channel_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_combo", network_channel_address_combo,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_address_combo);
-  gtk_table_attach (GTK_TABLE (table4), network_channel_address_combo, 2, 4, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_channel_address_combo, FALSE);
-
-  network_channel_address = GTK_COMBO (network_channel_address_combo)->entry;
-  gtk_widget_ref (network_channel_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address", network_channel_address,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_address);
-
   network_multicast_port_label = gtk_label_new (_("Port"));
   gtk_widget_ref (network_multicast_port_label);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port_label", network_multicast_port_label,
@@ -1800,17 +1805,6 @@ create_intf_open (void)
   gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
   gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
 
-  network_channel_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (network_channel_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port_label", network_channel_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_port_label);
-  gtk_table_attach (GTK_TABLE (table4), network_channel_port_label, 4, 5, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_channel_port_label, FALSE);
-  gtk_misc_set_alignment (GTK_MISC (network_channel_port_label), 1, 0.5);
-
   network_multicast_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
   network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0);
   gtk_widget_ref (network_multicast_port);
@@ -1823,24 +1817,12 @@ create_intf_open (void)
   gtk_widget_set_usize (network_multicast_port, 75, -2);
   gtk_widget_set_sensitive (network_multicast_port, FALSE);
 
-  network_channel_port_adj = gtk_adjustment_new (6010, 0, 65535, 1, 10, 10);
-  network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
-  gtk_widget_ref (network_channel_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port", network_channel_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_channel_port);
-  gtk_table_attach (GTK_TABLE (table4), network_channel_port, 5, 6, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_channel_port, 75, -2);
-  gtk_widget_set_sensitive (network_channel_port, FALSE);
-
   network_http_url = gtk_entry_new ();
   gtk_widget_ref (network_http_url);
   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url", network_http_url,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_http_url);
-  gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 3, 4,
+  gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 2, 3,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_http_url, FALSE);
@@ -2061,6 +2043,27 @@ create_intf_open (void)
   gtk_widget_show (subtitle_fps);
   gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_fps, TRUE, TRUE, 0);
 
+  hbox28 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_ref (hbox28);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox28", hbox28,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (hbox28);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox5), hbox28, TRUE, TRUE, 2);
+
+  show_sout_settings = gtk_check_button_new_with_label (_("stream output"));
+  gtk_widget_ref (show_sout_settings);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_sout_settings", show_sout_settings,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (show_sout_settings);
+  gtk_box_pack_start (GTK_BOX (hbox28), show_sout_settings, FALSE, FALSE, 0);
+
+  sout_settings = gtk_button_new_with_label (_("Settings..."));
+  gtk_widget_ref (sout_settings);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sout_settings", sout_settings,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_settings);
+  gtk_box_pack_start (GTK_BOX (hbox28), sout_settings, FALSE, FALSE, 20);
+
   dialog_action_area5 = GNOME_DIALOG (intf_open)->action_area;
   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area5", dialog_action_area5);
   gtk_widget_show (dialog_action_area5);
@@ -2092,19 +2095,25 @@ create_intf_open (void)
   gtk_signal_connect (GTK_OBJECT (open_browse), "clicked",
                       GTK_SIGNAL_FUNC (GtkFileShow),
                       "entry_file");
-  gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
                       NULL);
   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
                       NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_cdda), "toggled",
+                      GTK_SIGNAL_FUNC (GtkDiscOpenCDDA),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_dvd_use_menu), "toggled",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (disc_title), "changed",
                       GTK_SIGNAL_FUNC (GtkOpenChanged),
                       NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
+  gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
                       GTK_SIGNAL_FUNC (GtkOpenChanged),
                       NULL);
   gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
@@ -2113,24 +2122,15 @@ create_intf_open (void)
   gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
                       NULL);
-  gtk_signal_connect (GTK_OBJECT (network_channel), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
-                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
                       NULL);
   gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
                       GTK_SIGNAL_FUNC (GtkOpenChanged),
                       NULL);
-  gtk_signal_connect (GTK_OBJECT (network_channel_address), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed",
                       GTK_SIGNAL_FUNC (GtkOpenChanged),
                       NULL);
-  gtk_signal_connect (GTK_OBJECT (network_channel_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_http_url), "changed",
                       GTK_SIGNAL_FUNC (GtkOpenChanged),
                       NULL);
@@ -2167,6 +2167,12 @@ create_intf_open (void)
   gtk_signal_connect (GTK_OBJECT (subtitle_fps), "changed",
                       GTK_SIGNAL_FUNC (GtkOpenChanged),
                       NULL);
+  gtk_signal_connect (GTK_OBJECT (show_sout_settings), "clicked",
+                      GTK_SIGNAL_FUNC (GtkOpenSoutShow),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_settings), "clicked",
+                      GTK_SIGNAL_FUNC (GtkSoutSettings),
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (button1), "clicked",
                       GTK_SIGNAL_FUNC (GtkOpenOk),
                       NULL);
@@ -2293,7 +2299,7 @@ static GnomeUIInfo playlist_add_menu_uiinfo[] =
     0, (GdkModifierType) 0, NULL
   },
   {
-    GNOME_APP_UI_ITEM, N_("Url"),
+    GNOME_APP_UI_ITEM, N_("URL"),
     NULL,
     (gpointer) GtkPlaylistAddUrl, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
@@ -2434,7 +2440,7 @@ create_intf_playlist (void)
   gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
 
-  playlist_label_url = gtk_label_new (_("Url"));
+  playlist_label_url = gtk_label_new (_("URL"));
   gtk_widget_ref (playlist_label_url);
   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_url", playlist_label_url,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -2610,7 +2616,7 @@ create_intf_jump (void)
   gtk_container_add (GTK_CONTAINER (jump_frame), jump_box);
   gtk_container_set_border_width (GTK_CONTAINER (jump_box), 5);
 
-  jump_label3 = gtk_label_new (_("s."));
+  jump_label3 = gtk_label_new ("s.");
   gtk_widget_ref (jump_label3);
   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label3", jump_label3,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -2625,7 +2631,7 @@ create_intf_jump (void)
   gtk_widget_show (jump_second_spinbutton);
   gtk_box_pack_end (GTK_BOX (jump_box), jump_second_spinbutton, FALSE, FALSE, 5);
 
-  jump_label1 = gtk_label_new (_("m:"));
+  jump_label1 = gtk_label_new ("m:");
   gtk_widget_ref (jump_label1);
   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label1", jump_label1,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -2640,7 +2646,7 @@ create_intf_jump (void)
   gtk_widget_show (jump_minute_spinbutton);
   gtk_box_pack_end (GTK_BOX (jump_box), jump_minute_spinbutton, FALSE, FALSE, 5);
 
-  jump_label2 = gtk_label_new (_("h:"));
+  jump_label2 = gtk_label_new ("h:");
   gtk_widget_ref (jump_label2);
   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label2", jump_label2,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -2749,3 +2755,298 @@ create_intf_messages (void)
   return intf_messages;
 }
 
+GtkWidget*
+create_intf_sout (void)
+{
+  GtkWidget *intf_sout;
+  GtkWidget *dialog_vbox7;
+  GtkWidget *vbox16;
+  GtkWidget *frame11;
+  GtkWidget *hbox26;
+  GtkWidget *label39;
+  GtkWidget *combo4;
+  GtkWidget *sout_entry_target;
+  GtkWidget *frame12;
+  GtkWidget *table6;
+  GSList *sout_access_group = NULL;
+  GtkWidget *sout_access_file;
+  GtkWidget *sout_access_udp;
+  GtkWidget *sout_access_rtp;
+  GtkWidget *sout_file_path_label;
+  GtkWidget *sout_udp_address_label;
+  GtkWidget *sout_udp_address_combo;
+  GtkWidget *sout_udp_address;
+  GtkWidget *sout_udp_port_label;
+  GtkObject *sout_udp_port_adj;
+  GtkWidget *sout_udp_port;
+  GtkWidget *combo5;
+  GtkWidget *sout_file_path;
+  GtkWidget *hbox27;
+  GSList *sout_mux_group = NULL;
+  GtkWidget *sout_mux_ts;
+  GtkWidget *sout_mux_ps;
+  GtkWidget *sout_mux_avi;
+  GtkWidget *dialog_action_area7;
+  GtkWidget *button7;
+  GtkWidget *button9;
+
+  intf_sout = gnome_dialog_new (NULL, NULL);
+  gtk_object_set_data (GTK_OBJECT (intf_sout), "intf_sout", intf_sout);
+  gtk_container_set_border_width (GTK_CONTAINER (intf_sout), 5);
+  gtk_window_set_modal (GTK_WINDOW (intf_sout), TRUE);
+  gtk_window_set_policy (GTK_WINDOW (intf_sout), FALSE, FALSE, FALSE);
+
+  dialog_vbox7 = GNOME_DIALOG (intf_sout)->vbox;
+  gtk_object_set_data (GTK_OBJECT (intf_sout), "dialog_vbox7", dialog_vbox7);
+  gtk_widget_show (dialog_vbox7);
+
+  vbox16 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_ref (vbox16);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox16", vbox16,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (vbox16);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox7), vbox16, TRUE, TRUE, 0);
+
+  frame11 = gtk_frame_new (_("stream output (MRL)"));
+  gtk_widget_ref (frame11);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame11", frame11,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (frame11);
+  gtk_box_pack_start (GTK_BOX (vbox16), frame11, FALSE, TRUE, 0);
+
+  hbox26 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_ref (hbox26);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox26", hbox26,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (hbox26);
+  gtk_container_add (GTK_CONTAINER (frame11), hbox26);
+  gtk_container_set_border_width (GTK_CONTAINER (hbox26), 5);
+
+  label39 = gtk_label_new (_("Destination Target: "));
+  gtk_widget_ref (label39);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "label39", label39,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (label39);
+  gtk_box_pack_start (GTK_BOX (hbox26), label39, FALSE, FALSE, 0);
+
+  combo4 = gtk_combo_new ();
+  gtk_widget_ref (combo4);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo4", combo4,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (combo4);
+  gtk_box_pack_start (GTK_BOX (hbox26), combo4, TRUE, TRUE, 0);
+
+  sout_entry_target = GTK_COMBO (combo4)->entry;
+  gtk_widget_ref (sout_entry_target);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_entry_target", sout_entry_target,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_entry_target);
+
+  frame12 = gtk_frame_new (NULL);
+  gtk_widget_ref (frame12);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame12", frame12,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (frame12);
+  gtk_box_pack_start (GTK_BOX (vbox16), frame12, TRUE, TRUE, 0);
+
+  table6 = gtk_table_new (3, 5, FALSE);
+  gtk_widget_ref (table6);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "table6", table6,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (table6);
+  gtk_container_add (GTK_CONTAINER (frame12), table6);
+  gtk_table_set_row_spacings (GTK_TABLE (table6), 5);
+  gtk_table_set_col_spacings (GTK_TABLE (table6), 5);
+
+  sout_access_file = gtk_radio_button_new_with_label (sout_access_group, _("File"));
+  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_file));
+  gtk_widget_ref (sout_access_file);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_file", sout_access_file,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_access_file);
+  gtk_table_attach (GTK_TABLE (table6), sout_access_file, 0, 1, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  sout_access_udp = gtk_radio_button_new_with_label (sout_access_group, _("UDP"));
+  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_udp));
+  gtk_widget_ref (sout_access_udp);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_udp", sout_access_udp,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_access_udp);
+  gtk_table_attach (GTK_TABLE (table6), sout_access_udp, 0, 1, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  sout_access_rtp = gtk_radio_button_new_with_label (sout_access_group, _("RTP"));
+  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_rtp));
+  gtk_widget_ref (sout_access_rtp);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_rtp", sout_access_rtp,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_access_rtp);
+  gtk_table_attach (GTK_TABLE (table6), sout_access_rtp, 0, 1, 2, 3,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  sout_file_path_label = gtk_label_new (_("Path:"));
+  gtk_widget_ref (sout_file_path_label);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path_label", sout_file_path_label,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_file_path_label);
+  gtk_table_attach (GTK_TABLE (table6), sout_file_path_label, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (sout_file_path_label), 0, 0.5);
+
+  sout_udp_address_label = gtk_label_new (_("Address:"));
+  gtk_widget_ref (sout_udp_address_label);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_label", sout_udp_address_label,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_udp_address_label);
+  gtk_table_attach (GTK_TABLE (table6), sout_udp_address_label, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (sout_udp_address_label), 0, 0.5);
+
+  sout_udp_address_combo = gtk_combo_new ();
+  gtk_widget_ref (sout_udp_address_combo);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_combo", sout_udp_address_combo,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_udp_address_combo);
+  gtk_table_attach (GTK_TABLE (table6), sout_udp_address_combo, 2, 3, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  sout_udp_address = GTK_COMBO (sout_udp_address_combo)->entry;
+  gtk_widget_ref (sout_udp_address);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address", sout_udp_address,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_udp_address);
+
+  sout_udp_port_label = gtk_label_new (_("Port"));
+  gtk_widget_ref (sout_udp_port_label);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port_label", sout_udp_port_label,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_udp_port_label);
+  gtk_table_attach (GTK_TABLE (table6), sout_udp_port_label, 3, 4, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (sout_udp_port_label), 0, 0.5);
+
+  sout_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
+  sout_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (sout_udp_port_adj), 1, 0);
+  gtk_widget_ref (sout_udp_port);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port", sout_udp_port,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_udp_port);
+  gtk_table_attach (GTK_TABLE (table6), sout_udp_port, 4, 5, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  combo5 = gtk_combo_new ();
+  gtk_widget_ref (combo5);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo5", combo5,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (combo5);
+  gtk_table_attach (GTK_TABLE (table6), combo5, 2, 5, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  sout_file_path = GTK_COMBO (combo5)->entry;
+  gtk_widget_ref (sout_file_path);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path", sout_file_path,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_file_path);
+
+  hbox27 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_ref (hbox27);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox27", hbox27,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (hbox27);
+  gtk_table_attach (GTK_TABLE (table6), hbox27, 4, 5, 2, 3,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+  sout_mux_ts = gtk_radio_button_new_with_label (sout_mux_group, _("TS"));
+  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ts));
+  gtk_widget_ref (sout_mux_ts);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ts", sout_mux_ts,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_mux_ts);
+  gtk_box_pack_start (GTK_BOX (hbox27), sout_mux_ts, FALSE, FALSE, 0);
+
+  sout_mux_ps = gtk_radio_button_new_with_label (sout_mux_group, _("PS"));
+  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ps));
+  gtk_widget_ref (sout_mux_ps);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ps", sout_mux_ps,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_mux_ps);
+  gtk_box_pack_start (GTK_BOX (hbox27), sout_mux_ps, FALSE, FALSE, 0);
+
+  sout_mux_avi = gtk_radio_button_new_with_label (sout_mux_group, _("AVI"));
+  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_avi));
+  gtk_widget_ref (sout_mux_avi);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_avi", sout_mux_avi,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (sout_mux_avi);
+  gtk_box_pack_start (GTK_BOX (hbox27), sout_mux_avi, FALSE, FALSE, 0);
+
+  dialog_action_area7 = GNOME_DIALOG (intf_sout)->action_area;
+  gtk_object_set_data (GTK_OBJECT (intf_sout), "dialog_action_area7", dialog_action_area7);
+  gtk_widget_show (dialog_action_area7);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area7), GTK_BUTTONBOX_END);
+  gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area7), 8);
+
+  gnome_dialog_append_button (GNOME_DIALOG (intf_sout), GNOME_STOCK_BUTTON_OK);
+  button7 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_sout)->buttons)->data);
+  gtk_widget_ref (button7);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button7", button7,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (button7);
+  GTK_WIDGET_SET_FLAGS (button7, GTK_CAN_DEFAULT);
+
+  gnome_dialog_append_button (GNOME_DIALOG (intf_sout), GNOME_STOCK_BUTTON_CANCEL);
+  button9 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_sout)->buttons)->data);
+  gtk_widget_ref (button9);
+  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button9", button9,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (button9);
+  GTK_WIDGET_SET_FLAGS (button9, GTK_CAN_DEFAULT);
+
+  gtk_signal_connect (GTK_OBJECT (sout_access_file), "toggled",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessFile),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_access_udp), "toggled",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_access_rtp), "toggled",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_udp_address), "changed",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_udp_port), "changed",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_file_path), "changed",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_mux_ts), "toggled",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_mux_ps), "toggled",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (sout_mux_avi), "toggled",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (button7), "clicked",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsOk),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (button9), "clicked",
+                      GTK_SIGNAL_FUNC (GtkSoutSettingsCancel),
+                      NULL);
+
+  return intf_sout;
+}
+