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