]> git.sesse.net Git - vlc/blob - modules/gui/gtk/gtk_interface.c
* ./modules/gui/gtk/gnome.glade, ./modules/gui/gtk/gtk.glade: moved the
[vlc] / modules / gui / gtk / gtk_interface.c
1 /* This file was created automatically by glade and fixed by bootstrap */
2
3 #include <vlc/vlc.h>
4
5 #include <sys/types.h>
6 #include <sys/stat.h>
7 #include <unistd.h>
8 #include <string.h>
9
10 #include <gdk/gdkkeysyms.h>
11 #include <gtk/gtk.h>
12
13 #include "gtk_callbacks.h"
14 #include "gtk_interface.h"
15 #include "gtk_support.h"
16
17 GtkWidget*
18 create_intf_window (void)
19 {
20   GtkWidget *intf_window;
21   GtkWidget *window_vbox;
22   GtkWidget *menubar_handlebox;
23   GtkWidget *menubar;
24   guint tmp_key;
25   GtkWidget *menubar_file;
26   GtkWidget *menubar_file_menu;
27   GtkAccelGroup *menubar_file_menu_accels;
28   GtkWidget *menubar_open;
29   GtkWidget *menubar_disc;
30   GtkWidget *menubar_network;
31   GtkWidget *separator4;
32   GtkWidget *menubar_eject;
33   GtkWidget *separator14;
34   GtkWidget *menubar_close;
35   GtkWidget *menubar_exit;
36   GtkWidget *menubar_view;
37   GtkWidget *menubar_view_menu;
38   GtkAccelGroup *menubar_view_menu_accels;
39   GtkWidget *menubar_interface_hide;
40   GtkWidget *separator13;
41   GtkWidget *menubar_program;
42   GtkWidget *menubar_title;
43   GtkWidget *menubar_chapter;
44   GtkWidget *separator11;
45   GtkWidget *menubar_playlist;
46   GtkWidget *menubar_modules;
47   GtkWidget *menubar_messages;
48   GtkWidget *menubar_settings;
49   GtkWidget *menubar_settings_menu;
50   GtkAccelGroup *menubar_settings_menu_accels;
51   GtkWidget *menubar_preferences;
52   GtkWidget *menubar_config_audio;
53   GtkWidget *menubar_config_audio_menu;
54   GtkAccelGroup *menubar_config_audio_menu_accels;
55   GtkWidget *menubar_audio;
56   GtkWidget *separator18;
57   GtkWidget *menubar_volume_up;
58   GtkWidget *menubar_volume_down;
59   GtkWidget *menubar_volume_mute;
60   GtkWidget *separator15;
61   GtkWidget *menubar_audio_channels;
62   GtkWidget *menubar_audio_device;
63   GtkWidget *menubar_config_video;
64   GtkWidget *menubar_config_video_menu;
65   GtkAccelGroup *menubar_config_video_menu_accels;
66   GtkWidget *menubar_subpictures;
67   GtkWidget *separator25;
68   GtkWidget *menubar_fullscreen;
69   GtkWidget *separator24;
70   GtkWidget *menubar_deinterlace;
71   GtkWidget *menubar_video_device;
72   GtkWidget *menubar_help;
73   GtkWidget *menubar_help_menu;
74   GtkAccelGroup *menubar_help_menu_accels;
75   GtkWidget *menubar_about;
76   GtkWidget *toolbar_handlebox;
77   GtkWidget *toolbar;
78   GtkWidget *toolbar_open;
79   GtkWidget *toolbar_disc;
80   GtkWidget *toolbar_network;
81   GtkWidget *toolbar_sat;
82   GtkWidget *toolbar_back;
83   GtkWidget *toolbar_stop;
84   GtkWidget *toolbar_eject;
85   GtkWidget *toolbar_play;
86   GtkWidget *toolbar_pause;
87   GtkWidget *toolbar_slow;
88   GtkWidget *toolbar_fast;
89   GtkWidget *toolbar_playlist;
90   GtkWidget *toolbar_prev;
91   GtkWidget *toolbar_next;
92   GtkWidget *slider_frame;
93   GtkWidget *slider;
94   GtkWidget *file_box;
95   GtkWidget *label_status;
96   GtkWidget *dvd_box;
97   GtkWidget *dvd_label;
98   GtkWidget *title_box;
99   GtkWidget *title;
100   GtkWidget *title_label;
101   GtkWidget *title_prev_button;
102   GtkWidget *title_next_button;
103   GtkWidget *dvd_separator;
104   GtkWidget *chapter_box;
105   GtkWidget *chapter;
106   GtkWidget *chapter_label;
107   GtkWidget *chapter_prev_button;
108   GtkWidget *chapter_next_button;
109   GtkWidget *network_box;
110   GtkWidget *network_address_label;
111   GtkWidget *network_channel_box;
112   GtkWidget *channel_label;
113   GtkObject *network_channel_spinbutton_adj;
114   GtkWidget *network_channel_spinbutton;
115   GtkWidget *network_channel_go_button;
116   GtkWidget *intf_statusbar;
117   GtkAccelGroup *accel_group;
118   GtkTooltips *tooltips;
119
120   tooltips = gtk_tooltips_new ();
121
122   accel_group = gtk_accel_group_new ();
123
124   intf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
125   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
126   gtk_window_set_title (GTK_WINDOW (intf_window), _("VideoLAN Client"));
127   gtk_window_set_policy (GTK_WINDOW (intf_window), TRUE, TRUE, TRUE);
128
129   window_vbox = gtk_vbox_new (FALSE, 0);
130   gtk_widget_ref (window_vbox);
131   gtk_object_set_data_full (GTK_OBJECT (intf_window), "window_vbox", window_vbox,
132                             (GtkDestroyNotify) gtk_widget_unref);
133   gtk_widget_show (window_vbox);
134   gtk_container_add (GTK_CONTAINER (intf_window), window_vbox);
135
136   menubar_handlebox = gtk_handle_box_new ();
137   gtk_widget_ref (menubar_handlebox);
138   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_handlebox", menubar_handlebox,
139                             (GtkDestroyNotify) gtk_widget_unref);
140   gtk_widget_show (menubar_handlebox);
141   gtk_box_pack_start (GTK_BOX (window_vbox), menubar_handlebox, FALSE, TRUE, 0);
142
143   menubar = gtk_menu_bar_new ();
144   gtk_widget_ref (menubar);
145   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar", menubar,
146                             (GtkDestroyNotify) gtk_widget_unref);
147   gtk_widget_show (menubar);
148   gtk_container_add (GTK_CONTAINER (menubar_handlebox), menubar);
149
150   menubar_file = gtk_menu_item_new_with_label ("");
151   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_file)->child),
152                                    _("_File"));
153   gtk_widget_add_accelerator (menubar_file, "activate_item", accel_group,
154                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
155   gtk_widget_ref (menubar_file);
156   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file", menubar_file,
157                             (GtkDestroyNotify) gtk_widget_unref);
158   gtk_widget_show (menubar_file);
159   gtk_container_add (GTK_CONTAINER (menubar), menubar_file);
160
161   menubar_file_menu = gtk_menu_new ();
162   gtk_widget_ref (menubar_file_menu);
163   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file_menu", menubar_file_menu,
164                             (GtkDestroyNotify) gtk_widget_unref);
165   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_file), menubar_file_menu);
166   menubar_file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_file_menu));
167
168   menubar_open = gtk_menu_item_new_with_label ("");
169   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_open)->child),
170                                    _("_Open File..."));
171   gtk_widget_add_accelerator (menubar_open, "activate_item", menubar_file_menu_accels,
172                               tmp_key, 0, 0);
173   gtk_widget_ref (menubar_open);
174   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open", menubar_open,
175                             (GtkDestroyNotify) gtk_widget_unref);
176   gtk_widget_show (menubar_open);
177   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_open);
178   gtk_tooltips_set_tip (tooltips, menubar_open, _("Open a file"), NULL);
179   gtk_widget_add_accelerator (menubar_open, "activate", accel_group,
180                               GDK_F3, 0,
181                               GTK_ACCEL_VISIBLE);
182
183   menubar_disc = gtk_menu_item_new_with_label ("");
184   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_disc)->child),
185                                    _("Open _Disc..."));
186   gtk_widget_add_accelerator (menubar_disc, "activate_item", menubar_file_menu_accels,
187                               tmp_key, 0, 0);
188   gtk_widget_ref (menubar_disc);
189   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc", menubar_disc,
190                             (GtkDestroyNotify) gtk_widget_unref);
191   gtk_widget_show (menubar_disc);
192   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_disc);
193   gtk_tooltips_set_tip (tooltips, menubar_disc, _("Open a DVD or VCD"), NULL);
194   gtk_widget_add_accelerator (menubar_disc, "activate", accel_group,
195                               GDK_F4, 0,
196                               GTK_ACCEL_VISIBLE);
197
198   menubar_network = gtk_menu_item_new_with_label ("");
199   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_network)->child),
200                                    _("_Network Stream..."));
201   gtk_widget_add_accelerator (menubar_network, "activate_item", menubar_file_menu_accels,
202                               tmp_key, 0, 0);
203   gtk_widget_ref (menubar_network);
204   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network", menubar_network,
205                             (GtkDestroyNotify) gtk_widget_unref);
206   gtk_widget_show (menubar_network);
207   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_network);
208   gtk_tooltips_set_tip (tooltips, menubar_network, _("Select a network stream"), NULL);
209   gtk_widget_add_accelerator (menubar_network, "activate", accel_group,
210                               GDK_F5, 0,
211                               GTK_ACCEL_VISIBLE);
212
213   separator4 = gtk_menu_item_new ();
214   gtk_widget_ref (separator4);
215   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator4", separator4,
216                             (GtkDestroyNotify) gtk_widget_unref);
217   gtk_widget_show (separator4);
218   gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator4);
219   gtk_widget_set_sensitive (separator4, FALSE);
220
221   menubar_eject = gtk_menu_item_new_with_label ("");
222   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_eject)->child),
223                                    _("_Eject Disc"));
224   gtk_widget_add_accelerator (menubar_eject, "activate_item", menubar_file_menu_accels,
225                               tmp_key, 0, 0);
226   gtk_widget_ref (menubar_eject);
227   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_eject", menubar_eject,
228                             (GtkDestroyNotify) gtk_widget_unref);
229   gtk_widget_show (menubar_eject);
230   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_eject);
231   gtk_tooltips_set_tip (tooltips, menubar_eject, _("Eject disc"), NULL);
232
233   separator14 = gtk_menu_item_new ();
234   gtk_widget_ref (separator14);
235   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator14", separator14,
236                             (GtkDestroyNotify) gtk_widget_unref);
237   gtk_widget_show (separator14);
238   gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator14);
239   gtk_widget_set_sensitive (separator14, FALSE);
240
241   menubar_close = gtk_menu_item_new_with_label ("");
242   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_close)->child),
243                                    _("_Close"));
244   gtk_widget_add_accelerator (menubar_close, "activate_item", menubar_file_menu_accels,
245                               tmp_key, 0, 0);
246   gtk_widget_ref (menubar_close);
247   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_close", menubar_close,
248                             (GtkDestroyNotify) gtk_widget_unref);
249   gtk_widget_show (menubar_close);
250   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_close);
251   gtk_tooltips_set_tip (tooltips, menubar_close, _("Close the window"), NULL);
252   gtk_widget_add_accelerator (menubar_close, "activate", accel_group,
253                               GDK_W, GDK_CONTROL_MASK,
254                               GTK_ACCEL_VISIBLE);
255
256   menubar_exit = gtk_menu_item_new_with_label ("");
257   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_exit)->child),
258                                    _("E_xit"));
259   gtk_widget_add_accelerator (menubar_exit, "activate_item", menubar_file_menu_accels,
260                               tmp_key, 0, 0);
261   gtk_widget_ref (menubar_exit);
262   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit", menubar_exit,
263                             (GtkDestroyNotify) gtk_widget_unref);
264   gtk_widget_show (menubar_exit);
265   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_exit);
266   gtk_tooltips_set_tip (tooltips, menubar_exit, _("Exit the program"), NULL);
267   gtk_widget_add_accelerator (menubar_exit, "activate", accel_group,
268                               GDK_Q, GDK_CONTROL_MASK,
269                               GTK_ACCEL_VISIBLE);
270
271   menubar_view = gtk_menu_item_new_with_label ("");
272   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_view)->child),
273                                    _("_View"));
274   gtk_widget_add_accelerator (menubar_view, "activate_item", accel_group,
275                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
276   gtk_widget_ref (menubar_view);
277   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view", menubar_view,
278                             (GtkDestroyNotify) gtk_widget_unref);
279   gtk_widget_show (menubar_view);
280   gtk_container_add (GTK_CONTAINER (menubar), menubar_view);
281
282   menubar_view_menu = gtk_menu_new ();
283   gtk_widget_ref (menubar_view_menu);
284   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view_menu", menubar_view_menu,
285                             (GtkDestroyNotify) gtk_widget_unref);
286   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_view), menubar_view_menu);
287   menubar_view_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_view_menu));
288
289   menubar_interface_hide = gtk_menu_item_new_with_label ("");
290   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_interface_hide)->child),
291                                    _("_Hide interface"));
292   gtk_widget_add_accelerator (menubar_interface_hide, "activate_item", menubar_view_menu_accels,
293                               tmp_key, 0, 0);
294   gtk_widget_ref (menubar_interface_hide);
295   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_interface_hide", menubar_interface_hide,
296                             (GtkDestroyNotify) gtk_widget_unref);
297   gtk_widget_show (menubar_interface_hide);
298   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_interface_hide);
299   gtk_tooltips_set_tip (tooltips, menubar_interface_hide, _("Hide the main interface window"), NULL);
300
301   separator13 = gtk_menu_item_new ();
302   gtk_widget_ref (separator13);
303   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator13", separator13,
304                             (GtkDestroyNotify) gtk_widget_unref);
305   gtk_widget_show (separator13);
306   gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator13);
307   gtk_widget_set_sensitive (separator13, FALSE);
308
309   menubar_program = gtk_menu_item_new_with_label ("");
310   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_program)->child),
311                                    _("Progr_am"));
312   gtk_widget_add_accelerator (menubar_program, "activate_item", menubar_view_menu_accels,
313                               tmp_key, 0, 0);
314   gtk_widget_ref (menubar_program);
315   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program", menubar_program,
316                             (GtkDestroyNotify) gtk_widget_unref);
317   gtk_widget_show (menubar_program);
318   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_program);
319   gtk_widget_set_sensitive (menubar_program, FALSE);
320   gtk_tooltips_set_tip (tooltips, menubar_program, _("Choose the program"), NULL);
321
322   menubar_title = gtk_menu_item_new_with_label ("");
323   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_title)->child),
324                                    _("_Title"));
325   gtk_widget_add_accelerator (menubar_title, "activate_item", menubar_view_menu_accels,
326                               tmp_key, 0, 0);
327   gtk_widget_ref (menubar_title);
328   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title", menubar_title,
329                             (GtkDestroyNotify) gtk_widget_unref);
330   gtk_widget_show (menubar_title);
331   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_title);
332   gtk_widget_set_sensitive (menubar_title, FALSE);
333   gtk_tooltips_set_tip (tooltips, menubar_title, _("Navigate through the stream"), NULL);
334
335   menubar_chapter = gtk_menu_item_new_with_label ("");
336   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_chapter)->child),
337                                    _("_Chapter"));
338   gtk_widget_add_accelerator (menubar_chapter, "activate_item", menubar_view_menu_accels,
339                               tmp_key, 0, 0);
340   gtk_widget_ref (menubar_chapter);
341   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter", menubar_chapter,
342                             (GtkDestroyNotify) gtk_widget_unref);
343   gtk_widget_show (menubar_chapter);
344   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_chapter);
345   gtk_widget_set_sensitive (menubar_chapter, FALSE);
346
347   separator11 = gtk_menu_item_new ();
348   gtk_widget_ref (separator11);
349   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator11", separator11,
350                             (GtkDestroyNotify) gtk_widget_unref);
351   gtk_widget_show (separator11);
352   gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator11);
353   gtk_widget_set_sensitive (separator11, FALSE);
354
355   menubar_playlist = gtk_menu_item_new_with_label ("");
356   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_playlist)->child),
357                                    _("_Playlist..."));
358   gtk_widget_add_accelerator (menubar_playlist, "activate_item", menubar_view_menu_accels,
359                               tmp_key, 0, 0);
360   gtk_widget_ref (menubar_playlist);
361   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist", menubar_playlist,
362                             (GtkDestroyNotify) gtk_widget_unref);
363   gtk_widget_show (menubar_playlist);
364   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_playlist);
365   gtk_tooltips_set_tip (tooltips, menubar_playlist, _("Open the playlist window"), NULL);
366
367   menubar_modules = gtk_menu_item_new_with_label ("");
368   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_modules)->child),
369                                    _("_Modules..."));
370   gtk_widget_add_accelerator (menubar_modules, "activate_item", menubar_view_menu_accels,
371                               tmp_key, 0, 0);
372   gtk_widget_ref (menubar_modules);
373   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules", menubar_modules,
374                             (GtkDestroyNotify) gtk_widget_unref);
375   gtk_widget_show (menubar_modules);
376   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_modules);
377   gtk_widget_set_sensitive (menubar_modules, FALSE);
378   gtk_tooltips_set_tip (tooltips, menubar_modules, _("Open the module manager"), NULL);
379
380   menubar_messages = gtk_menu_item_new_with_label (_("Messages..."));
381   gtk_widget_ref (menubar_messages);
382   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_messages", menubar_messages,
383                             (GtkDestroyNotify) gtk_widget_unref);
384   gtk_widget_show (menubar_messages);
385   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_messages);
386   gtk_tooltips_set_tip (tooltips, menubar_messages, _("Open the messages window"), NULL);
387
388   menubar_settings = gtk_menu_item_new_with_label ("");
389   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_settings)->child),
390                                    _("_Settings"));
391   gtk_widget_add_accelerator (menubar_settings, "activate_item", accel_group,
392                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
393   gtk_widget_ref (menubar_settings);
394   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings", menubar_settings,
395                             (GtkDestroyNotify) gtk_widget_unref);
396   gtk_widget_show (menubar_settings);
397   gtk_container_add (GTK_CONTAINER (menubar), menubar_settings);
398
399   menubar_settings_menu = gtk_menu_new ();
400   gtk_widget_ref (menubar_settings_menu);
401   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings_menu", menubar_settings_menu,
402                             (GtkDestroyNotify) gtk_widget_unref);
403   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_settings), menubar_settings_menu);
404   menubar_settings_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_settings_menu));
405
406   menubar_preferences = gtk_menu_item_new_with_label ("");
407   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_preferences)->child),
408                                    _("_Preferences..."));
409   gtk_widget_add_accelerator (menubar_preferences, "activate_item", menubar_settings_menu_accels,
410                               tmp_key, 0, 0);
411   gtk_widget_ref (menubar_preferences);
412   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences", menubar_preferences,
413                             (GtkDestroyNotify) gtk_widget_unref);
414   gtk_widget_show (menubar_preferences);
415   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_preferences);
416   gtk_tooltips_set_tip (tooltips, menubar_preferences, _("Configure the application"), NULL);
417
418   menubar_config_audio = gtk_menu_item_new_with_label ("");
419   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_config_audio)->child),
420                                    _("_Audio"));
421   gtk_widget_add_accelerator (menubar_config_audio, "activate_item", accel_group,
422                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
423   gtk_widget_ref (menubar_config_audio);
424   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_audio", menubar_config_audio,
425                             (GtkDestroyNotify) gtk_widget_unref);
426   gtk_widget_show (menubar_config_audio);
427   gtk_container_add (GTK_CONTAINER (menubar), menubar_config_audio);
428
429   menubar_config_audio_menu = gtk_menu_new ();
430   gtk_widget_ref (menubar_config_audio_menu);
431   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_audio_menu", menubar_config_audio_menu,
432                             (GtkDestroyNotify) gtk_widget_unref);
433   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_config_audio), menubar_config_audio_menu);
434   menubar_config_audio_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_config_audio_menu));
435
436   menubar_audio = gtk_menu_item_new_with_label ("");
437   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_audio)->child),
438                                    _("_Language"));
439   gtk_widget_add_accelerator (menubar_audio, "activate_item", menubar_config_audio_menu_accels,
440                               tmp_key, 0, 0);
441   gtk_widget_ref (menubar_audio);
442   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio", menubar_audio,
443                             (GtkDestroyNotify) gtk_widget_unref);
444   gtk_widget_show (menubar_audio);
445   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_audio);
446   gtk_widget_set_sensitive (menubar_audio, FALSE);
447   gtk_tooltips_set_tip (tooltips, menubar_audio, _("Select audio channel"), NULL);
448
449   separator18 = gtk_menu_item_new ();
450   gtk_widget_ref (separator18);
451   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator18", separator18,
452                             (GtkDestroyNotify) gtk_widget_unref);
453   gtk_widget_show (separator18);
454   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), separator18);
455   gtk_widget_set_sensitive (separator18, FALSE);
456
457   menubar_volume_up = gtk_menu_item_new_with_label (_("Volume Up"));
458   gtk_widget_ref (menubar_volume_up);
459   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_up", menubar_volume_up,
460                             (GtkDestroyNotify) gtk_widget_unref);
461   gtk_widget_show (menubar_volume_up);
462   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_volume_up);
463
464   menubar_volume_down = gtk_menu_item_new_with_label (_("Volume Down"));
465   gtk_widget_ref (menubar_volume_down);
466   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_down", menubar_volume_down,
467                             (GtkDestroyNotify) gtk_widget_unref);
468   gtk_widget_show (menubar_volume_down);
469   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_volume_down);
470
471   menubar_volume_mute = gtk_menu_item_new_with_label (_("Mute"));
472   gtk_widget_ref (menubar_volume_mute);
473   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_mute", menubar_volume_mute,
474                             (GtkDestroyNotify) gtk_widget_unref);
475   gtk_widget_show (menubar_volume_mute);
476   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_volume_mute);
477
478   separator15 = gtk_menu_item_new ();
479   gtk_widget_ref (separator15);
480   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator15", separator15,
481                             (GtkDestroyNotify) gtk_widget_unref);
482   gtk_widget_show (separator15);
483   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), separator15);
484   gtk_widget_set_sensitive (separator15, FALSE);
485
486   menubar_audio_channels = gtk_menu_item_new_with_label (_("Channels"));
487   gtk_widget_ref (menubar_audio_channels);
488   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_channels", menubar_audio_channels,
489                             (GtkDestroyNotify) gtk_widget_unref);
490   gtk_widget_show (menubar_audio_channels);
491   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_audio_channels);
492
493   menubar_audio_device = gtk_menu_item_new_with_label (_("Device"));
494   gtk_widget_ref (menubar_audio_device);
495   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_device", menubar_audio_device,
496                             (GtkDestroyNotify) gtk_widget_unref);
497   gtk_widget_show (menubar_audio_device);
498   gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_audio_device);
499
500   menubar_config_video = gtk_menu_item_new_with_label ("");
501   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_config_video)->child),
502                                    _("_Video"));
503   gtk_widget_add_accelerator (menubar_config_video, "activate_item", accel_group,
504                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
505   gtk_widget_ref (menubar_config_video);
506   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video", menubar_config_video,
507                             (GtkDestroyNotify) gtk_widget_unref);
508   gtk_widget_show (menubar_config_video);
509   gtk_container_add (GTK_CONTAINER (menubar), menubar_config_video);
510
511   menubar_config_video_menu = gtk_menu_new ();
512   gtk_widget_ref (menubar_config_video_menu);
513   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video_menu", menubar_config_video_menu,
514                             (GtkDestroyNotify) gtk_widget_unref);
515   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_config_video), menubar_config_video_menu);
516   menubar_config_video_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_config_video_menu));
517
518   menubar_subpictures = gtk_menu_item_new_with_label ("");
519   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_subpictures)->child),
520                                    _("_Subtitles"));
521   gtk_widget_add_accelerator (menubar_subpictures, "activate_item", menubar_config_video_menu_accels,
522                               tmp_key, 0, 0);
523   gtk_widget_ref (menubar_subpictures);
524   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures", menubar_subpictures,
525                             (GtkDestroyNotify) gtk_widget_unref);
526   gtk_widget_show (menubar_subpictures);
527   gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_subpictures);
528   gtk_widget_set_sensitive (menubar_subpictures, FALSE);
529   gtk_tooltips_set_tip (tooltips, menubar_subpictures, _("Select subtitles channel"), NULL);
530
531   separator25 = gtk_menu_item_new ();
532   gtk_widget_ref (separator25);
533   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator25", separator25,
534                             (GtkDestroyNotify) gtk_widget_unref);
535   gtk_widget_show (separator25);
536   gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), separator25);
537   gtk_widget_set_sensitive (separator25, FALSE);
538
539   menubar_fullscreen = gtk_menu_item_new_with_label ("");
540   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_fullscreen)->child),
541                                    _("_Fullscreen"));
542   gtk_widget_add_accelerator (menubar_fullscreen, "activate_item", menubar_config_video_menu_accels,
543                               tmp_key, 0, 0);
544   gtk_widget_ref (menubar_fullscreen);
545   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen", menubar_fullscreen,
546                             (GtkDestroyNotify) gtk_widget_unref);
547   gtk_widget_show (menubar_fullscreen);
548   gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_fullscreen);
549
550   separator24 = gtk_menu_item_new ();
551   gtk_widget_ref (separator24);
552   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator24", separator24,
553                             (GtkDestroyNotify) gtk_widget_unref);
554   gtk_widget_show (separator24);
555   gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), separator24);
556   gtk_widget_set_sensitive (separator24, FALSE);
557
558   menubar_deinterlace = gtk_menu_item_new_with_label (_("Deinterlace"));
559   gtk_widget_ref (menubar_deinterlace);
560   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_deinterlace", menubar_deinterlace,
561                             (GtkDestroyNotify) gtk_widget_unref);
562   gtk_widget_show (menubar_deinterlace);
563   gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_deinterlace);
564
565   menubar_video_device = gtk_menu_item_new_with_label (_("Screen"));
566   gtk_widget_ref (menubar_video_device);
567   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_video_device", menubar_video_device,
568                             (GtkDestroyNotify) gtk_widget_unref);
569   gtk_widget_show (menubar_video_device);
570   gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_video_device);
571
572   menubar_help = gtk_menu_item_new_with_label ("");
573   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_help)->child),
574                                    _("_Help"));
575   gtk_widget_add_accelerator (menubar_help, "activate_item", accel_group,
576                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
577   gtk_widget_ref (menubar_help);
578   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help", menubar_help,
579                             (GtkDestroyNotify) gtk_widget_unref);
580   gtk_widget_show (menubar_help);
581   gtk_container_add (GTK_CONTAINER (menubar), menubar_help);
582
583   menubar_help_menu = gtk_menu_new ();
584   gtk_widget_ref (menubar_help_menu);
585   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help_menu", menubar_help_menu,
586                             (GtkDestroyNotify) gtk_widget_unref);
587   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_help), menubar_help_menu);
588   menubar_help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_help_menu));
589
590   menubar_about = gtk_menu_item_new_with_label ("");
591   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_about)->child),
592                                    _("_About..."));
593   gtk_widget_add_accelerator (menubar_about, "activate_item", menubar_help_menu_accels,
594                               tmp_key, 0, 0);
595   gtk_widget_ref (menubar_about);
596   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about", menubar_about,
597                             (GtkDestroyNotify) gtk_widget_unref);
598   gtk_widget_show (menubar_about);
599   gtk_container_add (GTK_CONTAINER (menubar_help_menu), menubar_about);
600   gtk_tooltips_set_tip (tooltips, menubar_about, _("About this application"), NULL);
601
602   toolbar_handlebox = gtk_handle_box_new ();
603   gtk_widget_ref (toolbar_handlebox);
604   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_handlebox", toolbar_handlebox,
605                             (GtkDestroyNotify) gtk_widget_unref);
606   gtk_widget_show (toolbar_handlebox);
607   gtk_box_pack_start (GTK_BOX (window_vbox), toolbar_handlebox, FALSE, TRUE, 0);
608
609   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
610   gtk_widget_ref (toolbar);
611   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
612                             (GtkDestroyNotify) gtk_widget_unref);
613   gtk_widget_show (toolbar);
614   gtk_container_add (GTK_CONTAINER (toolbar_handlebox), toolbar);
615   gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1);
616   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
617   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
618   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
619
620   toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
621                                 GTK_TOOLBAR_CHILD_BUTTON,
622                                 NULL,
623                                 _("File"),
624                                 _("Open a file"), NULL,
625                                 NULL, NULL, NULL);
626   gtk_widget_ref (toolbar_open);
627   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_open", toolbar_open,
628                             (GtkDestroyNotify) gtk_widget_unref);
629   gtk_widget_show (toolbar_open);
630
631   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
632                                 GTK_TOOLBAR_CHILD_BUTTON,
633                                 NULL,
634                                 _("Disc"),
635                                 _("Open a DVD or VCD"), NULL,
636                                 NULL, NULL, NULL);
637   gtk_widget_ref (toolbar_disc);
638   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
639                             (GtkDestroyNotify) gtk_widget_unref);
640   gtk_widget_show (toolbar_disc);
641
642   toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
643                                 GTK_TOOLBAR_CHILD_BUTTON,
644                                 NULL,
645                                 _("Net"),
646                                 _("Select a network stream"), NULL,
647                                 NULL, NULL, NULL);
648   gtk_widget_ref (toolbar_network);
649   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
650                             (GtkDestroyNotify) gtk_widget_unref);
651   gtk_widget_show (toolbar_network);
652
653   toolbar_sat = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
654                                 GTK_TOOLBAR_CHILD_BUTTON,
655                                 NULL,
656                                 _("Sat"),
657                                 _("Open a Satellite Card"), NULL,
658                                 NULL, NULL, NULL);
659   gtk_widget_ref (toolbar_sat);
660   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_sat", toolbar_sat,
661                             (GtkDestroyNotify) gtk_widget_unref);
662   gtk_widget_show (toolbar_sat);
663
664   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
665
666   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
667                                 GTK_TOOLBAR_CHILD_BUTTON,
668                                 NULL,
669                                 _("Back"),
670                                 _("Go Backward"), NULL,
671                                 NULL, NULL, NULL);
672   gtk_widget_ref (toolbar_back);
673   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
674                             (GtkDestroyNotify) gtk_widget_unref);
675   gtk_widget_show (toolbar_back);
676   gtk_widget_set_sensitive (toolbar_back, FALSE);
677
678   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
679                                 GTK_TOOLBAR_CHILD_BUTTON,
680                                 NULL,
681                                 _("Stop"),
682                                 _("Stop Stream"), NULL,
683                                 NULL, NULL, NULL);
684   gtk_widget_ref (toolbar_stop);
685   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
686                             (GtkDestroyNotify) gtk_widget_unref);
687   gtk_widget_show (toolbar_stop);
688
689   toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
690                                 GTK_TOOLBAR_CHILD_BUTTON,
691                                 NULL,
692                                 _("Eject"),
693                                 NULL, NULL,
694                                 NULL, NULL, NULL);
695   gtk_widget_ref (toolbar_eject);
696   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
697                             (GtkDestroyNotify) gtk_widget_unref);
698   gtk_widget_show (toolbar_eject);
699
700   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
701                                 GTK_TOOLBAR_CHILD_BUTTON,
702                                 NULL,
703                                 _("Play"),
704                                 _("Play Stream"), NULL,
705                                 NULL, NULL, NULL);
706   gtk_widget_ref (toolbar_play);
707   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
708                             (GtkDestroyNotify) gtk_widget_unref);
709   gtk_widget_show (toolbar_play);
710
711   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
712                                 GTK_TOOLBAR_CHILD_BUTTON,
713                                 NULL,
714                                 _("Pause"),
715                                 _("Pause Stream"), NULL,
716                                 NULL, NULL, NULL);
717   gtk_widget_ref (toolbar_pause);
718   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
719                             (GtkDestroyNotify) gtk_widget_unref);
720   gtk_widget_show (toolbar_pause);
721   gtk_widget_set_sensitive (toolbar_pause, FALSE);
722
723   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
724
725   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
726                                 GTK_TOOLBAR_CHILD_BUTTON,
727                                 NULL,
728                                 _("Slow"),
729                                 _("Play Slower"), NULL,
730                                 NULL, NULL, NULL);
731   gtk_widget_ref (toolbar_slow);
732   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
733                             (GtkDestroyNotify) gtk_widget_unref);
734   gtk_widget_show (toolbar_slow);
735   gtk_widget_set_sensitive (toolbar_slow, FALSE);
736
737   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
738                                 GTK_TOOLBAR_CHILD_BUTTON,
739                                 NULL,
740                                 _("Fast"),
741                                 _("Play Faster"), NULL,
742                                 NULL, NULL, NULL);
743   gtk_widget_ref (toolbar_fast);
744   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
745                             (GtkDestroyNotify) gtk_widget_unref);
746   gtk_widget_show (toolbar_fast);
747   gtk_widget_set_sensitive (toolbar_fast, FALSE);
748
749   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
750                                 GTK_TOOLBAR_CHILD_BUTTON,
751                                 NULL,
752                                 _("Playlist"),
753                                 _("Open Playlist"), NULL,
754                                 NULL, NULL, NULL);
755   gtk_widget_ref (toolbar_playlist);
756   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
757                             (GtkDestroyNotify) gtk_widget_unref);
758   gtk_widget_show (toolbar_playlist);
759
760   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
761                                 GTK_TOOLBAR_CHILD_BUTTON,
762                                 NULL,
763                                 _("Prev"),
764                                 _("Previous file"), NULL,
765                                 NULL, NULL, NULL);
766   gtk_widget_ref (toolbar_prev);
767   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
768                             (GtkDestroyNotify) gtk_widget_unref);
769   gtk_widget_show (toolbar_prev);
770
771   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
772                                 GTK_TOOLBAR_CHILD_BUTTON,
773                                 NULL,
774                                 _("Next"),
775                                 _("Next File"), NULL,
776                                 NULL, NULL, NULL);
777   gtk_widget_ref (toolbar_next);
778   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
779                             (GtkDestroyNotify) gtk_widget_unref);
780   gtk_widget_show (toolbar_next);
781
782   slider_frame = gtk_frame_new ("-:--:--");
783   gtk_widget_ref (slider_frame);
784   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
785                             (GtkDestroyNotify) gtk_widget_unref);
786   gtk_box_pack_start (GTK_BOX (window_vbox), slider_frame, TRUE, TRUE, 0);
787   gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
788
789   slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
790   gtk_widget_ref (slider);
791   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
792                             (GtkDestroyNotify) gtk_widget_unref);
793   gtk_widget_show (slider);
794   gtk_container_add (GTK_CONTAINER (slider_frame), slider);
795   gtk_widget_set_usize (slider, 500, 15);
796   gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
797   gtk_scale_set_digits (GTK_SCALE (slider), 3);
798
799   file_box = gtk_hbox_new (FALSE, 0);
800   gtk_widget_ref (file_box);
801   gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
802                             (GtkDestroyNotify) gtk_widget_unref);
803   gtk_widget_show (file_box);
804   gtk_box_pack_start (GTK_BOX (window_vbox), file_box, TRUE, TRUE, 0);
805   gtk_widget_set_usize (file_box, 500, 24);
806
807   label_status = gtk_label_new ("");
808   gtk_widget_ref (label_status);
809   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
810                             (GtkDestroyNotify) gtk_widget_unref);
811   gtk_widget_show (label_status);
812   gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
813
814   dvd_box = gtk_hbox_new (FALSE, 0);
815   gtk_widget_ref (dvd_box);
816   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
817                             (GtkDestroyNotify) gtk_widget_unref);
818   gtk_box_pack_start (GTK_BOX (window_vbox), dvd_box, TRUE, TRUE, 0);
819   gtk_widget_set_usize (dvd_box, 500, 24);
820
821   dvd_label = gtk_label_new (_("Disc"));
822   gtk_widget_ref (dvd_label);
823   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_label", dvd_label,
824                             (GtkDestroyNotify) gtk_widget_unref);
825   gtk_widget_show (dvd_label);
826   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_label, TRUE, FALSE, 0);
827
828   title_box = gtk_hbox_new (FALSE, 0);
829   gtk_widget_ref (title_box);
830   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_box", title_box,
831                             (GtkDestroyNotify) gtk_widget_unref);
832   gtk_widget_show (title_box);
833   gtk_box_pack_start (GTK_BOX (dvd_box), title_box, TRUE, TRUE, 0);
834
835   title = gtk_label_new (_("Title:"));
836   gtk_widget_ref (title);
837   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title", title,
838                             (GtkDestroyNotify) gtk_widget_unref);
839   gtk_widget_show (title);
840   gtk_box_pack_start (GTK_BOX (title_box), title, FALSE, FALSE, 5);
841
842   title_label = gtk_label_new ("--");
843   gtk_widget_ref (title_label);
844   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
845                             (GtkDestroyNotify) gtk_widget_unref);
846   gtk_widget_show (title_label);
847   gtk_box_pack_start (GTK_BOX (title_box), title_label, FALSE, FALSE, 5);
848
849   title_prev_button = gtk_button_new_with_label (_("Prev"));
850   gtk_widget_ref (title_prev_button);
851   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_prev_button", title_prev_button,
852                             (GtkDestroyNotify) gtk_widget_unref);
853   gtk_widget_show (title_prev_button);
854   gtk_box_pack_start (GTK_BOX (title_box), title_prev_button, FALSE, FALSE, 5);
855   gtk_button_set_relief (GTK_BUTTON (title_prev_button), GTK_RELIEF_NONE);
856
857   title_next_button = gtk_button_new_with_label (_("Next"));
858   gtk_widget_ref (title_next_button);
859   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_next_button", title_next_button,
860                             (GtkDestroyNotify) gtk_widget_unref);
861   gtk_widget_show (title_next_button);
862   gtk_box_pack_start (GTK_BOX (title_box), title_next_button, FALSE, FALSE, 5);
863   gtk_button_set_relief (GTK_BUTTON (title_next_button), GTK_RELIEF_NONE);
864
865   dvd_separator = gtk_vseparator_new ();
866   gtk_widget_ref (dvd_separator);
867   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_separator", dvd_separator,
868                             (GtkDestroyNotify) gtk_widget_unref);
869   gtk_widget_show (dvd_separator);
870   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_separator, TRUE, TRUE, 0);
871
872   chapter_box = gtk_hbox_new (FALSE, 0);
873   gtk_widget_ref (chapter_box);
874   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_box", chapter_box,
875                             (GtkDestroyNotify) gtk_widget_unref);
876   gtk_widget_show (chapter_box);
877   gtk_box_pack_start (GTK_BOX (dvd_box), chapter_box, TRUE, TRUE, 0);
878
879   chapter = gtk_label_new (_("Chapter:"));
880   gtk_widget_ref (chapter);
881   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter", chapter,
882                             (GtkDestroyNotify) gtk_widget_unref);
883   gtk_widget_show (chapter);
884   gtk_box_pack_start (GTK_BOX (chapter_box), chapter, FALSE, FALSE, 5);
885
886   chapter_label = gtk_label_new ("---");
887   gtk_widget_ref (chapter_label);
888   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
889                             (GtkDestroyNotify) gtk_widget_unref);
890   gtk_widget_show (chapter_label);
891   gtk_box_pack_start (GTK_BOX (chapter_box), chapter_label, FALSE, FALSE, 5);
892
893   chapter_prev_button = gtk_button_new_with_label (_("Prev"));
894   gtk_widget_ref (chapter_prev_button);
895   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_prev_button", chapter_prev_button,
896                             (GtkDestroyNotify) gtk_widget_unref);
897   gtk_widget_show (chapter_prev_button);
898   gtk_box_pack_start (GTK_BOX (chapter_box), chapter_prev_button, FALSE, FALSE, 5);
899   gtk_button_set_relief (GTK_BUTTON (chapter_prev_button), GTK_RELIEF_NONE);
900
901   chapter_next_button = gtk_button_new_with_label (_("Next"));
902   gtk_widget_ref (chapter_next_button);
903   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_next_button", chapter_next_button,
904                             (GtkDestroyNotify) gtk_widget_unref);
905   gtk_widget_show (chapter_next_button);
906   gtk_box_pack_start (GTK_BOX (chapter_box), chapter_next_button, FALSE, FALSE, 5);
907   gtk_button_set_relief (GTK_BUTTON (chapter_next_button), GTK_RELIEF_NONE);
908
909   network_box = gtk_hbox_new (FALSE, 0);
910   gtk_widget_ref (network_box);
911   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
912                             (GtkDestroyNotify) gtk_widget_unref);
913   gtk_box_pack_start (GTK_BOX (window_vbox), network_box, TRUE, TRUE, 0);
914   gtk_widget_set_usize (network_box, 500, 24);
915
916   network_address_label = gtk_label_new (_("No server"));
917   gtk_widget_ref (network_address_label);
918   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
919                             (GtkDestroyNotify) gtk_widget_unref);
920   gtk_widget_show (network_address_label);
921   gtk_box_pack_start (GTK_BOX (network_box), network_address_label, TRUE, TRUE, 0);
922
923   network_channel_box = gtk_hbox_new (FALSE, 0);
924   gtk_widget_ref (network_channel_box);
925   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_box", network_channel_box,
926                             (GtkDestroyNotify) gtk_widget_unref);
927   gtk_widget_show (network_channel_box);
928   gtk_box_pack_start (GTK_BOX (network_box), network_channel_box, TRUE, FALSE, 0);
929
930   channel_label = gtk_label_new (_("Channel:"));
931   gtk_widget_ref (channel_label);
932   gtk_object_set_data_full (GTK_OBJECT (intf_window), "channel_label", channel_label,
933                             (GtkDestroyNotify) gtk_widget_unref);
934   gtk_widget_show (channel_label);
935   gtk_box_pack_start (GTK_BOX (network_channel_box), channel_label, FALSE, FALSE, 5);
936
937   network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
938   network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
939   gtk_widget_ref (network_channel_spinbutton);
940   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
941                             (GtkDestroyNotify) gtk_widget_unref);
942   gtk_widget_show (network_channel_spinbutton);
943   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_spinbutton, FALSE, TRUE, 0);
944
945   network_channel_go_button = gtk_button_new_with_label (_("Go!"));
946   gtk_widget_ref (network_channel_go_button);
947   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_go_button", network_channel_go_button,
948                             (GtkDestroyNotify) gtk_widget_unref);
949   gtk_widget_show (network_channel_go_button);
950   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_go_button, FALSE, FALSE, 0);
951   gtk_button_set_relief (GTK_BUTTON (network_channel_go_button), GTK_RELIEF_NONE);
952
953   intf_statusbar = gtk_statusbar_new ();
954   gtk_widget_ref (intf_statusbar);
955   gtk_object_set_data_full (GTK_OBJECT (intf_window), "intf_statusbar", intf_statusbar,
956                             (GtkDestroyNotify) gtk_widget_unref);
957   gtk_widget_show (intf_statusbar);
958   gtk_box_pack_start (GTK_BOX (window_vbox), intf_statusbar, FALSE, FALSE, 0);
959
960   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
961                       GTK_SIGNAL_FUNC (GtkWindowDrag),
962                       NULL);
963   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
964                       GTK_SIGNAL_FUNC (GtkWindowDelete),
965                       NULL);
966   gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
967                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
968                       NULL);
969   gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
970                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
971                       NULL);
972   gtk_signal_connect (GTK_OBJECT (menubar_network), "activate",
973                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
974                       NULL);
975   gtk_signal_connect (GTK_OBJECT (menubar_eject), "activate",
976                       GTK_SIGNAL_FUNC (GtkDiscEject),
977                       NULL);
978   gtk_signal_connect (GTK_OBJECT (menubar_close), "activate",
979                       GTK_SIGNAL_FUNC (GtkClose),
980                       NULL);
981   gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
982                       GTK_SIGNAL_FUNC (GtkExit),
983                       NULL);
984   gtk_signal_connect (GTK_OBJECT (menubar_interface_hide), "activate",
985                       GTK_SIGNAL_FUNC (GtkWindowToggle),
986                       NULL);
987   gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
988                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
989                       NULL);
990   gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
991                       GTK_SIGNAL_FUNC (GtkModulesShow),
992                       NULL);
993   gtk_signal_connect (GTK_OBJECT (menubar_messages), "activate",
994                       GTK_SIGNAL_FUNC (GtkMessagesShow),
995                       NULL);
996   gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
997                       GTK_SIGNAL_FUNC (GtkPreferencesShow),
998                       NULL);
999   gtk_signal_connect (GTK_OBJECT (menubar_volume_up), "activate",
1000                       GTK_SIGNAL_FUNC (GtkVolumeUp),
1001                       NULL);
1002   gtk_signal_connect (GTK_OBJECT (menubar_volume_down), "activate",
1003                       GTK_SIGNAL_FUNC (GtkVolumeDown),
1004                       NULL);
1005   gtk_signal_connect (GTK_OBJECT (menubar_volume_mute), "activate",
1006                       GTK_SIGNAL_FUNC (GtkVolumeMute),
1007                       NULL);
1008   gtk_signal_connect (GTK_OBJECT (menubar_fullscreen), "activate",
1009                       GTK_SIGNAL_FUNC (GtkFullscreen),
1010                       NULL);
1011   gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
1012                       GTK_SIGNAL_FUNC (GtkAboutShow),
1013                       NULL);
1014   gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
1015                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
1016                       NULL);
1017   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
1018                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
1019                       NULL);
1020   gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
1021                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
1022                       NULL);
1023   gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
1024                       GTK_SIGNAL_FUNC (GtkSatOpenShow),
1025                       NULL);
1026   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
1027                       GTK_SIGNAL_FUNC (GtkControlBack),
1028                       NULL);
1029   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
1030                       GTK_SIGNAL_FUNC (GtkControlStop),
1031                       NULL);
1032   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
1033                       GTK_SIGNAL_FUNC (GtkDiscEject),
1034                       NULL);
1035   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
1036                       GTK_SIGNAL_FUNC (GtkControlPlay),
1037                       NULL);
1038   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
1039                       GTK_SIGNAL_FUNC (GtkControlPause),
1040                       NULL);
1041   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
1042                       GTK_SIGNAL_FUNC (GtkControlSlow),
1043                       NULL);
1044   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
1045                       GTK_SIGNAL_FUNC (GtkControlFast),
1046                       NULL);
1047   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
1048                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
1049                       NULL);
1050   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
1051                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
1052                       NULL);
1053   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
1054                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
1055                       NULL);
1056   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
1057                       GTK_SIGNAL_FUNC (GtkSliderRelease),
1058                       NULL);
1059   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
1060                       GTK_SIGNAL_FUNC (GtkSliderPress),
1061                       NULL);
1062   gtk_signal_connect (GTK_OBJECT (title_prev_button), "clicked",
1063                       GTK_SIGNAL_FUNC (GtkTitlePrev),
1064                       NULL);
1065   gtk_signal_connect (GTK_OBJECT (title_next_button), "clicked",
1066                       GTK_SIGNAL_FUNC (GtkTitleNext),
1067                       NULL);
1068   gtk_signal_connect (GTK_OBJECT (chapter_prev_button), "clicked",
1069                       GTK_SIGNAL_FUNC (GtkChapterPrev),
1070                       NULL);
1071   gtk_signal_connect (GTK_OBJECT (chapter_next_button), "clicked",
1072                       GTK_SIGNAL_FUNC (GtkChapterNext),
1073                       NULL);
1074   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
1075                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
1076                       NULL);
1077   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
1078                       GTK_SIGNAL_FUNC (GtkChannelGo),
1079                       NULL);
1080
1081   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
1082
1083   gtk_window_add_accel_group (GTK_WINDOW (intf_window), accel_group);
1084
1085   return intf_window;
1086 }
1087
1088 GtkWidget*
1089 create_intf_popup (void)
1090 {
1091   GtkWidget *intf_popup;
1092   GtkAccelGroup *intf_popup_accels;
1093   guint tmp_key;
1094   GtkWidget *popup_play;
1095   GtkWidget *popup_pause;
1096   GtkWidget *popup_stop;
1097   GtkWidget *popup_back;
1098   GtkWidget *popup_slow;
1099   GtkWidget *popup_fast;
1100   GtkWidget *separator16;
1101   GtkWidget *popup_next;
1102   GtkWidget *popup_prev;
1103   GtkWidget *popup_jump;
1104   GtkWidget *separator27;
1105   GtkWidget *popup_program;
1106   GtkWidget *popup_navigation;
1107   GtkWidget *audio1;
1108   GtkWidget *audio1_menu;
1109   GtkAccelGroup *audio1_menu_accels;
1110   GtkWidget *popup_audio;
1111   GtkWidget *separator19;
1112   GtkWidget *popup_volume_up;
1113   GtkWidget *popup_volume_down;
1114   GtkWidget *popup_volume_mute;
1115   GtkWidget *separator20;
1116   GtkWidget *popup_audio_channels;
1117   GtkWidget *popup_audio_device;
1118   GtkWidget *video1;
1119   GtkWidget *video1_menu;
1120   GtkAccelGroup *video1_menu_accels;
1121   GtkWidget *popup_subpictures;
1122   GtkWidget *separator21;
1123   GtkWidget *popup_fullscreen;
1124   GtkWidget *separator23;
1125   GtkWidget *popup_deinterlace;
1126   GtkWidget *popup_video_device;
1127   GtkWidget *separator26;
1128   GtkWidget *popup_open;
1129   GtkWidget *popup_open_menu;
1130   GtkAccelGroup *popup_open_menu_accels;
1131   GtkWidget *popup_file;
1132   GtkWidget *popup_disc;
1133   GtkWidget *popup_network;
1134   GtkWidget *separator12;
1135   GtkWidget *popup_about;
1136   GtkWidget *popup_interface_toggle;
1137   GtkWidget *popup_playlist;
1138   GtkWidget *popup_preferences;
1139   GtkWidget *separator9;
1140   GtkWidget *popup_exit;
1141   GtkTooltips *tooltips;
1142
1143   tooltips = gtk_tooltips_new ();
1144
1145   intf_popup = gtk_menu_new ();
1146   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
1147   intf_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (intf_popup));
1148
1149   popup_play = gtk_menu_item_new_with_label ("");
1150   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_play)->child),
1151                                    _("_Play"));
1152   gtk_widget_add_accelerator (popup_play, "activate_item", intf_popup_accels,
1153                               tmp_key, 0, 0);
1154   gtk_widget_ref (popup_play);
1155   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play", popup_play,
1156                             (GtkDestroyNotify) gtk_widget_unref);
1157   gtk_widget_show (popup_play);
1158   gtk_container_add (GTK_CONTAINER (intf_popup), popup_play);
1159
1160   popup_pause = gtk_menu_item_new_with_label (_("Pause"));
1161   gtk_widget_ref (popup_pause);
1162   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause", popup_pause,
1163                             (GtkDestroyNotify) gtk_widget_unref);
1164   gtk_widget_show (popup_pause);
1165   gtk_container_add (GTK_CONTAINER (intf_popup), popup_pause);
1166   gtk_widget_set_sensitive (popup_pause, FALSE);
1167
1168   popup_stop = gtk_menu_item_new_with_label (_("Stop"));
1169   gtk_widget_ref (popup_stop);
1170   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop", popup_stop,
1171                             (GtkDestroyNotify) gtk_widget_unref);
1172   gtk_widget_show (popup_stop);
1173   gtk_container_add (GTK_CONTAINER (intf_popup), popup_stop);
1174
1175   popup_back = gtk_menu_item_new_with_label (_("Back"));
1176   gtk_widget_ref (popup_back);
1177   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back", popup_back,
1178                             (GtkDestroyNotify) gtk_widget_unref);
1179   gtk_widget_show (popup_back);
1180   gtk_container_add (GTK_CONTAINER (intf_popup), popup_back);
1181   gtk_widget_set_sensitive (popup_back, FALSE);
1182
1183   popup_slow = gtk_menu_item_new_with_label (_("Slow"));
1184   gtk_widget_ref (popup_slow);
1185   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow", popup_slow,
1186                             (GtkDestroyNotify) gtk_widget_unref);
1187   gtk_widget_show (popup_slow);
1188   gtk_container_add (GTK_CONTAINER (intf_popup), popup_slow);
1189   gtk_widget_set_sensitive (popup_slow, FALSE);
1190
1191   popup_fast = gtk_menu_item_new_with_label (_("Fast"));
1192   gtk_widget_ref (popup_fast);
1193   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast", popup_fast,
1194                             (GtkDestroyNotify) gtk_widget_unref);
1195   gtk_widget_show (popup_fast);
1196   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fast);
1197   gtk_widget_set_sensitive (popup_fast, FALSE);
1198
1199   separator16 = gtk_menu_item_new ();
1200   gtk_widget_ref (separator16);
1201   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator16", separator16,
1202                             (GtkDestroyNotify) gtk_widget_unref);
1203   gtk_widget_show (separator16);
1204   gtk_container_add (GTK_CONTAINER (intf_popup), separator16);
1205   gtk_widget_set_sensitive (separator16, FALSE);
1206
1207   popup_next = gtk_menu_item_new_with_label (_("Next"));
1208   gtk_widget_ref (popup_next);
1209   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next", popup_next,
1210                             (GtkDestroyNotify) gtk_widget_unref);
1211   gtk_widget_show (popup_next);
1212   gtk_container_add (GTK_CONTAINER (intf_popup), popup_next);
1213
1214   popup_prev = gtk_menu_item_new_with_label (_("Prev"));
1215   gtk_widget_ref (popup_prev);
1216   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev", popup_prev,
1217                             (GtkDestroyNotify) gtk_widget_unref);
1218   gtk_widget_show (popup_prev);
1219   gtk_container_add (GTK_CONTAINER (intf_popup), popup_prev);
1220
1221   popup_jump = gtk_menu_item_new_with_label ("");
1222   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_jump)->child),
1223                                    _("_Jump..."));
1224   gtk_widget_add_accelerator (popup_jump, "activate_item", intf_popup_accels,
1225                               tmp_key, 0, 0);
1226   gtk_widget_ref (popup_jump);
1227   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump", popup_jump,
1228                             (GtkDestroyNotify) gtk_widget_unref);
1229   gtk_widget_show (popup_jump);
1230   gtk_container_add (GTK_CONTAINER (intf_popup), popup_jump);
1231
1232   separator27 = gtk_menu_item_new ();
1233   gtk_widget_ref (separator27);
1234   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator27", separator27,
1235                             (GtkDestroyNotify) gtk_widget_unref);
1236   gtk_widget_show (separator27);
1237   gtk_container_add (GTK_CONTAINER (intf_popup), separator27);
1238   gtk_widget_set_sensitive (separator27, FALSE);
1239
1240   popup_program = gtk_menu_item_new_with_label (_("Program"));
1241   gtk_widget_ref (popup_program);
1242   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program", popup_program,
1243                             (GtkDestroyNotify) gtk_widget_unref);
1244   gtk_widget_show (popup_program);
1245   gtk_container_add (GTK_CONTAINER (intf_popup), popup_program);
1246   gtk_widget_set_sensitive (popup_program, FALSE);
1247
1248   popup_navigation = gtk_menu_item_new_with_label ("");
1249   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_navigation)->child),
1250                                    _("_Navigation"));
1251   gtk_widget_add_accelerator (popup_navigation, "activate_item", intf_popup_accels,
1252                               tmp_key, 0, 0);
1253   gtk_widget_ref (popup_navigation);
1254   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation", popup_navigation,
1255                             (GtkDestroyNotify) gtk_widget_unref);
1256   gtk_widget_show (popup_navigation);
1257   gtk_container_add (GTK_CONTAINER (intf_popup), popup_navigation);
1258   gtk_widget_set_sensitive (popup_navigation, FALSE);
1259
1260   audio1 = gtk_menu_item_new_with_label (_("Audio"));
1261   gtk_widget_ref (audio1);
1262   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "audio1", audio1,
1263                             (GtkDestroyNotify) gtk_widget_unref);
1264   gtk_widget_show (audio1);
1265   gtk_container_add (GTK_CONTAINER (intf_popup), audio1);
1266
1267   audio1_menu = gtk_menu_new ();
1268   gtk_widget_ref (audio1_menu);
1269   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "audio1_menu", audio1_menu,
1270                             (GtkDestroyNotify) gtk_widget_unref);
1271   gtk_menu_item_set_submenu (GTK_MENU_ITEM (audio1), audio1_menu);
1272   audio1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (audio1_menu));
1273
1274   popup_audio = gtk_menu_item_new_with_label ("");
1275   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_audio)->child),
1276                                    _("_Language"));
1277   gtk_widget_add_accelerator (popup_audio, "activate_item", audio1_menu_accels,
1278                               tmp_key, 0, 0);
1279   gtk_widget_ref (popup_audio);
1280   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio", popup_audio,
1281                             (GtkDestroyNotify) gtk_widget_unref);
1282   gtk_widget_show (popup_audio);
1283   gtk_container_add (GTK_CONTAINER (audio1_menu), popup_audio);
1284   gtk_widget_set_sensitive (popup_audio, FALSE);
1285
1286   separator19 = gtk_menu_item_new ();
1287   gtk_widget_ref (separator19);
1288   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator19", separator19,
1289                             (GtkDestroyNotify) gtk_widget_unref);
1290   gtk_widget_show (separator19);
1291   gtk_container_add (GTK_CONTAINER (audio1_menu), separator19);
1292   gtk_widget_set_sensitive (separator19, FALSE);
1293
1294   popup_volume_up = gtk_menu_item_new_with_label (_("Volume Up"));
1295   gtk_widget_ref (popup_volume_up);
1296   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_up", popup_volume_up,
1297                             (GtkDestroyNotify) gtk_widget_unref);
1298   gtk_widget_show (popup_volume_up);
1299   gtk_container_add (GTK_CONTAINER (audio1_menu), popup_volume_up);
1300
1301   popup_volume_down = gtk_menu_item_new_with_label (_("Volume Down"));
1302   gtk_widget_ref (popup_volume_down);
1303   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_down", popup_volume_down,
1304                             (GtkDestroyNotify) gtk_widget_unref);
1305   gtk_widget_show (popup_volume_down);
1306   gtk_container_add (GTK_CONTAINER (audio1_menu), popup_volume_down);
1307
1308   popup_volume_mute = gtk_menu_item_new_with_label (_("Mute"));
1309   gtk_widget_ref (popup_volume_mute);
1310   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_mute", popup_volume_mute,
1311                             (GtkDestroyNotify) gtk_widget_unref);
1312   gtk_widget_show (popup_volume_mute);
1313   gtk_container_add (GTK_CONTAINER (audio1_menu), popup_volume_mute);
1314
1315   separator20 = gtk_menu_item_new ();
1316   gtk_widget_ref (separator20);
1317   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator20", separator20,
1318                             (GtkDestroyNotify) gtk_widget_unref);
1319   gtk_widget_show (separator20);
1320   gtk_container_add (GTK_CONTAINER (audio1_menu), separator20);
1321   gtk_widget_set_sensitive (separator20, FALSE);
1322
1323   popup_audio_channels = gtk_menu_item_new_with_label (_("Channels"));
1324   gtk_widget_ref (popup_audio_channels);
1325   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_channels", popup_audio_channels,
1326                             (GtkDestroyNotify) gtk_widget_unref);
1327   gtk_widget_show (popup_audio_channels);
1328   gtk_container_add (GTK_CONTAINER (audio1_menu), popup_audio_channels);
1329
1330   popup_audio_device = gtk_menu_item_new_with_label (_("Device"));
1331   gtk_widget_ref (popup_audio_device);
1332   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_device", popup_audio_device,
1333                             (GtkDestroyNotify) gtk_widget_unref);
1334   gtk_widget_show (popup_audio_device);
1335   gtk_container_add (GTK_CONTAINER (audio1_menu), popup_audio_device);
1336
1337   video1 = gtk_menu_item_new_with_label (_("Video"));
1338   gtk_widget_ref (video1);
1339   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "video1", video1,
1340                             (GtkDestroyNotify) gtk_widget_unref);
1341   gtk_widget_show (video1);
1342   gtk_container_add (GTK_CONTAINER (intf_popup), video1);
1343
1344   video1_menu = gtk_menu_new ();
1345   gtk_widget_ref (video1_menu);
1346   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "video1_menu", video1_menu,
1347                             (GtkDestroyNotify) gtk_widget_unref);
1348   gtk_menu_item_set_submenu (GTK_MENU_ITEM (video1), video1_menu);
1349   video1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (video1_menu));
1350
1351   popup_subpictures = gtk_menu_item_new_with_label ("");
1352   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_subpictures)->child),
1353                                    _("_Subtitles"));
1354   gtk_widget_add_accelerator (popup_subpictures, "activate_item", video1_menu_accels,
1355                               tmp_key, 0, 0);
1356   gtk_widget_ref (popup_subpictures);
1357   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures", popup_subpictures,
1358                             (GtkDestroyNotify) gtk_widget_unref);
1359   gtk_widget_show (popup_subpictures);
1360   gtk_container_add (GTK_CONTAINER (video1_menu), popup_subpictures);
1361   gtk_widget_set_sensitive (popup_subpictures, FALSE);
1362
1363   separator21 = gtk_menu_item_new ();
1364   gtk_widget_ref (separator21);
1365   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator21", separator21,
1366                             (GtkDestroyNotify) gtk_widget_unref);
1367   gtk_widget_show (separator21);
1368   gtk_container_add (GTK_CONTAINER (video1_menu), separator21);
1369   gtk_widget_set_sensitive (separator21, FALSE);
1370
1371   popup_fullscreen = gtk_menu_item_new_with_label ("");
1372   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_fullscreen)->child),
1373                                    _("_Fullscreen"));
1374   gtk_widget_add_accelerator (popup_fullscreen, "activate_item", video1_menu_accels,
1375                               tmp_key, 0, 0);
1376   gtk_widget_ref (popup_fullscreen);
1377   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen", popup_fullscreen,
1378                             (GtkDestroyNotify) gtk_widget_unref);
1379   gtk_widget_show (popup_fullscreen);
1380   gtk_container_add (GTK_CONTAINER (video1_menu), popup_fullscreen);
1381
1382   separator23 = gtk_menu_item_new ();
1383   gtk_widget_ref (separator23);
1384   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator23", separator23,
1385                             (GtkDestroyNotify) gtk_widget_unref);
1386   gtk_widget_show (separator23);
1387   gtk_container_add (GTK_CONTAINER (video1_menu), separator23);
1388   gtk_widget_set_sensitive (separator23, FALSE);
1389
1390   popup_deinterlace = gtk_menu_item_new_with_label (_("Deinterlace"));
1391   gtk_widget_ref (popup_deinterlace);
1392   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_deinterlace", popup_deinterlace,
1393                             (GtkDestroyNotify) gtk_widget_unref);
1394   gtk_widget_show (popup_deinterlace);
1395   gtk_container_add (GTK_CONTAINER (video1_menu), popup_deinterlace);
1396
1397   popup_video_device = gtk_menu_item_new_with_label (_("Screen"));
1398   gtk_widget_ref (popup_video_device);
1399   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_device", popup_video_device,
1400                             (GtkDestroyNotify) gtk_widget_unref);
1401   gtk_widget_show (popup_video_device);
1402   gtk_container_add (GTK_CONTAINER (video1_menu), popup_video_device);
1403
1404   separator26 = gtk_menu_item_new ();
1405   gtk_widget_ref (separator26);
1406   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator26", separator26,
1407                             (GtkDestroyNotify) gtk_widget_unref);
1408   gtk_widget_show (separator26);
1409   gtk_container_add (GTK_CONTAINER (intf_popup), separator26);
1410   gtk_widget_set_sensitive (separator26, FALSE);
1411
1412   popup_open = gtk_menu_item_new_with_label ("");
1413   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_open)->child),
1414                                    _("_File"));
1415   gtk_widget_add_accelerator (popup_open, "activate_item", intf_popup_accels,
1416                               tmp_key, 0, 0);
1417   gtk_widget_ref (popup_open);
1418   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open", popup_open,
1419                             (GtkDestroyNotify) gtk_widget_unref);
1420   gtk_widget_show (popup_open);
1421   gtk_container_add (GTK_CONTAINER (intf_popup), popup_open);
1422
1423   popup_open_menu = gtk_menu_new ();
1424   gtk_widget_ref (popup_open_menu);
1425   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open_menu", popup_open_menu,
1426                             (GtkDestroyNotify) gtk_widget_unref);
1427   gtk_menu_item_set_submenu (GTK_MENU_ITEM (popup_open), popup_open_menu);
1428   popup_open_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (popup_open_menu));
1429
1430   popup_file = gtk_menu_item_new_with_label ("");
1431   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_file)->child),
1432                                    _("_Open File..."));
1433   gtk_widget_add_accelerator (popup_file, "activate_item", popup_open_menu_accels,
1434                               tmp_key, 0, 0);
1435   gtk_widget_ref (popup_file);
1436   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file", popup_file,
1437                             (GtkDestroyNotify) gtk_widget_unref);
1438   gtk_widget_show (popup_file);
1439   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_file);
1440   gtk_tooltips_set_tip (tooltips, popup_file, _("Open a file"), NULL);
1441
1442   popup_disc = gtk_menu_item_new_with_label ("");
1443   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_disc)->child),
1444                                    _("Open _Disc..."));
1445   gtk_widget_add_accelerator (popup_disc, "activate_item", popup_open_menu_accels,
1446                               tmp_key, 0, 0);
1447   gtk_widget_ref (popup_disc);
1448   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc", popup_disc,
1449                             (GtkDestroyNotify) gtk_widget_unref);
1450   gtk_widget_show (popup_disc);
1451   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_disc);
1452   gtk_tooltips_set_tip (tooltips, popup_disc, _("Open a DVD or VCD"), NULL);
1453
1454   popup_network = gtk_menu_item_new_with_label ("");
1455   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_network)->child),
1456                                    _("_Network Stream..."));
1457   gtk_widget_add_accelerator (popup_network, "activate_item", popup_open_menu_accels,
1458                               tmp_key, 0, 0);
1459   gtk_widget_ref (popup_network);
1460   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network", popup_network,
1461                             (GtkDestroyNotify) gtk_widget_unref);
1462   gtk_widget_show (popup_network);
1463   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_network);
1464   gtk_tooltips_set_tip (tooltips, popup_network, _("Select a network stream"), NULL);
1465
1466   separator12 = gtk_menu_item_new ();
1467   gtk_widget_ref (separator12);
1468   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator12", separator12,
1469                             (GtkDestroyNotify) gtk_widget_unref);
1470   gtk_widget_show (separator12);
1471   gtk_container_add (GTK_CONTAINER (popup_open_menu), separator12);
1472   gtk_widget_set_sensitive (separator12, FALSE);
1473
1474   popup_about = gtk_menu_item_new_with_label ("");
1475   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_about)->child),
1476                                    _("_About..."));
1477   gtk_widget_add_accelerator (popup_about, "activate_item", popup_open_menu_accels,
1478                               tmp_key, 0, 0);
1479   gtk_widget_ref (popup_about);
1480   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about", popup_about,
1481                             (GtkDestroyNotify) gtk_widget_unref);
1482   gtk_widget_show (popup_about);
1483   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_about);
1484
1485   popup_interface_toggle = gtk_menu_item_new_with_label ("");
1486   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_interface_toggle)->child),
1487                                    _("Toggle _Interface"));
1488   gtk_widget_add_accelerator (popup_interface_toggle, "activate_item", intf_popup_accels,
1489                               tmp_key, 0, 0);
1490   gtk_widget_ref (popup_interface_toggle);
1491   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle", popup_interface_toggle,
1492                             (GtkDestroyNotify) gtk_widget_unref);
1493   gtk_widget_show (popup_interface_toggle);
1494   gtk_container_add (GTK_CONTAINER (intf_popup), popup_interface_toggle);
1495
1496   popup_playlist = gtk_menu_item_new_with_label (_("Playlist..."));
1497   gtk_widget_ref (popup_playlist);
1498   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist", popup_playlist,
1499                             (GtkDestroyNotify) gtk_widget_unref);
1500   gtk_widget_show (popup_playlist);
1501   gtk_container_add (GTK_CONTAINER (intf_popup), popup_playlist);
1502
1503   popup_preferences = gtk_menu_item_new_with_label ("");
1504   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_preferences)->child),
1505                                    _("_Preferences..."));
1506   gtk_widget_add_accelerator (popup_preferences, "activate_item", intf_popup_accels,
1507                               tmp_key, 0, 0);
1508   gtk_widget_ref (popup_preferences);
1509   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences", popup_preferences,
1510                             (GtkDestroyNotify) gtk_widget_unref);
1511   gtk_widget_show (popup_preferences);
1512   gtk_container_add (GTK_CONTAINER (intf_popup), popup_preferences);
1513
1514   separator9 = gtk_menu_item_new ();
1515   gtk_widget_ref (separator9);
1516   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator9", separator9,
1517                             (GtkDestroyNotify) gtk_widget_unref);
1518   gtk_widget_show (separator9);
1519   gtk_container_add (GTK_CONTAINER (intf_popup), separator9);
1520   gtk_widget_set_sensitive (separator9, FALSE);
1521
1522   popup_exit = gtk_menu_item_new_with_label ("");
1523   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_exit)->child),
1524                                    _("E_xit"));
1525   gtk_widget_add_accelerator (popup_exit, "activate_item", intf_popup_accels,
1526                               tmp_key, 0, 0);
1527   gtk_widget_ref (popup_exit);
1528   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit", popup_exit,
1529                             (GtkDestroyNotify) gtk_widget_unref);
1530   gtk_widget_show (popup_exit);
1531   gtk_container_add (GTK_CONTAINER (intf_popup), popup_exit);
1532
1533   gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
1534                       GTK_SIGNAL_FUNC (GtkControlPlay),
1535                       NULL);
1536   gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
1537                       GTK_SIGNAL_FUNC (GtkControlPause),
1538                       NULL);
1539   gtk_signal_connect (GTK_OBJECT (popup_stop), "activate",
1540                       GTK_SIGNAL_FUNC (GtkControlStop),
1541                       NULL);
1542   gtk_signal_connect (GTK_OBJECT (popup_back), "activate",
1543                       GTK_SIGNAL_FUNC (GtkControlBack),
1544                       NULL);
1545   gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
1546                       GTK_SIGNAL_FUNC (GtkControlSlow),
1547                       NULL);
1548   gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
1549                       GTK_SIGNAL_FUNC (GtkControlFast),
1550                       NULL);
1551   gtk_signal_connect (GTK_OBJECT (popup_next), "activate",
1552                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
1553                       NULL);
1554   gtk_signal_connect (GTK_OBJECT (popup_prev), "activate",
1555                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
1556                       NULL);
1557   gtk_signal_connect (GTK_OBJECT (popup_jump), "activate",
1558                       GTK_SIGNAL_FUNC (GtkJumpShow),
1559                       NULL);
1560   gtk_signal_connect (GTK_OBJECT (popup_volume_up), "activate",
1561                       GTK_SIGNAL_FUNC (GtkVolumeUp),
1562                       NULL);
1563   gtk_signal_connect (GTK_OBJECT (popup_volume_down), "activate",
1564                       GTK_SIGNAL_FUNC (GtkVolumeDown),
1565                       NULL);
1566   gtk_signal_connect (GTK_OBJECT (popup_volume_mute), "activate",
1567                       GTK_SIGNAL_FUNC (GtkVolumeMute),
1568                       NULL);
1569   gtk_signal_connect (GTK_OBJECT (popup_fullscreen), "activate",
1570                       GTK_SIGNAL_FUNC (GtkFullscreen),
1571                       NULL);
1572   gtk_signal_connect (GTK_OBJECT (popup_file), "activate",
1573                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
1574                       NULL);
1575   gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
1576                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
1577                       NULL);
1578   gtk_signal_connect (GTK_OBJECT (popup_network), "activate",
1579                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
1580                       NULL);
1581   gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
1582                       GTK_SIGNAL_FUNC (GtkAboutShow),
1583                       NULL);
1584   gtk_signal_connect (GTK_OBJECT (popup_interface_toggle), "activate",
1585                       GTK_SIGNAL_FUNC (GtkWindowToggle),
1586                       NULL);
1587   gtk_signal_connect (GTK_OBJECT (popup_playlist), "activate",
1588                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
1589                       NULL);
1590   gtk_signal_connect (GTK_OBJECT (popup_preferences), "activate",
1591                       GTK_SIGNAL_FUNC (GtkPreferencesShow),
1592                       NULL);
1593   gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
1594                       GTK_SIGNAL_FUNC (GtkExit),
1595                       NULL);
1596
1597   gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
1598
1599   return intf_popup;
1600 }
1601
1602 GtkWidget*
1603 create_intf_about (void)
1604 {
1605   GtkWidget *intf_about;
1606   GtkWidget *dialog_vbox1;
1607   GtkWidget *vbox3;
1608   GtkWidget *label14;
1609   GtkWidget *label18;
1610   GtkWidget *frame1;
1611   GtkWidget *label16;
1612   GtkWidget *label17;
1613   GtkWidget *dialog_action_area;
1614   GtkWidget *about_ok;
1615
1616   intf_about = gtk_dialog_new ();
1617   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
1618   gtk_container_set_border_width (GTK_CONTAINER (intf_about), 5);
1619   gtk_window_set_title (GTK_WINDOW (intf_about), _("About"));
1620   gtk_window_set_position (GTK_WINDOW (intf_about), GTK_WIN_POS_CENTER);
1621   gtk_window_set_policy (GTK_WINDOW (intf_about), FALSE, FALSE, FALSE);
1622
1623   dialog_vbox1 = GTK_DIALOG (intf_about)->vbox;
1624   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_vbox1", dialog_vbox1);
1625   gtk_widget_show (dialog_vbox1);
1626
1627   vbox3 = gtk_vbox_new (FALSE, 0);
1628   gtk_widget_ref (vbox3);
1629   gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox3", vbox3,
1630                             (GtkDestroyNotify) gtk_widget_unref);
1631   gtk_widget_show (vbox3);
1632   gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3, TRUE, TRUE, 0);
1633
1634   label14 = gtk_label_new (_("VideoLAN Client"));
1635   gtk_widget_ref (label14);
1636   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label14", label14,
1637                             (GtkDestroyNotify) gtk_widget_unref);
1638   gtk_widget_show (label14);
1639   gtk_box_pack_start (GTK_BOX (vbox3), label14, TRUE, TRUE, 0);
1640   gtk_misc_set_padding (GTK_MISC (label14), 0, 10);
1641
1642   label18 = gtk_label_new (_("(C) 1996-2003 - the VideoLAN Team"));
1643   gtk_widget_ref (label18);
1644   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label18", label18,
1645                             (GtkDestroyNotify) gtk_widget_unref);
1646   gtk_widget_show (label18);
1647   gtk_box_pack_start (GTK_BOX (vbox3), label18, FALSE, FALSE, 0);
1648   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
1649   gtk_misc_set_padding (GTK_MISC (label18), 0, 5);
1650
1651   frame1 = gtk_frame_new (_("Authors"));
1652   gtk_widget_ref (frame1);
1653   gtk_object_set_data_full (GTK_OBJECT (intf_about), "frame1", frame1,
1654                             (GtkDestroyNotify) gtk_widget_unref);
1655   gtk_widget_show (frame1);
1656   gtk_box_pack_start (GTK_BOX (vbox3), frame1, FALSE, FALSE, 0);
1657
1658   label16 = gtk_label_new (_("the VideoLAN team <videolan@videolan.org>\nhttp://www.videolan.org/"));
1659   gtk_widget_ref (label16);
1660   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label16", label16,
1661                             (GtkDestroyNotify) gtk_widget_unref);
1662   gtk_widget_show (label16);
1663   gtk_container_add (GTK_CONTAINER (frame1), label16);
1664   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
1665   gtk_misc_set_alignment (GTK_MISC (label16), 0.5, 0);
1666   gtk_misc_set_padding (GTK_MISC (label16), 5, 5);
1667
1668   label17 = gtk_label_new (_("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."));
1669   gtk_widget_ref (label17);
1670   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label17", label17,
1671                             (GtkDestroyNotify) gtk_widget_unref);
1672   gtk_widget_show (label17);
1673   gtk_box_pack_start (GTK_BOX (vbox3), label17, FALSE, FALSE, 0);
1674   gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT);
1675   gtk_label_set_line_wrap (GTK_LABEL (label17), TRUE);
1676   gtk_misc_set_padding (GTK_MISC (label17), 0, 5);
1677
1678   dialog_action_area = GTK_DIALOG (intf_about)->action_area;
1679   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_action_area", dialog_action_area);
1680   gtk_widget_show (dialog_action_area);
1681   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
1682
1683   about_ok = gtk_button_new_with_label (_("OK"));
1684   gtk_widget_ref (about_ok);
1685   gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
1686                             (GtkDestroyNotify) gtk_widget_unref);
1687   gtk_widget_show (about_ok);
1688   gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
1689   GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
1690
1691   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
1692                       GTK_SIGNAL_FUNC (GtkAboutOk),
1693                       NULL);
1694
1695   gtk_widget_grab_default (about_ok);
1696   return intf_about;
1697 }
1698
1699 GtkWidget*
1700 create_intf_open (void)
1701 {
1702   GtkWidget *intf_open;
1703   GtkWidget *dialog_vbox7;
1704   GtkWidget *open_vbox;
1705   GtkWidget *frame10;
1706   GtkWidget *hbox21;
1707   GtkWidget *hbox22;
1708   GtkWidget *label34;
1709   GtkWidget *combo2;
1710   GtkWidget *entry_open;
1711   GtkWidget *label36;
1712   GtkWidget *open_notebook;
1713   GtkWidget *hbox20;
1714   GtkWidget *combo1;
1715   GtkWidget *entry_file;
1716   GtkWidget *vbox13;
1717   GtkWidget *open_browse;
1718   GtkWidget *open_file;
1719   GtkWidget *table5;
1720   GtkWidget *label35;
1721   GtkWidget *hbox24;
1722   GSList *disc_group = NULL;
1723   GtkWidget *disc_dvd;
1724   GtkWidget *disc_vcd;
1725   GtkWidget *label19;
1726   GtkWidget *disc_chapter_label;
1727   GtkWidget *disc_title_label;
1728   GtkWidget *disc_name;
1729   GtkObject *disc_title_adj;
1730   GtkWidget *disc_title;
1731   GtkObject *disc_chapter_adj;
1732   GtkWidget *disc_chapter;
1733   GtkWidget *disc_dvd_use_menu;
1734   GtkWidget *open_disc;
1735   GtkWidget *table4;
1736   GSList *table4_group = NULL;
1737   GtkWidget *network_udp;
1738   GtkWidget *network_multicast;
1739   GtkWidget *network_channel;
1740   GtkWidget *network_http;
1741   GtkWidget *network_udp_port_label;
1742   GtkWidget *network_multicast_address_label;
1743   GtkWidget *network_channel_address_label;
1744   GtkWidget *network_http_url_label;
1745   GtkWidget *network_multicast_address_combo;
1746   GtkWidget *network_multicast_address;
1747   GtkWidget *network_channel_address_combo;
1748   GtkWidget *network_channel_address;
1749   GtkWidget *network_multicast_port_label;
1750   GtkWidget *network_channel_port_label;
1751   GtkObject *network_multicast_port_adj;
1752   GtkWidget *network_multicast_port;
1753   GtkObject *network_channel_port_adj;
1754   GtkWidget *network_channel_port;
1755   GtkWidget *network_http_url;
1756   GtkObject *network_udp_port_adj;
1757   GtkWidget *network_udp_port;
1758   GtkWidget *open_net;
1759   GtkWidget *table3;
1760   GtkWidget *label24;
1761   GtkWidget *label25;
1762   GtkWidget *label26;
1763   GtkObject *sat_freq_adj;
1764   GtkWidget *sat_freq;
1765   GtkWidget *label27;
1766   GtkWidget *hbox23;
1767   GSList *pol_group = NULL;
1768   GtkWidget *sat_pol_vert;
1769   GtkWidget *sat_pol_hor;
1770   GtkObject *sat_srate_adj;
1771   GtkWidget *sat_srate;
1772   GtkWidget *sat_fec;
1773   GList *sat_fec_items = NULL;
1774   GtkWidget *combo_entry1;
1775   GtkWidget *open_sat;
1776   GtkWidget *show_subtitle;
1777   GtkWidget *hbox_subtitle;
1778   GtkWidget *combo3;
1779   GtkWidget *entry_subtitle;
1780   GtkWidget *vbox14;
1781   GtkWidget *open_browse_subtitle;
1782   GtkWidget *label37;
1783   GtkObject *subtitle_delay_adj;
1784   GtkWidget *subtitle_delay;
1785   GtkWidget *label3;
1786   GtkObject *subtitle_fps_adj;
1787   GtkWidget *subtitle_fps;
1788   GtkWidget *hbox30;
1789   GtkWidget *show_sout_settings;
1790   GtkWidget *sout_settings;
1791   GtkWidget *dialog_action_area6;
1792   GtkWidget *hbox18;
1793   GtkWidget *hbox19;
1794   GtkWidget *open_ok;
1795   GtkWidget *open_cancel;
1796   GtkAccelGroup *accel_group;
1797   GtkTooltips *tooltips;
1798
1799   tooltips = gtk_tooltips_new ();
1800
1801   accel_group = gtk_accel_group_new ();
1802
1803   intf_open = gtk_dialog_new ();
1804   gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
1805   gtk_container_set_border_width (GTK_CONTAINER (intf_open), 5);
1806   gtk_window_set_title (GTK_WINDOW (intf_open), _("Open Target"));
1807   gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, TRUE, TRUE);
1808
1809   dialog_vbox7 = GTK_DIALOG (intf_open)->vbox;
1810   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox7", dialog_vbox7);
1811   gtk_widget_show (dialog_vbox7);
1812
1813   open_vbox = gtk_vbox_new (FALSE, 5);
1814   gtk_widget_ref (open_vbox);
1815   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_vbox", open_vbox,
1816                             (GtkDestroyNotify) gtk_widget_unref);
1817   gtk_widget_show (open_vbox);
1818   gtk_box_pack_start (GTK_BOX (dialog_vbox7), open_vbox, TRUE, TRUE, 0);
1819
1820   frame10 = gtk_frame_new (_("Media Resource Locator (MRL)"));
1821   gtk_widget_ref (frame10);
1822   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
1823                             (GtkDestroyNotify) gtk_widget_unref);
1824   gtk_widget_show (frame10);
1825   gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
1826
1827   hbox21 = gtk_hbox_new (FALSE, 5);
1828   gtk_widget_ref (hbox21);
1829   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox21", hbox21,
1830                             (GtkDestroyNotify) gtk_widget_unref);
1831   gtk_widget_show (hbox21);
1832   gtk_container_add (GTK_CONTAINER (frame10), hbox21);
1833   gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
1834
1835   hbox22 = gtk_hbox_new (FALSE, 0);
1836   gtk_widget_ref (hbox22);
1837   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox22", hbox22,
1838                             (GtkDestroyNotify) gtk_widget_unref);
1839   gtk_widget_show (hbox22);
1840   gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
1841
1842   label34 = gtk_label_new (_("Open Target:"));
1843   gtk_widget_ref (label34);
1844   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label34", label34,
1845                             (GtkDestroyNotify) gtk_widget_unref);
1846   gtk_widget_show (label34);
1847   gtk_box_pack_start (GTK_BOX (hbox22), label34, FALSE, FALSE, 0);
1848
1849   combo2 = gtk_combo_new ();
1850   gtk_widget_ref (combo2);
1851   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
1852                             (GtkDestroyNotify) gtk_widget_unref);
1853   gtk_widget_show (combo2);
1854   gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
1855
1856   entry_open = GTK_COMBO (combo2)->entry;
1857   gtk_widget_ref (entry_open);
1858   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_open", entry_open,
1859                             (GtkDestroyNotify) gtk_widget_unref);
1860   gtk_widget_show (entry_open);
1861
1862   label36 = gtk_label_new (_("Alternatively, you can build an MRL using one of the following predefined targets:"));
1863   gtk_widget_ref (label36);
1864   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label36", label36,
1865                             (GtkDestroyNotify) gtk_widget_unref);
1866   gtk_widget_show (label36);
1867   gtk_box_pack_start (GTK_BOX (open_vbox), label36, TRUE, TRUE, 0);
1868   gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
1869   gtk_misc_set_alignment (GTK_MISC (label36), 0, 1);
1870
1871   open_notebook = gtk_notebook_new ();
1872   gtk_widget_ref (open_notebook);
1873   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_notebook", open_notebook,
1874                             (GtkDestroyNotify) gtk_widget_unref);
1875   gtk_widget_show (open_notebook);
1876   gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 0);
1877
1878   hbox20 = gtk_hbox_new (FALSE, 5);
1879   gtk_widget_ref (hbox20);
1880   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox20", hbox20,
1881                             (GtkDestroyNotify) gtk_widget_unref);
1882   gtk_widget_show (hbox20);
1883   gtk_container_add (GTK_CONTAINER (open_notebook), hbox20);
1884   gtk_container_set_border_width (GTK_CONTAINER (hbox20), 5);
1885
1886   combo1 = gtk_combo_new ();
1887   gtk_widget_ref (combo1);
1888   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
1889                             (GtkDestroyNotify) gtk_widget_unref);
1890   gtk_widget_show (combo1);
1891   gtk_box_pack_start (GTK_BOX (hbox20), combo1, FALSE, TRUE, 0);
1892
1893   entry_file = GTK_COMBO (combo1)->entry;
1894   gtk_widget_ref (entry_file);
1895   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_file", entry_file,
1896                             (GtkDestroyNotify) gtk_widget_unref);
1897   gtk_widget_show (entry_file);
1898
1899   vbox13 = gtk_vbox_new (TRUE, 0);
1900   gtk_widget_ref (vbox13);
1901   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
1902                             (GtkDestroyNotify) gtk_widget_unref);
1903   gtk_widget_show (vbox13);
1904   gtk_box_pack_start (GTK_BOX (hbox20), vbox13, FALSE, FALSE, 0);
1905
1906   open_browse = gtk_button_new_with_label (_("Browse..."));
1907   gtk_widget_ref (open_browse);
1908   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse", open_browse,
1909                             (GtkDestroyNotify) gtk_widget_unref);
1910   gtk_widget_show (open_browse);
1911   gtk_box_pack_start (GTK_BOX (vbox13), open_browse, FALSE, FALSE, 0);
1912
1913   open_file = gtk_label_new (_("File"));
1914   gtk_widget_ref (open_file);
1915   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_file", open_file,
1916                             (GtkDestroyNotify) gtk_widget_unref);
1917   gtk_widget_show (open_file);
1918   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 0), open_file);
1919
1920   table5 = gtk_table_new (5, 2, FALSE);
1921   gtk_widget_ref (table5);
1922   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
1923                             (GtkDestroyNotify) gtk_widget_unref);
1924   gtk_widget_show (table5);
1925   gtk_container_add (GTK_CONTAINER (open_notebook), table5);
1926   gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
1927   gtk_table_set_row_spacings (GTK_TABLE (table5), 5);
1928   gtk_table_set_col_spacings (GTK_TABLE (table5), 5);
1929
1930   label35 = gtk_label_new (_("Disc type"));
1931   gtk_widget_ref (label35);
1932   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label35", label35,
1933                             (GtkDestroyNotify) gtk_widget_unref);
1934   gtk_widget_show (label35);
1935   gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 0, 1,
1936                     (GtkAttachOptions) (GTK_FILL),
1937                     (GtkAttachOptions) (0), 0, 0);
1938   gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
1939
1940   hbox24 = gtk_hbox_new (FALSE, 0);
1941   gtk_widget_ref (hbox24);
1942   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox24", hbox24,
1943                             (GtkDestroyNotify) gtk_widget_unref);
1944   gtk_widget_show (hbox24);
1945   gtk_table_attach (GTK_TABLE (table5), hbox24, 1, 2, 0, 1,
1946                     (GtkAttachOptions) (GTK_FILL),
1947                     (GtkAttachOptions) (GTK_FILL), 0, 0);
1948
1949   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
1950   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
1951   gtk_widget_ref (disc_dvd);
1952   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd", disc_dvd,
1953                             (GtkDestroyNotify) gtk_widget_unref);
1954   gtk_widget_show (disc_dvd);
1955   gtk_box_pack_start (GTK_BOX (hbox24), disc_dvd, FALSE, FALSE, 0);
1956
1957   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1958   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1959   gtk_widget_ref (disc_vcd);
1960   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_vcd", disc_vcd,
1961                             (GtkDestroyNotify) gtk_widget_unref);
1962   gtk_widget_show (disc_vcd);
1963   gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
1964
1965   label19 = gtk_label_new (_("Device name"));
1966   gtk_widget_ref (label19);
1967   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
1968                             (GtkDestroyNotify) gtk_widget_unref);
1969   gtk_widget_show (label19);
1970   gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
1971                     (GtkAttachOptions) (GTK_FILL),
1972                     (GtkAttachOptions) (0), 0, 0);
1973   gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5);
1974
1975   disc_chapter_label = gtk_label_new (_("Chapter"));
1976   gtk_widget_ref (disc_chapter_label);
1977   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter_label", disc_chapter_label,
1978                             (GtkDestroyNotify) gtk_widget_unref);
1979   gtk_widget_show (disc_chapter_label);
1980   gtk_table_attach (GTK_TABLE (table5), disc_chapter_label, 0, 1, 4, 5,
1981                     (GtkAttachOptions) (GTK_FILL),
1982                     (GtkAttachOptions) (0), 0, 0);
1983   gtk_misc_set_alignment (GTK_MISC (disc_chapter_label), 0, 0.5);
1984
1985   disc_title_label = gtk_label_new (_("Title"));
1986   gtk_widget_ref (disc_title_label);
1987   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title_label", disc_title_label,
1988                             (GtkDestroyNotify) gtk_widget_unref);
1989   gtk_widget_show (disc_title_label);
1990   gtk_table_attach (GTK_TABLE (table5), disc_title_label, 0, 1, 3, 4,
1991                     (GtkAttachOptions) (GTK_FILL),
1992                     (GtkAttachOptions) (0), 0, 0);
1993   gtk_misc_set_alignment (GTK_MISC (disc_title_label), 0, 0.5);
1994
1995   disc_name = gtk_entry_new ();
1996   gtk_widget_ref (disc_name);
1997   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
1998                             (GtkDestroyNotify) gtk_widget_unref);
1999   gtk_widget_show (disc_name);
2000   gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
2001                     (GtkAttachOptions) (GTK_FILL),
2002                     (GtkAttachOptions) (0), 0, 0);
2003   gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
2004
2005   disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
2006   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
2007   gtk_widget_ref (disc_title);
2008   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title", disc_title,
2009                             (GtkDestroyNotify) gtk_widget_unref);
2010   gtk_widget_show (disc_title);
2011   gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 3, 4,
2012                     (GtkAttachOptions) (GTK_FILL),
2013                     (GtkAttachOptions) (0), 0, 0);
2014
2015   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
2016   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
2017   gtk_widget_ref (disc_chapter);
2018   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
2019                             (GtkDestroyNotify) gtk_widget_unref);
2020   gtk_widget_show (disc_chapter);
2021   gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 4, 5,
2022                     (GtkAttachOptions) (GTK_FILL),
2023                     (GtkAttachOptions) (0), 0, 0);
2024
2025   disc_dvd_use_menu = gtk_check_button_new_with_label (_("Use DVD menus"));
2026   gtk_widget_ref (disc_dvd_use_menu);
2027   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd_use_menu", disc_dvd_use_menu,
2028                             (GtkDestroyNotify) gtk_widget_unref);
2029   gtk_widget_show (disc_dvd_use_menu);
2030   gtk_table_attach (GTK_TABLE (table5), disc_dvd_use_menu, 1, 2, 2, 3,
2031                     (GtkAttachOptions) (GTK_FILL),
2032                     (GtkAttachOptions) (0), 0, 0);
2033
2034   open_disc = gtk_label_new (_("Disc"));
2035   gtk_widget_ref (open_disc);
2036   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_disc", open_disc,
2037                             (GtkDestroyNotify) gtk_widget_unref);
2038   gtk_widget_show (open_disc);
2039   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 1), open_disc);
2040
2041   table4 = gtk_table_new (4, 6, FALSE);
2042   gtk_widget_ref (table4);
2043   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
2044                             (GtkDestroyNotify) gtk_widget_unref);
2045   gtk_widget_show (table4);
2046   gtk_container_add (GTK_CONTAINER (open_notebook), table4);
2047   gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
2048   gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
2049   gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
2050
2051   network_udp = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP"));
2052   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
2053   gtk_widget_ref (network_udp);
2054   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp", network_udp,
2055                             (GtkDestroyNotify) gtk_widget_unref);
2056   gtk_widget_show (network_udp);
2057   gtk_table_attach (GTK_TABLE (table4), network_udp, 0, 1, 0, 1,
2058                     (GtkAttachOptions) (GTK_FILL),
2059                     (GtkAttachOptions) (0), 0, 0);
2060
2061   network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP Multicast"));
2062   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
2063   gtk_widget_ref (network_multicast);
2064   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast", network_multicast,
2065                             (GtkDestroyNotify) gtk_widget_unref);
2066   gtk_widget_show (network_multicast);
2067   gtk_table_attach (GTK_TABLE (table4), network_multicast, 0, 1, 1, 2,
2068                     (GtkAttachOptions) (GTK_FILL),
2069                     (GtkAttachOptions) (0), 0, 0);
2070
2071   network_channel = gtk_radio_button_new_with_label (table4_group, _("Channel server"));
2072   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_channel));
2073   gtk_widget_ref (network_channel);
2074   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel", network_channel,
2075                             (GtkDestroyNotify) gtk_widget_unref);
2076   gtk_widget_show (network_channel);
2077   gtk_table_attach (GTK_TABLE (table4), network_channel, 0, 1, 2, 3,
2078                     (GtkAttachOptions) (GTK_FILL),
2079                     (GtkAttachOptions) (0), 0, 0);
2080
2081   network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP/FTP/MMS"));
2082   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
2083   gtk_widget_ref (network_http);
2084   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http", network_http,
2085                             (GtkDestroyNotify) gtk_widget_unref);
2086   gtk_widget_show (network_http);
2087   gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 3, 4,
2088                     (GtkAttachOptions) (GTK_FILL),
2089                     (GtkAttachOptions) (0), 0, 0);
2090
2091   network_udp_port_label = gtk_label_new (_("Port"));
2092   gtk_widget_ref (network_udp_port_label);
2093   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port_label", network_udp_port_label,
2094                             (GtkDestroyNotify) gtk_widget_unref);
2095   gtk_widget_show (network_udp_port_label);
2096   gtk_table_attach (GTK_TABLE (table4), network_udp_port_label, 1, 2, 0, 1,
2097                     (GtkAttachOptions) (GTK_FILL),
2098                     (GtkAttachOptions) (0), 0, 0);
2099   gtk_misc_set_alignment (GTK_MISC (network_udp_port_label), 1, 0.5);
2100
2101   network_multicast_address_label = gtk_label_new (_("Address"));
2102   gtk_widget_ref (network_multicast_address_label);
2103   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_label", network_multicast_address_label,
2104                             (GtkDestroyNotify) gtk_widget_unref);
2105   gtk_widget_show (network_multicast_address_label);
2106   gtk_table_attach (GTK_TABLE (table4), network_multicast_address_label, 1, 2, 1, 2,
2107                     (GtkAttachOptions) (GTK_FILL),
2108                     (GtkAttachOptions) (0), 0, 0);
2109   gtk_widget_set_sensitive (network_multicast_address_label, FALSE);
2110   gtk_label_set_justify (GTK_LABEL (network_multicast_address_label), GTK_JUSTIFY_RIGHT);
2111   gtk_misc_set_alignment (GTK_MISC (network_multicast_address_label), 1, 0.5);
2112
2113   network_channel_address_label = gtk_label_new (_("Address"));
2114   gtk_widget_ref (network_channel_address_label);
2115   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_label", network_channel_address_label,
2116                             (GtkDestroyNotify) gtk_widget_unref);
2117   gtk_widget_show (network_channel_address_label);
2118   gtk_table_attach (GTK_TABLE (table4), network_channel_address_label, 1, 2, 2, 3,
2119                     (GtkAttachOptions) (GTK_FILL),
2120                     (GtkAttachOptions) (0), 0, 0);
2121   gtk_widget_set_sensitive (network_channel_address_label, FALSE);
2122
2123   network_http_url_label = gtk_label_new (_("URL"));
2124   gtk_widget_ref (network_http_url_label);
2125   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url_label", network_http_url_label,
2126                             (GtkDestroyNotify) gtk_widget_unref);
2127   gtk_widget_show (network_http_url_label);
2128   gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 3, 4,
2129                     (GtkAttachOptions) (GTK_FILL),
2130                     (GtkAttachOptions) (0), 0, 0);
2131   gtk_widget_set_sensitive (network_http_url_label, FALSE);
2132   gtk_misc_set_alignment (GTK_MISC (network_http_url_label), 1, 0.5);
2133
2134   network_multicast_address_combo = gtk_combo_new ();
2135   gtk_widget_ref (network_multicast_address_combo);
2136   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_combo", network_multicast_address_combo,
2137                             (GtkDestroyNotify) gtk_widget_unref);
2138   gtk_widget_show (network_multicast_address_combo);
2139   gtk_table_attach (GTK_TABLE (table4), network_multicast_address_combo, 2, 4, 1, 2,
2140                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2141                     (GtkAttachOptions) (0), 0, 0);
2142   gtk_widget_set_sensitive (network_multicast_address_combo, FALSE);
2143
2144   network_multicast_address = GTK_COMBO (network_multicast_address_combo)->entry;
2145   gtk_widget_ref (network_multicast_address);
2146   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address", network_multicast_address,
2147                             (GtkDestroyNotify) gtk_widget_unref);
2148   gtk_widget_show (network_multicast_address);
2149
2150   network_channel_address_combo = gtk_combo_new ();
2151   gtk_widget_ref (network_channel_address_combo);
2152   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_combo", network_channel_address_combo,
2153                             (GtkDestroyNotify) gtk_widget_unref);
2154   gtk_widget_show (network_channel_address_combo);
2155   gtk_table_attach (GTK_TABLE (table4), network_channel_address_combo, 2, 4, 2, 3,
2156                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2157                     (GtkAttachOptions) (0), 0, 0);
2158   gtk_widget_set_sensitive (network_channel_address_combo, FALSE);
2159
2160   network_channel_address = GTK_COMBO (network_channel_address_combo)->entry;
2161   gtk_widget_ref (network_channel_address);
2162   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address", network_channel_address,
2163                             (GtkDestroyNotify) gtk_widget_unref);
2164   gtk_widget_show (network_channel_address);
2165
2166   network_multicast_port_label = gtk_label_new (_("Port"));
2167   gtk_widget_ref (network_multicast_port_label);
2168   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port_label", network_multicast_port_label,
2169                             (GtkDestroyNotify) gtk_widget_unref);
2170   gtk_widget_show (network_multicast_port_label);
2171   gtk_table_attach (GTK_TABLE (table4), network_multicast_port_label, 4, 5, 1, 2,
2172                     (GtkAttachOptions) (GTK_FILL),
2173                     (GtkAttachOptions) (0), 0, 0);
2174   gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
2175   gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
2176
2177   network_channel_port_label = gtk_label_new (_("Port"));
2178   gtk_widget_ref (network_channel_port_label);
2179   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port_label", network_channel_port_label,
2180                             (GtkDestroyNotify) gtk_widget_unref);
2181   gtk_widget_show (network_channel_port_label);
2182   gtk_table_attach (GTK_TABLE (table4), network_channel_port_label, 4, 5, 2, 3,
2183                     (GtkAttachOptions) (GTK_FILL),
2184                     (GtkAttachOptions) (0), 0, 0);
2185   gtk_widget_set_sensitive (network_channel_port_label, FALSE);
2186   gtk_misc_set_alignment (GTK_MISC (network_channel_port_label), 1, 0.5);
2187
2188   network_multicast_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
2189   network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0);
2190   gtk_widget_ref (network_multicast_port);
2191   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port", network_multicast_port,
2192                             (GtkDestroyNotify) gtk_widget_unref);
2193   gtk_widget_show (network_multicast_port);
2194   gtk_table_attach (GTK_TABLE (table4), network_multicast_port, 5, 6, 1, 2,
2195                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2196                     (GtkAttachOptions) (0), 0, 0);
2197   gtk_widget_set_usize (network_multicast_port, 75, -2);
2198   gtk_widget_set_sensitive (network_multicast_port, FALSE);
2199
2200   network_channel_port_adj = gtk_adjustment_new (6010, 0, 65535, 1, 10, 10);
2201   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
2202   gtk_widget_ref (network_channel_port);
2203   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port", network_channel_port,
2204                             (GtkDestroyNotify) gtk_widget_unref);
2205   gtk_widget_show (network_channel_port);
2206   gtk_table_attach (GTK_TABLE (table4), network_channel_port, 5, 6, 2, 3,
2207                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2208                     (GtkAttachOptions) (0), 0, 0);
2209   gtk_widget_set_usize (network_channel_port, 75, -2);
2210   gtk_widget_set_sensitive (network_channel_port, FALSE);
2211
2212   network_http_url = gtk_entry_new ();
2213   gtk_widget_ref (network_http_url);
2214   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url", network_http_url,
2215                             (GtkDestroyNotify) gtk_widget_unref);
2216   gtk_widget_show (network_http_url);
2217   gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 3, 4,
2218                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2219                     (GtkAttachOptions) (0), 0, 0);
2220   gtk_widget_set_sensitive (network_http_url, FALSE);
2221
2222   network_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
2223   network_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_udp_port_adj), 1, 0);
2224   gtk_widget_ref (network_udp_port);
2225   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port", network_udp_port,
2226                             (GtkDestroyNotify) gtk_widget_unref);
2227   gtk_widget_show (network_udp_port);
2228   gtk_table_attach (GTK_TABLE (table4), network_udp_port, 2, 3, 0, 1,
2229                     (GtkAttachOptions) (GTK_FILL),
2230                     (GtkAttachOptions) (0), 0, 0);
2231   gtk_widget_set_usize (network_udp_port, 1, -2);
2232
2233   open_net = gtk_label_new (_("Network"));
2234   gtk_widget_ref (open_net);
2235   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_net", open_net,
2236                             (GtkDestroyNotify) gtk_widget_unref);
2237   gtk_widget_show (open_net);
2238   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 2), open_net);
2239
2240   table3 = gtk_table_new (4, 2, FALSE);
2241   gtk_widget_ref (table3);
2242   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
2243                             (GtkDestroyNotify) gtk_widget_unref);
2244   gtk_widget_show (table3);
2245   gtk_container_add (GTK_CONTAINER (open_notebook), table3);
2246   gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
2247   gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
2248   gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
2249
2250   label24 = gtk_label_new (_("Symbol Rate"));
2251   gtk_widget_ref (label24);
2252   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
2253                             (GtkDestroyNotify) gtk_widget_unref);
2254   gtk_widget_show (label24);
2255   gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 1, 2,
2256                     (GtkAttachOptions) (GTK_FILL),
2257                     (GtkAttachOptions) (0), 0, 0);
2258   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
2259
2260   label25 = gtk_label_new (_("Frequency"));
2261   gtk_widget_ref (label25);
2262   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
2263                             (GtkDestroyNotify) gtk_widget_unref);
2264   gtk_widget_show (label25);
2265   gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 0, 1,
2266                     (GtkAttachOptions) (GTK_FILL),
2267                     (GtkAttachOptions) (0), 0, 0);
2268   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
2269
2270   label26 = gtk_label_new (_("Polarization"));
2271   gtk_widget_ref (label26);
2272   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
2273                             (GtkDestroyNotify) gtk_widget_unref);
2274   gtk_widget_show (label26);
2275   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 2, 3,
2276                     (GtkAttachOptions) (GTK_FILL),
2277                     (GtkAttachOptions) (0), 0, 0);
2278   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
2279
2280   sat_freq_adj = gtk_adjustment_new (11954, 10000, 12999, 1, 10, 10);
2281   sat_freq = gtk_spin_button_new (GTK_ADJUSTMENT (sat_freq_adj), 1, 0);
2282   gtk_widget_ref (sat_freq);
2283   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_freq", sat_freq,
2284                             (GtkDestroyNotify) gtk_widget_unref);
2285   gtk_widget_show (sat_freq);
2286   gtk_table_attach (GTK_TABLE (table3), sat_freq, 1, 2, 0, 1,
2287                     (GtkAttachOptions) (GTK_FILL),
2288                     (GtkAttachOptions) (0), 0, 0);
2289
2290   label27 = gtk_label_new (_("FEC"));
2291   gtk_widget_ref (label27);
2292   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
2293                             (GtkDestroyNotify) gtk_widget_unref);
2294   gtk_widget_show (label27);
2295   gtk_table_attach (GTK_TABLE (table3), label27, 0, 1, 3, 4,
2296                     (GtkAttachOptions) (GTK_FILL),
2297                     (GtkAttachOptions) (0), 0, 0);
2298   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
2299
2300   hbox23 = gtk_hbox_new (FALSE, 0);
2301   gtk_widget_ref (hbox23);
2302   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox23", hbox23,
2303                             (GtkDestroyNotify) gtk_widget_unref);
2304   gtk_widget_show (hbox23);
2305   gtk_table_attach (GTK_TABLE (table3), hbox23, 1, 2, 2, 3,
2306                     (GtkAttachOptions) (GTK_FILL),
2307                     (GtkAttachOptions) (GTK_FILL), 0, 0);
2308
2309   sat_pol_vert = gtk_radio_button_new_with_label (pol_group, _("Vertical"));
2310   pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_vert));
2311   gtk_widget_ref (sat_pol_vert);
2312   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_vert", sat_pol_vert,
2313                             (GtkDestroyNotify) gtk_widget_unref);
2314   gtk_widget_show (sat_pol_vert);
2315   gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_vert, FALSE, FALSE, 0);
2316
2317   sat_pol_hor = gtk_radio_button_new_with_label (pol_group, _("Horizontal"));
2318   pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_hor));
2319   gtk_widget_ref (sat_pol_hor);
2320   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_hor", sat_pol_hor,
2321                             (GtkDestroyNotify) gtk_widget_unref);
2322   gtk_widget_show (sat_pol_hor);
2323   gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_hor, FALSE, FALSE, 0);
2324
2325   sat_srate_adj = gtk_adjustment_new (27500, 1000, 30000, 1, 10, 10);
2326   sat_srate = gtk_spin_button_new (GTK_ADJUSTMENT (sat_srate_adj), 1, 0);
2327   gtk_widget_ref (sat_srate);
2328   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_srate", sat_srate,
2329                             (GtkDestroyNotify) gtk_widget_unref);
2330   gtk_widget_show (sat_srate);
2331   gtk_table_attach (GTK_TABLE (table3), sat_srate, 1, 2, 1, 2,
2332                     (GtkAttachOptions) (GTK_FILL),
2333                     (GtkAttachOptions) (0), 0, 0);
2334
2335   sat_fec = gtk_combo_new ();
2336   gtk_widget_ref (sat_fec);
2337   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_fec", sat_fec,
2338                             (GtkDestroyNotify) gtk_widget_unref);
2339   gtk_widget_show (sat_fec);
2340   gtk_table_attach (GTK_TABLE (table3), sat_fec, 1, 2, 3, 4,
2341                     (GtkAttachOptions) (GTK_FILL),
2342                     (GtkAttachOptions) (0), 0, 0);
2343   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "1/2");
2344   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "2/3");
2345   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "3/4");
2346   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "4/5");
2347   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "5/6");
2348   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "7/8");
2349   gtk_combo_set_popdown_strings (GTK_COMBO (sat_fec), sat_fec_items);
2350   g_list_free (sat_fec_items);
2351
2352   combo_entry1 = GTK_COMBO (sat_fec)->entry;
2353   gtk_widget_ref (combo_entry1);
2354   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
2355                             (GtkDestroyNotify) gtk_widget_unref);
2356   gtk_widget_show (combo_entry1);
2357   gtk_entry_set_text (GTK_ENTRY (combo_entry1), "3/4");
2358
2359   open_sat = gtk_label_new (_("Satellite"));
2360   gtk_widget_ref (open_sat);
2361   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_sat", open_sat,
2362                             (GtkDestroyNotify) gtk_widget_unref);
2363   gtk_widget_show (open_sat);
2364   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 3), open_sat);
2365
2366   show_subtitle = gtk_check_button_new_with_label (_("Subtitle"));
2367   gtk_widget_ref (show_subtitle);
2368   gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_subtitle", show_subtitle,
2369                             (GtkDestroyNotify) gtk_widget_unref);
2370   gtk_widget_show (show_subtitle);
2371   gtk_box_pack_start (GTK_BOX (open_vbox), show_subtitle, FALSE, FALSE, 0);
2372   gtk_tooltips_set_tip (tooltips, show_subtitle, _("Use a subtitles file"), NULL);
2373
2374   hbox_subtitle = gtk_hbox_new (FALSE, 5);
2375   gtk_widget_ref (hbox_subtitle);
2376   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox_subtitle", hbox_subtitle,
2377                             (GtkDestroyNotify) gtk_widget_unref);
2378   gtk_widget_show (hbox_subtitle);
2379   gtk_box_pack_start (GTK_BOX (open_vbox), hbox_subtitle, TRUE, TRUE, 0);
2380   gtk_container_set_border_width (GTK_CONTAINER (hbox_subtitle), 5);
2381
2382   combo3 = gtk_combo_new ();
2383   gtk_widget_ref (combo3);
2384   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo3", combo3,
2385                             (GtkDestroyNotify) gtk_widget_unref);
2386   gtk_widget_show (combo3);
2387   gtk_box_pack_start (GTK_BOX (hbox_subtitle), combo3, FALSE, TRUE, 0);
2388
2389   entry_subtitle = GTK_COMBO (combo3)->entry;
2390   gtk_widget_ref (entry_subtitle);
2391   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_subtitle", entry_subtitle,
2392                             (GtkDestroyNotify) gtk_widget_unref);
2393   gtk_widget_show (entry_subtitle);
2394   gtk_tooltips_set_tip (tooltips, entry_subtitle, _("Select a subtitles file"), NULL);
2395
2396   vbox14 = gtk_vbox_new (TRUE, 0);
2397   gtk_widget_ref (vbox14);
2398   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox14", vbox14,
2399                             (GtkDestroyNotify) gtk_widget_unref);
2400   gtk_widget_show (vbox14);
2401   gtk_box_pack_start (GTK_BOX (hbox_subtitle), vbox14, FALSE, FALSE, 0);
2402
2403   open_browse_subtitle = gtk_button_new_with_label (_("Browse..."));
2404   gtk_widget_ref (open_browse_subtitle);
2405   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse_subtitle", open_browse_subtitle,
2406                             (GtkDestroyNotify) gtk_widget_unref);
2407   gtk_widget_show (open_browse_subtitle);
2408   gtk_box_pack_start (GTK_BOX (vbox14), open_browse_subtitle, FALSE, FALSE, 0);
2409
2410   label37 = gtk_label_new (_("delay"));
2411   gtk_widget_ref (label37);
2412   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label37", label37,
2413                             (GtkDestroyNotify) gtk_widget_unref);
2414   gtk_widget_show (label37);
2415   gtk_box_pack_start (GTK_BOX (hbox_subtitle), label37, TRUE, TRUE, 0);
2416
2417   subtitle_delay_adj = gtk_adjustment_new (0, -1000, 1000, 0.1, 10, 10);
2418   subtitle_delay = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_delay_adj), 1, 1);
2419   gtk_widget_ref (subtitle_delay);
2420   gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_delay", subtitle_delay,
2421                             (GtkDestroyNotify) gtk_widget_unref);
2422   gtk_widget_show (subtitle_delay);
2423   gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_delay, TRUE, TRUE, 0);
2424   gtk_tooltips_set_tip (tooltips, subtitle_delay, _("Set the delay (in seconds)"), NULL);
2425
2426   label3 = gtk_label_new (_("fps"));
2427   gtk_widget_ref (label3);
2428   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label3", label3,
2429                             (GtkDestroyNotify) gtk_widget_unref);
2430   gtk_widget_show (label3);
2431   gtk_box_pack_start (GTK_BOX (hbox_subtitle), label3, TRUE, TRUE, 0);
2432
2433   subtitle_fps_adj = gtk_adjustment_new (0, 0, 100, 0.1, 10, 10);
2434   subtitle_fps = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_fps_adj), 1, 1);
2435   gtk_widget_ref (subtitle_fps);
2436   gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_fps", subtitle_fps,
2437                             (GtkDestroyNotify) gtk_widget_unref);
2438   gtk_widget_show (subtitle_fps);
2439   gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_fps, TRUE, TRUE, 0);
2440   gtk_tooltips_set_tip (tooltips, subtitle_fps, _("Set the number of Frames Per Second"), NULL);
2441
2442   hbox30 = gtk_hbox_new (FALSE, 0);
2443   gtk_widget_ref (hbox30);
2444   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox30", hbox30,
2445                             (GtkDestroyNotify) gtk_widget_unref);
2446   gtk_widget_show (hbox30);
2447   gtk_box_pack_start (GTK_BOX (dialog_vbox7), hbox30, FALSE, FALSE, 3);
2448
2449   show_sout_settings = gtk_check_button_new_with_label (_("Stream output"));
2450   gtk_widget_ref (show_sout_settings);
2451   gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_sout_settings", show_sout_settings,
2452                             (GtkDestroyNotify) gtk_widget_unref);
2453   gtk_widget_show (show_sout_settings);
2454   gtk_box_pack_start (GTK_BOX (hbox30), show_sout_settings, FALSE, FALSE, 0);
2455   gtk_tooltips_set_tip (tooltips, show_sout_settings, _("Use stream output"), NULL);
2456
2457   sout_settings = gtk_button_new_with_label (_("Settings..."));
2458   gtk_widget_ref (sout_settings);
2459   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sout_settings", sout_settings,
2460                             (GtkDestroyNotify) gtk_widget_unref);
2461   gtk_widget_show (sout_settings);
2462   gtk_box_pack_start (GTK_BOX (hbox30), sout_settings, FALSE, FALSE, 20);
2463   gtk_tooltips_set_tip (tooltips, sout_settings, _("Stream output configuration "), NULL);
2464
2465   dialog_action_area6 = GTK_DIALOG (intf_open)->action_area;
2466   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area6", dialog_action_area6);
2467   gtk_widget_show (dialog_action_area6);
2468   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area6), 5);
2469
2470   hbox18 = gtk_hbox_new (TRUE, 5);
2471   gtk_widget_ref (hbox18);
2472   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox18", hbox18,
2473                             (GtkDestroyNotify) gtk_widget_unref);
2474   gtk_widget_show (hbox18);
2475   gtk_box_pack_start (GTK_BOX (dialog_action_area6), hbox18, TRUE, TRUE, 0);
2476
2477   hbox19 = gtk_hbox_new (TRUE, 5);
2478   gtk_widget_ref (hbox19);
2479   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox19", hbox19,
2480                             (GtkDestroyNotify) gtk_widget_unref);
2481   gtk_widget_show (hbox19);
2482   gtk_box_pack_end (GTK_BOX (hbox18), hbox19, FALSE, TRUE, 0);
2483
2484   open_ok = gtk_button_new_with_label (_("OK"));
2485   gtk_widget_ref (open_ok);
2486   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_ok", open_ok,
2487                             (GtkDestroyNotify) gtk_widget_unref);
2488   gtk_widget_show (open_ok);
2489   gtk_box_pack_start (GTK_BOX (hbox19), open_ok, FALSE, TRUE, 0);
2490
2491   open_cancel = gtk_button_new_with_label (_("Cancel"));
2492   gtk_widget_ref (open_cancel);
2493   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_cancel", open_cancel,
2494                             (GtkDestroyNotify) gtk_widget_unref);
2495   gtk_widget_show (open_cancel);
2496   gtk_box_pack_start (GTK_BOX (hbox19), open_cancel, FALSE, TRUE, 0);
2497   gtk_widget_add_accelerator (open_cancel, "clicked", accel_group,
2498                               GDK_Escape, 0,
2499                               GTK_ACCEL_VISIBLE);
2500
2501   gtk_signal_connect (GTK_OBJECT (intf_open), "delete_event",
2502                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2503                       NULL);
2504   gtk_signal_connect_after (GTK_OBJECT (open_notebook), "switch_page",
2505                             GTK_SIGNAL_FUNC (GtkOpenNotebookChanged),
2506                             NULL);
2507   gtk_signal_connect (GTK_OBJECT (entry_file), "changed",
2508                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2509                       NULL);
2510   gtk_signal_connect (GTK_OBJECT (open_browse), "clicked",
2511                       GTK_SIGNAL_FUNC (GtkFileShow),
2512                       "entry_file");
2513   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
2514                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
2515                       NULL);
2516   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
2517                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
2518                       NULL);
2519   gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
2520                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2521                       NULL);
2522   gtk_signal_connect (GTK_OBJECT (disc_title), "changed",
2523                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2524                       NULL);
2525   gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
2526                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2527                       NULL);
2528   gtk_signal_connect (GTK_OBJECT (disc_dvd_use_menu), "toggled",
2529                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2530                       NULL);
2531   gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
2532                       GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
2533                       NULL);
2534   gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
2535                       GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
2536                       NULL);
2537   gtk_signal_connect (GTK_OBJECT (network_channel), "toggled",
2538                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
2539                       NULL);
2540   gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
2541                       GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
2542                       NULL);
2543   gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
2544                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2545                       NULL);
2546   gtk_signal_connect (GTK_OBJECT (network_channel_address), "changed",
2547                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2548                       NULL);
2549   gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed",
2550                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2551                       NULL);
2552   gtk_signal_connect (GTK_OBJECT (network_channel_port), "changed",
2553                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2554                       NULL);
2555   gtk_signal_connect (GTK_OBJECT (network_http_url), "changed",
2556                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2557                       NULL);
2558   gtk_signal_connect (GTK_OBJECT (network_udp_port), "changed",
2559                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2560                       NULL);
2561   gtk_signal_connect (GTK_OBJECT (sat_freq), "changed",
2562                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2563                       NULL);
2564   gtk_signal_connect (GTK_OBJECT (sat_pol_vert), "toggled",
2565                       GTK_SIGNAL_FUNC (GtkSatOpenToggle),
2566                       NULL);
2567   gtk_signal_connect (GTK_OBJECT (sat_pol_hor), "toggled",
2568                       GTK_SIGNAL_FUNC (GtkSatOpenToggle),
2569                       NULL);
2570   gtk_signal_connect (GTK_OBJECT (sat_srate), "changed",
2571                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2572                       NULL);
2573   gtk_signal_connect (GTK_OBJECT (combo_entry1), "changed",
2574                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2575                       NULL);
2576   gtk_signal_connect (GTK_OBJECT (show_subtitle), "clicked",
2577                       GTK_SIGNAL_FUNC (GtkOpenSubtitleShow),
2578                       NULL);
2579   gtk_signal_connect (GTK_OBJECT (entry_subtitle), "changed",
2580                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2581                       NULL);
2582   gtk_signal_connect (GTK_OBJECT (open_browse_subtitle), "clicked",
2583                       GTK_SIGNAL_FUNC (GtkFileShow),
2584                       "entry_subtitle");
2585   gtk_signal_connect (GTK_OBJECT (subtitle_delay), "changed",
2586                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2587                       NULL);
2588   gtk_signal_connect (GTK_OBJECT (show_sout_settings), "clicked",
2589                       GTK_SIGNAL_FUNC (GtkOpenSoutShow),
2590                       NULL);
2591   gtk_signal_connect (GTK_OBJECT (sout_settings), "clicked",
2592                       GTK_SIGNAL_FUNC (GtkSoutSettings),
2593                       NULL);
2594   gtk_signal_connect (GTK_OBJECT (open_ok), "clicked",
2595                       GTK_SIGNAL_FUNC (GtkOpenOk),
2596                       NULL);
2597   gtk_signal_connect (GTK_OBJECT (open_cancel), "clicked",
2598                       GTK_SIGNAL_FUNC (GtkOpenCancel),
2599                       NULL);
2600
2601   gtk_object_set_data (GTK_OBJECT (intf_open), "tooltips", tooltips);
2602
2603   gtk_window_add_accel_group (GTK_WINDOW (intf_open), accel_group);
2604
2605   return intf_open;
2606 }
2607
2608 GtkWidget*
2609 create_intf_file (void)
2610 {
2611   GtkWidget *intf_file;
2612   GtkWidget *file_ok;
2613   GtkWidget *file_cancel;
2614
2615   intf_file = gtk_file_selection_new (_("Select File"));
2616   gtk_object_set_data (GTK_OBJECT (intf_file), "intf_file", intf_file);
2617   gtk_container_set_border_width (GTK_CONTAINER (intf_file), 10);
2618   gtk_window_set_modal (GTK_WINDOW (intf_file), TRUE);
2619
2620   file_ok = GTK_FILE_SELECTION (intf_file)->ok_button;
2621   gtk_object_set_data (GTK_OBJECT (intf_file), "file_ok", file_ok);
2622   gtk_widget_show (file_ok);
2623   GTK_WIDGET_SET_FLAGS (file_ok, GTK_CAN_DEFAULT);
2624
2625   file_cancel = GTK_FILE_SELECTION (intf_file)->cancel_button;
2626   gtk_object_set_data (GTK_OBJECT (intf_file), "file_cancel", file_cancel);
2627   gtk_widget_show (file_cancel);
2628   GTK_WIDGET_SET_FLAGS (file_cancel, GTK_CAN_DEFAULT);
2629
2630   gtk_signal_connect (GTK_OBJECT (file_ok), "clicked",
2631                       GTK_SIGNAL_FUNC (GtkFileOk),
2632                       NULL);
2633   gtk_signal_connect (GTK_OBJECT (file_cancel), "clicked",
2634                       GTK_SIGNAL_FUNC (GtkFileCancel),
2635                       NULL);
2636
2637   return intf_file;
2638 }
2639
2640 GtkWidget*
2641 create_intf_jump (void)
2642 {
2643   GtkWidget *intf_jump;
2644   GtkWidget *dialog_vbox3;
2645   GtkWidget *jump_frame;
2646   GtkWidget *hbox13;
2647   GtkWidget *jump_second_label;
2648   GtkObject *jump_second_spinbutton_adj;
2649   GtkWidget *jump_second_spinbutton;
2650   GtkWidget *jump_minute_label;
2651   GtkObject *jump_minute_spinbutton_adj;
2652   GtkWidget *jump_minute_spinbutton;
2653   GtkWidget *jump_hour_label;
2654   GtkObject *jump_hour_spinbutton_adj;
2655   GtkWidget *jump_hour_spinbutton;
2656   GtkWidget *dialog_action_area2;
2657   GtkWidget *jump_ok_button;
2658   GtkWidget *jump_cancel_button;
2659
2660   intf_jump = gtk_dialog_new ();
2661   gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
2662   gtk_window_set_title (GTK_WINDOW (intf_jump), _("Jump"));
2663   gtk_window_set_policy (GTK_WINDOW (intf_jump), TRUE, TRUE, FALSE);
2664
2665   dialog_vbox3 = GTK_DIALOG (intf_jump)->vbox;
2666   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_vbox3", dialog_vbox3);
2667   gtk_widget_show (dialog_vbox3);
2668
2669   jump_frame = gtk_frame_new (_("Go to:"));
2670   gtk_widget_ref (jump_frame);
2671   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
2672                             (GtkDestroyNotify) gtk_widget_unref);
2673   gtk_widget_show (jump_frame);
2674   gtk_box_pack_start (GTK_BOX (dialog_vbox3), jump_frame, TRUE, TRUE, 0);
2675   gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
2676   gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
2677
2678   hbox13 = gtk_hbox_new (FALSE, 0);
2679   gtk_widget_ref (hbox13);
2680   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "hbox13", hbox13,
2681                             (GtkDestroyNotify) gtk_widget_unref);
2682   gtk_widget_show (hbox13);
2683   gtk_container_add (GTK_CONTAINER (jump_frame), hbox13);
2684
2685   jump_second_label = gtk_label_new (_("s."));
2686   gtk_widget_ref (jump_second_label);
2687   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_label", jump_second_label,
2688                             (GtkDestroyNotify) gtk_widget_unref);
2689   gtk_widget_show (jump_second_label);
2690   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_label, FALSE, FALSE, 5);
2691
2692   jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
2693   jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
2694   gtk_widget_ref (jump_second_spinbutton);
2695   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
2696                             (GtkDestroyNotify) gtk_widget_unref);
2697   gtk_widget_show (jump_second_spinbutton);
2698   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_spinbutton, FALSE, TRUE, 0);
2699
2700   jump_minute_label = gtk_label_new (_("m:"));
2701   gtk_widget_ref (jump_minute_label);
2702   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_label", jump_minute_label,
2703                             (GtkDestroyNotify) gtk_widget_unref);
2704   gtk_widget_show (jump_minute_label);
2705   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_label, FALSE, FALSE, 5);
2706
2707   jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
2708   jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
2709   gtk_widget_ref (jump_minute_spinbutton);
2710   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
2711                             (GtkDestroyNotify) gtk_widget_unref);
2712   gtk_widget_show (jump_minute_spinbutton);
2713   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_spinbutton, FALSE, TRUE, 0);
2714
2715   jump_hour_label = gtk_label_new (_("h:"));
2716   gtk_widget_ref (jump_hour_label);
2717   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_label", jump_hour_label,
2718                             (GtkDestroyNotify) gtk_widget_unref);
2719   gtk_widget_show (jump_hour_label);
2720   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_label, FALSE, FALSE, 5);
2721
2722   jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 12, 1, 10, 10);
2723   jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
2724   gtk_widget_ref (jump_hour_spinbutton);
2725   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
2726                             (GtkDestroyNotify) gtk_widget_unref);
2727   gtk_widget_show (jump_hour_spinbutton);
2728   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_spinbutton, FALSE, TRUE, 0);
2729
2730   dialog_action_area2 = GTK_DIALOG (intf_jump)->action_area;
2731   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_action_area2", dialog_action_area2);
2732   gtk_widget_show (dialog_action_area2);
2733   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area2), 10);
2734
2735   jump_ok_button = gtk_button_new_with_label (_("OK"));
2736   gtk_widget_ref (jump_ok_button);
2737   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok_button", jump_ok_button,
2738                             (GtkDestroyNotify) gtk_widget_unref);
2739   gtk_widget_show (jump_ok_button);
2740   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_ok_button, TRUE, TRUE, 0);
2741
2742   jump_cancel_button = gtk_button_new_with_label (_("Cancel"));
2743   gtk_widget_ref (jump_cancel_button);
2744   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel_button", jump_cancel_button,
2745                             (GtkDestroyNotify) gtk_widget_unref);
2746   gtk_widget_show (jump_cancel_button);
2747   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_cancel_button, TRUE, TRUE, 0);
2748
2749   gtk_signal_connect (GTK_OBJECT (jump_ok_button), "clicked",
2750                       GTK_SIGNAL_FUNC (GtkJumpOk),
2751                       NULL);
2752   gtk_signal_connect (GTK_OBJECT (jump_cancel_button), "clicked",
2753                       GTK_SIGNAL_FUNC (GtkJumpCancel),
2754                       NULL);
2755
2756   return intf_jump;
2757 }
2758
2759 GtkWidget*
2760 create_intf_playlist (void)
2761 {
2762   GtkWidget *intf_playlist;
2763   GtkWidget *dialog_vbox4;
2764   GtkWidget *playlist_menubar;
2765   GtkWidget *playlist_add;
2766   GtkWidget *playlist_add_menu;
2767   GtkAccelGroup *playlist_add_menu_accels;
2768   GtkWidget *playlist_add_disc;
2769   GtkWidget *playlist_add_file;
2770   GtkWidget *playlist_add_network;
2771   GtkWidget *playlist_add_url;
2772   GtkWidget *playlist_delete;
2773   GtkWidget *playlist_delete_menu;
2774   GtkAccelGroup *playlist_delete_menu_accels;
2775   GtkWidget *playlist_delete_all;
2776   GtkWidget *playlist_delete_selected;
2777   GtkWidget *playlist_selection;
2778   GtkWidget *playlist_selection_menu;
2779   GtkAccelGroup *playlist_selection_menu_accels;
2780   guint tmp_key;
2781   GtkWidget *playlist_selection_crop;
2782   GtkWidget *playlist_selection_invert;
2783   GtkWidget *playlist_selection_select;
2784   GtkWidget *scrolledwindow1;
2785   GtkWidget *playlist_clist;
2786   GtkWidget *label22;
2787   GtkWidget *label23;
2788   GtkWidget *dialog_action_area3;
2789   GtkWidget *playlist_ok_button;
2790   GtkWidget *playlist_cancel_button;
2791
2792   intf_playlist = gtk_dialog_new ();
2793   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
2794   gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
2795   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
2796   gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
2797
2798   dialog_vbox4 = GTK_DIALOG (intf_playlist)->vbox;
2799   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_vbox4", dialog_vbox4);
2800   gtk_widget_show (dialog_vbox4);
2801
2802   playlist_menubar = gtk_menu_bar_new ();
2803   gtk_widget_ref (playlist_menubar);
2804   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
2805                             (GtkDestroyNotify) gtk_widget_unref);
2806   gtk_widget_show (playlist_menubar);
2807   gtk_box_pack_start (GTK_BOX (dialog_vbox4), playlist_menubar, FALSE, FALSE, 0);
2808
2809   playlist_add = gtk_menu_item_new_with_label (_("Add"));
2810   gtk_widget_ref (playlist_add);
2811   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add", playlist_add,
2812                             (GtkDestroyNotify) gtk_widget_unref);
2813   gtk_widget_show (playlist_add);
2814   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_add);
2815
2816   playlist_add_menu = gtk_menu_new ();
2817   gtk_widget_ref (playlist_add_menu);
2818   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_menu", playlist_add_menu,
2819                             (GtkDestroyNotify) gtk_widget_unref);
2820   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_add), playlist_add_menu);
2821   playlist_add_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_add_menu));
2822
2823   playlist_add_disc = gtk_menu_item_new_with_label (_("Disc"));
2824   gtk_widget_ref (playlist_add_disc);
2825   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc", playlist_add_disc,
2826                             (GtkDestroyNotify) gtk_widget_unref);
2827   gtk_widget_show (playlist_add_disc);
2828   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_disc);
2829
2830   playlist_add_file = gtk_menu_item_new_with_label (_("File"));
2831   gtk_widget_ref (playlist_add_file);
2832   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file", playlist_add_file,
2833                             (GtkDestroyNotify) gtk_widget_unref);
2834   gtk_widget_show (playlist_add_file);
2835   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_file);
2836
2837   playlist_add_network = gtk_menu_item_new_with_label (_("Network"));
2838   gtk_widget_ref (playlist_add_network);
2839   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network", playlist_add_network,
2840                             (GtkDestroyNotify) gtk_widget_unref);
2841   gtk_widget_show (playlist_add_network);
2842   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_network);
2843
2844   playlist_add_url = gtk_menu_item_new_with_label (_("Url"));
2845   gtk_widget_ref (playlist_add_url);
2846   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url", playlist_add_url,
2847                             (GtkDestroyNotify) gtk_widget_unref);
2848   gtk_widget_show (playlist_add_url);
2849   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_url);
2850
2851   playlist_delete = gtk_menu_item_new_with_label (_("Delete"));
2852   gtk_widget_ref (playlist_delete);
2853   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete", playlist_delete,
2854                             (GtkDestroyNotify) gtk_widget_unref);
2855   gtk_widget_show (playlist_delete);
2856   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_delete);
2857
2858   playlist_delete_menu = gtk_menu_new ();
2859   gtk_widget_ref (playlist_delete_menu);
2860   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_menu", playlist_delete_menu,
2861                             (GtkDestroyNotify) gtk_widget_unref);
2862   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_delete), playlist_delete_menu);
2863   playlist_delete_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_delete_menu));
2864
2865   playlist_delete_all = gtk_menu_item_new_with_label (_("All"));
2866   gtk_widget_ref (playlist_delete_all);
2867   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all", playlist_delete_all,
2868                             (GtkDestroyNotify) gtk_widget_unref);
2869   gtk_widget_show (playlist_delete_all);
2870   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_all);
2871
2872   playlist_delete_selected = gtk_menu_item_new_with_label (_("Selected"));
2873   gtk_widget_ref (playlist_delete_selected);
2874   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_selected", playlist_delete_selected,
2875                             (GtkDestroyNotify) gtk_widget_unref);
2876   gtk_widget_show (playlist_delete_selected);
2877   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_selected);
2878
2879   playlist_selection = gtk_menu_item_new_with_label (_("Selection"));
2880   gtk_widget_ref (playlist_selection);
2881   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection", playlist_selection,
2882                             (GtkDestroyNotify) gtk_widget_unref);
2883   gtk_widget_show (playlist_selection);
2884   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_selection);
2885
2886   playlist_selection_menu = gtk_menu_new ();
2887   gtk_widget_ref (playlist_selection_menu);
2888   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_menu", playlist_selection_menu,
2889                             (GtkDestroyNotify) gtk_widget_unref);
2890   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_selection), playlist_selection_menu);
2891   playlist_selection_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_selection_menu));
2892
2893   playlist_selection_crop = gtk_menu_item_new_with_label ("");
2894   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_crop)->child),
2895                                    _("_Crop"));
2896   gtk_widget_add_accelerator (playlist_selection_crop, "activate_item", playlist_selection_menu_accels,
2897                               tmp_key, 0, 0);
2898   gtk_widget_ref (playlist_selection_crop);
2899   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop", playlist_selection_crop,
2900                             (GtkDestroyNotify) gtk_widget_unref);
2901   gtk_widget_show (playlist_selection_crop);
2902   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_crop);
2903
2904   playlist_selection_invert = gtk_menu_item_new_with_label ("");
2905   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_invert)->child),
2906                                    _("_Invert"));
2907   gtk_widget_add_accelerator (playlist_selection_invert, "activate_item", playlist_selection_menu_accels,
2908                               tmp_key, 0, 0);
2909   gtk_widget_ref (playlist_selection_invert);
2910   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert", playlist_selection_invert,
2911                             (GtkDestroyNotify) gtk_widget_unref);
2912   gtk_widget_show (playlist_selection_invert);
2913   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_invert);
2914
2915   playlist_selection_select = gtk_menu_item_new_with_label ("");
2916   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_select)->child),
2917                                    _("_Select"));
2918   gtk_widget_add_accelerator (playlist_selection_select, "activate_item", playlist_selection_menu_accels,
2919                               tmp_key, 0, 0);
2920   gtk_widget_ref (playlist_selection_select);
2921   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select", playlist_selection_select,
2922                             (GtkDestroyNotify) gtk_widget_unref);
2923   gtk_widget_show (playlist_selection_select);
2924   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_select);
2925
2926   scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
2927   gtk_widget_ref (scrolledwindow1);
2928   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow1", scrolledwindow1,
2929                             (GtkDestroyNotify) gtk_widget_unref);
2930   gtk_widget_show (scrolledwindow1);
2931   gtk_box_pack_start (GTK_BOX (dialog_vbox4), scrolledwindow1, TRUE, TRUE, 0);
2932   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2933
2934   playlist_clist = gtk_clist_new (2);
2935   gtk_widget_ref (playlist_clist);
2936   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
2937                             (GtkDestroyNotify) gtk_widget_unref);
2938   gtk_widget_show (playlist_clist);
2939   gtk_container_add (GTK_CONTAINER (scrolledwindow1), playlist_clist);
2940   gtk_container_set_border_width (GTK_CONTAINER (playlist_clist), 5);
2941   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 257);
2942   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 80);
2943   gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
2944   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
2945   gtk_clist_set_shadow_type (GTK_CLIST (playlist_clist), GTK_SHADOW_OUT);
2946
2947   label22 = gtk_label_new (_("File"));
2948   gtk_widget_ref (label22);
2949   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label22", label22,
2950                             (GtkDestroyNotify) gtk_widget_unref);
2951   gtk_widget_show (label22);
2952   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, label22);
2953
2954   label23 = gtk_label_new (_("Duration"));
2955   gtk_widget_ref (label23);
2956   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label23", label23,
2957                             (GtkDestroyNotify) gtk_widget_unref);
2958   gtk_widget_show (label23);
2959   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, label23);
2960
2961   dialog_action_area3 = GTK_DIALOG (intf_playlist)->action_area;
2962   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_action_area3", dialog_action_area3);
2963   gtk_widget_show (dialog_action_area3);
2964   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area3), 10);
2965
2966   playlist_ok_button = gtk_button_new_with_label (_("OK"));
2967   gtk_widget_ref (playlist_ok_button);
2968   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok_button", playlist_ok_button,
2969                             (GtkDestroyNotify) gtk_widget_unref);
2970   gtk_widget_show (playlist_ok_button);
2971   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_ok_button, TRUE, TRUE, 0);
2972
2973   playlist_cancel_button = gtk_button_new_with_label (_("Cancel"));
2974   gtk_widget_ref (playlist_cancel_button);
2975   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel_button", playlist_cancel_button,
2976                             (GtkDestroyNotify) gtk_widget_unref);
2977   gtk_widget_show (playlist_cancel_button);
2978   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_cancel_button, TRUE, TRUE, 0);
2979
2980   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
2981                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2982                       NULL);
2983   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
2984                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2985                       NULL);
2986   gtk_signal_connect (GTK_OBJECT (playlist_add_disc), "activate",
2987                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
2988                       NULL);
2989   gtk_signal_connect (GTK_OBJECT (playlist_add_file), "activate",
2990                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
2991                       NULL);
2992   gtk_signal_connect (GTK_OBJECT (playlist_add_network), "activate",
2993                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
2994                       NULL);
2995   gtk_signal_connect (GTK_OBJECT (playlist_add_url), "activate",
2996                       GTK_SIGNAL_FUNC (GtkPlaylistAddUrl),
2997                       NULL);
2998   gtk_signal_connect (GTK_OBJECT (playlist_delete_all), "activate",
2999                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteAll),
3000                       NULL);
3001   gtk_signal_connect (GTK_OBJECT (playlist_delete_selected), "activate",
3002                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteSelected),
3003                       NULL);
3004   gtk_signal_connect (GTK_OBJECT (playlist_selection_crop), "activate",
3005                       GTK_SIGNAL_FUNC (GtkPlaylistCrop),
3006                       NULL);
3007   gtk_signal_connect (GTK_OBJECT (playlist_selection_invert), "activate",
3008                       GTK_SIGNAL_FUNC (GtkPlaylistInvert),
3009                       NULL);
3010   gtk_signal_connect (GTK_OBJECT (playlist_selection_select), "activate",
3011                       GTK_SIGNAL_FUNC (GtkPlaylistSelect),
3012                       NULL);
3013   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
3014                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
3015                       NULL);
3016   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
3017                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
3018                       NULL);
3019   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
3020                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
3021                       NULL);
3022   gtk_signal_connect (GTK_OBJECT (playlist_ok_button), "clicked",
3023                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
3024                       NULL);
3025   gtk_signal_connect (GTK_OBJECT (playlist_cancel_button), "clicked",
3026                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
3027                       NULL);
3028
3029   return intf_playlist;
3030 }
3031
3032 GtkWidget*
3033 create_intf_messages (void)
3034 {
3035   GtkWidget *intf_messages;
3036   GtkWidget *dialog_vbox6;
3037   GtkWidget *scrolledwindow2;
3038   GtkWidget *messages_textbox;
3039   GtkWidget *dialog_action_area5;
3040   GtkWidget *messages_ok;
3041
3042   intf_messages = gtk_dialog_new ();
3043   gtk_object_set_data (GTK_OBJECT (intf_messages), "intf_messages", intf_messages);
3044   gtk_window_set_title (GTK_WINDOW (intf_messages), _("Messages"));
3045   gtk_window_set_default_size (GTK_WINDOW (intf_messages), 600, 400);
3046   gtk_window_set_policy (GTK_WINDOW (intf_messages), TRUE, TRUE, FALSE);
3047
3048   dialog_vbox6 = GTK_DIALOG (intf_messages)->vbox;
3049   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
3050   gtk_widget_show (dialog_vbox6);
3051
3052   scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
3053   gtk_widget_ref (scrolledwindow2);
3054   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "scrolledwindow2", scrolledwindow2,
3055                             (GtkDestroyNotify) gtk_widget_unref);
3056   gtk_widget_show (scrolledwindow2);
3057   gtk_box_pack_start (GTK_BOX (dialog_vbox6), scrolledwindow2, TRUE, TRUE, 0);
3058   gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 5);
3059   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
3060
3061   messages_textbox = gtk_text_new (NULL, NULL);
3062   gtk_widget_ref (messages_textbox);
3063   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_textbox", messages_textbox,
3064                             (GtkDestroyNotify) gtk_widget_unref);
3065   gtk_widget_show (messages_textbox);
3066   gtk_container_add (GTK_CONTAINER (scrolledwindow2), messages_textbox);
3067
3068   dialog_action_area5 = GTK_DIALOG (intf_messages)->action_area;
3069   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_action_area5", dialog_action_area5);
3070   gtk_widget_show (dialog_action_area5);
3071   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area5), 5);
3072
3073   messages_ok = gtk_button_new_with_label (_("OK"));
3074   gtk_widget_ref (messages_ok);
3075   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_ok", messages_ok,
3076                             (GtkDestroyNotify) gtk_widget_unref);
3077   gtk_widget_show (messages_ok);
3078   gtk_box_pack_start (GTK_BOX (dialog_action_area5), messages_ok, FALSE, TRUE, 0);
3079   GTK_WIDGET_SET_FLAGS (messages_ok, GTK_CAN_DEFAULT);
3080
3081   gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
3082                       GTK_SIGNAL_FUNC (GtkMessagesDelete),
3083                       NULL);
3084   gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
3085                       GTK_SIGNAL_FUNC (GtkMessagesOk),
3086                       NULL);
3087
3088   gtk_widget_grab_default (messages_ok);
3089   return intf_messages;
3090 }
3091
3092 GtkWidget*
3093 create_intf_sout (void)
3094 {
3095   GtkWidget *intf_sout;
3096   GtkWidget *vbox15;
3097   GtkWidget *vbox16;
3098   GtkWidget *frame11;
3099   GtkWidget *hbox28;
3100   GtkWidget *label38;
3101   GtkWidget *combo4;
3102   GtkWidget *sout_entry_target;
3103   GtkWidget *frame12;
3104   GtkWidget *table6;
3105   GSList *sout_access_group = NULL;
3106   GtkWidget *sout_access_file;
3107   GtkWidget *sout_access_udp;
3108   GtkWidget *sout_access_rtp;
3109   GtkWidget *sout_file_path_label;
3110   GtkWidget *combo6;
3111   GtkWidget *sout_file_path;
3112   GtkWidget *sout_udp_address_label;
3113   GtkWidget *sout_udp_address_combo;
3114   GtkWidget *sout_udp_address;
3115   GtkObject *sout_udp_port_adj;
3116   GtkWidget *sout_udp_port;
3117   GtkWidget *hbox29;
3118   GSList *sout_mux_group = NULL;
3119   GtkWidget *sout_mux_ts;
3120   GtkWidget *sout_mux_ps;
3121   GtkWidget *sout_mux_avi;
3122   GtkWidget *sout_udp_port_label;
3123   GtkWidget *hbox25;
3124   GtkWidget *hbox26;
3125   GtkWidget *button1;
3126   GtkWidget *button2;
3127
3128   intf_sout = gtk_window_new (GTK_WINDOW_TOPLEVEL);
3129   gtk_object_set_data (GTK_OBJECT (intf_sout), "intf_sout", intf_sout);
3130   gtk_container_set_border_width (GTK_CONTAINER (intf_sout), 5);
3131   gtk_window_set_title (GTK_WINDOW (intf_sout), _("Stream output"));
3132   gtk_window_set_modal (GTK_WINDOW (intf_sout), TRUE);
3133
3134   vbox15 = gtk_vbox_new (FALSE, 0);
3135   gtk_widget_ref (vbox15);
3136   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox15", vbox15,
3137                             (GtkDestroyNotify) gtk_widget_unref);
3138   gtk_widget_show (vbox15);
3139   gtk_container_add (GTK_CONTAINER (intf_sout), vbox15);
3140
3141   vbox16 = gtk_vbox_new (FALSE, 0);
3142   gtk_widget_ref (vbox16);
3143   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox16", vbox16,
3144                             (GtkDestroyNotify) gtk_widget_unref);
3145   gtk_widget_show (vbox16);
3146   gtk_box_pack_start (GTK_BOX (vbox15), vbox16, TRUE, TRUE, 0);
3147
3148   frame11 = gtk_frame_new (_("Stream output (MRL)"));
3149   gtk_widget_ref (frame11);
3150   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame11", frame11,
3151                             (GtkDestroyNotify) gtk_widget_unref);
3152   gtk_widget_show (frame11);
3153   gtk_box_pack_start (GTK_BOX (vbox16), frame11, FALSE, TRUE, 0);
3154
3155   hbox28 = gtk_hbox_new (FALSE, 0);
3156   gtk_widget_ref (hbox28);
3157   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox28", hbox28,
3158                             (GtkDestroyNotify) gtk_widget_unref);
3159   gtk_widget_show (hbox28);
3160   gtk_container_add (GTK_CONTAINER (frame11), hbox28);
3161   gtk_container_set_border_width (GTK_CONTAINER (hbox28), 5);
3162
3163   label38 = gtk_label_new (_("Destination Target: "));
3164   gtk_widget_ref (label38);
3165   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "label38", label38,
3166                             (GtkDestroyNotify) gtk_widget_unref);
3167   gtk_widget_show (label38);
3168   gtk_box_pack_start (GTK_BOX (hbox28), label38, FALSE, FALSE, 0);
3169
3170   combo4 = gtk_combo_new ();
3171   gtk_widget_ref (combo4);
3172   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo4", combo4,
3173                             (GtkDestroyNotify) gtk_widget_unref);
3174   gtk_widget_show (combo4);
3175   gtk_box_pack_start (GTK_BOX (hbox28), combo4, TRUE, TRUE, 0);
3176
3177   sout_entry_target = GTK_COMBO (combo4)->entry;
3178   gtk_widget_ref (sout_entry_target);
3179   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_entry_target", sout_entry_target,
3180                             (GtkDestroyNotify) gtk_widget_unref);
3181   gtk_widget_show (sout_entry_target);
3182
3183   frame12 = gtk_frame_new (NULL);
3184   gtk_widget_ref (frame12);
3185   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame12", frame12,
3186                             (GtkDestroyNotify) gtk_widget_unref);
3187   gtk_widget_show (frame12);
3188   gtk_box_pack_start (GTK_BOX (vbox16), frame12, TRUE, TRUE, 0);
3189
3190   table6 = gtk_table_new (3, 5, FALSE);
3191   gtk_widget_ref (table6);
3192   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "table6", table6,
3193                             (GtkDestroyNotify) gtk_widget_unref);
3194   gtk_widget_show (table6);
3195   gtk_container_add (GTK_CONTAINER (frame12), table6);
3196   gtk_table_set_row_spacings (GTK_TABLE (table6), 5);
3197   gtk_table_set_col_spacings (GTK_TABLE (table6), 5);
3198
3199   sout_access_file = gtk_radio_button_new_with_label (sout_access_group, _("File"));
3200   sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_file));
3201   gtk_widget_ref (sout_access_file);
3202   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_file", sout_access_file,
3203                             (GtkDestroyNotify) gtk_widget_unref);
3204   gtk_widget_show (sout_access_file);
3205   gtk_table_attach (GTK_TABLE (table6), sout_access_file, 0, 1, 0, 1,
3206                     (GtkAttachOptions) (GTK_FILL),
3207                     (GtkAttachOptions) (0), 0, 0);
3208
3209   sout_access_udp = gtk_radio_button_new_with_label (sout_access_group, _("UDP"));
3210   sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_udp));
3211   gtk_widget_ref (sout_access_udp);
3212   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_udp", sout_access_udp,
3213                             (GtkDestroyNotify) gtk_widget_unref);
3214   gtk_widget_show (sout_access_udp);
3215   gtk_table_attach (GTK_TABLE (table6), sout_access_udp, 0, 1, 1, 2,
3216                     (GtkAttachOptions) (GTK_FILL),
3217                     (GtkAttachOptions) (0), 0, 0);
3218
3219   sout_access_rtp = gtk_radio_button_new_with_label (sout_access_group, _("RTP"));
3220   sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_rtp));
3221   gtk_widget_ref (sout_access_rtp);
3222   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_rtp", sout_access_rtp,
3223                             (GtkDestroyNotify) gtk_widget_unref);
3224   gtk_widget_show (sout_access_rtp);
3225   gtk_table_attach (GTK_TABLE (table6), sout_access_rtp, 0, 1, 2, 3,
3226                     (GtkAttachOptions) (GTK_FILL),
3227                     (GtkAttachOptions) (0), 0, 0);
3228
3229   sout_file_path_label = gtk_label_new (_("Path:"));
3230   gtk_widget_ref (sout_file_path_label);
3231   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path_label", sout_file_path_label,
3232                             (GtkDestroyNotify) gtk_widget_unref);
3233   gtk_widget_show (sout_file_path_label);
3234   gtk_table_attach (GTK_TABLE (table6), sout_file_path_label, 1, 2, 0, 1,
3235                     (GtkAttachOptions) (GTK_FILL),
3236                     (GtkAttachOptions) (0), 0, 0);
3237   gtk_misc_set_alignment (GTK_MISC (sout_file_path_label), 0, 0.5);
3238
3239   combo6 = gtk_combo_new ();
3240   gtk_widget_ref (combo6);
3241   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo6", combo6,
3242                             (GtkDestroyNotify) gtk_widget_unref);
3243   gtk_widget_show (combo6);
3244   gtk_table_attach (GTK_TABLE (table6), combo6, 2, 5, 0, 1,
3245                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3246                     (GtkAttachOptions) (0), 0, 0);
3247
3248   sout_file_path = GTK_COMBO (combo6)->entry;
3249   gtk_widget_ref (sout_file_path);
3250   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path", sout_file_path,
3251                             (GtkDestroyNotify) gtk_widget_unref);
3252   gtk_widget_show (sout_file_path);
3253
3254   sout_udp_address_label = gtk_label_new (_("Address:"));
3255   gtk_widget_ref (sout_udp_address_label);
3256   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_label", sout_udp_address_label,
3257                             (GtkDestroyNotify) gtk_widget_unref);
3258   gtk_widget_show (sout_udp_address_label);
3259   gtk_table_attach (GTK_TABLE (table6), sout_udp_address_label, 1, 2, 1, 2,
3260                     (GtkAttachOptions) (GTK_FILL),
3261                     (GtkAttachOptions) (0), 0, 0);
3262   gtk_misc_set_alignment (GTK_MISC (sout_udp_address_label), 0, 0.5);
3263
3264   sout_udp_address_combo = gtk_combo_new ();
3265   gtk_widget_ref (sout_udp_address_combo);
3266   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_combo", sout_udp_address_combo,
3267                             (GtkDestroyNotify) gtk_widget_unref);
3268   gtk_widget_show (sout_udp_address_combo);
3269   gtk_table_attach (GTK_TABLE (table6), sout_udp_address_combo, 2, 3, 1, 2,
3270                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3271                     (GtkAttachOptions) (0), 0, 0);
3272
3273   sout_udp_address = GTK_COMBO (sout_udp_address_combo)->entry;
3274   gtk_widget_ref (sout_udp_address);
3275   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address", sout_udp_address,
3276                             (GtkDestroyNotify) gtk_widget_unref);
3277   gtk_widget_show (sout_udp_address);
3278
3279   sout_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
3280   sout_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (sout_udp_port_adj), 1, 0);
3281   gtk_widget_ref (sout_udp_port);
3282   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port", sout_udp_port,
3283                             (GtkDestroyNotify) gtk_widget_unref);
3284   gtk_widget_show (sout_udp_port);
3285   gtk_table_attach (GTK_TABLE (table6), sout_udp_port, 4, 5, 1, 2,
3286                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3287                     (GtkAttachOptions) (0), 0, 0);
3288
3289   hbox29 = gtk_hbox_new (FALSE, 0);
3290   gtk_widget_ref (hbox29);
3291   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox29", hbox29,
3292                             (GtkDestroyNotify) gtk_widget_unref);
3293   gtk_widget_show (hbox29);
3294   gtk_table_attach (GTK_TABLE (table6), hbox29, 4, 5, 2, 3,
3295                     (GtkAttachOptions) (GTK_FILL),
3296                     (GtkAttachOptions) (GTK_FILL), 0, 0);
3297
3298   sout_mux_ts = gtk_radio_button_new_with_label (sout_mux_group, _("TS"));
3299   sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ts));
3300   gtk_widget_ref (sout_mux_ts);
3301   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ts", sout_mux_ts,
3302                             (GtkDestroyNotify) gtk_widget_unref);
3303   gtk_widget_show (sout_mux_ts);
3304   gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_ts, FALSE, FALSE, 0);
3305
3306   sout_mux_ps = gtk_radio_button_new_with_label (sout_mux_group, _("PS"));
3307   sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ps));
3308   gtk_widget_ref (sout_mux_ps);
3309   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ps", sout_mux_ps,
3310                             (GtkDestroyNotify) gtk_widget_unref);
3311   gtk_widget_show (sout_mux_ps);
3312   gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_ps, FALSE, FALSE, 0);
3313
3314   sout_mux_avi = gtk_radio_button_new_with_label (sout_mux_group, _("AVI"));
3315   sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_avi));
3316   gtk_widget_ref (sout_mux_avi);
3317   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_avi", sout_mux_avi,
3318                             (GtkDestroyNotify) gtk_widget_unref);
3319   gtk_widget_show (sout_mux_avi);
3320   gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_avi, FALSE, FALSE, 0);
3321
3322   sout_udp_port_label = gtk_label_new (_("Port"));
3323   gtk_widget_ref (sout_udp_port_label);
3324   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port_label", sout_udp_port_label,
3325                             (GtkDestroyNotify) gtk_widget_unref);
3326   gtk_widget_show (sout_udp_port_label);
3327   gtk_table_attach (GTK_TABLE (table6), sout_udp_port_label, 3, 4, 1, 2,
3328                     (GtkAttachOptions) (GTK_FILL),
3329                     (GtkAttachOptions) (0), 0, 0);
3330   gtk_misc_set_alignment (GTK_MISC (sout_udp_port_label), 0, 0.5);
3331
3332   hbox25 = gtk_hbox_new (FALSE, 0);
3333   gtk_widget_ref (hbox25);
3334   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox25", hbox25,
3335                             (GtkDestroyNotify) gtk_widget_unref);
3336   gtk_widget_show (hbox25);
3337   gtk_box_pack_end (GTK_BOX (vbox15), hbox25, FALSE, TRUE, 0);
3338   gtk_container_set_border_width (GTK_CONTAINER (hbox25), 5);
3339
3340   hbox26 = gtk_hbox_new (FALSE, 0);
3341   gtk_widget_ref (hbox26);
3342   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox26", hbox26,
3343                             (GtkDestroyNotify) gtk_widget_unref);
3344   gtk_widget_show (hbox26);
3345   gtk_box_pack_end (GTK_BOX (hbox25), hbox26, TRUE, TRUE, 3);
3346
3347   button1 = gtk_button_new_with_label (_("OK"));
3348   gtk_widget_ref (button1);
3349   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button1", button1,
3350                             (GtkDestroyNotify) gtk_widget_unref);
3351   gtk_widget_show (button1);
3352   gtk_box_pack_start (GTK_BOX (hbox26), button1, TRUE, TRUE, 2);
3353
3354   button2 = gtk_button_new_with_label (_("Cancel"));
3355   gtk_widget_ref (button2);
3356   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button2", button2,
3357                             (GtkDestroyNotify) gtk_widget_unref);
3358   gtk_widget_show (button2);
3359   gtk_box_pack_start (GTK_BOX (hbox26), button2, TRUE, TRUE, 2);
3360
3361   gtk_signal_connect (GTK_OBJECT (sout_access_file), "toggled",
3362                       GTK_SIGNAL_FUNC (GtkSoutSettingsAccessFile),
3363                       NULL);
3364   gtk_signal_connect (GTK_OBJECT (sout_access_udp), "toggled",
3365                       GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
3366                       NULL);
3367   gtk_signal_connect (GTK_OBJECT (sout_access_rtp), "toggled",
3368                       GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
3369                       NULL);
3370   gtk_signal_connect (GTK_OBJECT (sout_file_path), "changed",
3371                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
3372                       NULL);
3373   gtk_signal_connect (GTK_OBJECT (sout_udp_address), "changed",
3374                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
3375                       NULL);
3376   gtk_signal_connect (GTK_OBJECT (sout_udp_port), "changed",
3377                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
3378                       NULL);
3379   gtk_signal_connect (GTK_OBJECT (sout_mux_ts), "toggled",
3380                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
3381                       NULL);
3382   gtk_signal_connect (GTK_OBJECT (sout_mux_ps), "toggled",
3383                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
3384                       NULL);
3385   gtk_signal_connect (GTK_OBJECT (sout_mux_avi), "toggled",
3386                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
3387                       NULL);
3388   gtk_signal_connect (GTK_OBJECT (button1), "clicked",
3389                       GTK_SIGNAL_FUNC (GtkSoutSettingsOk),
3390                       NULL);
3391   gtk_signal_connect (GTK_OBJECT (button2), "clicked",
3392                       GTK_SIGNAL_FUNC (GtkSoutSettingsCancel),
3393                       NULL);
3394
3395   return intf_sout;
3396 }
3397