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