gtk_interface.c
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:156k
源码类别:

多媒体

开发平台:

MultiPlatform

  1.   gtk_widget_show (dialog_action_area);
  2.   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
  3.   about_ok = gtk_button_new_with_label (_("OK"));
  4.   gtk_widget_ref (about_ok);
  5.   gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
  6.                             (GtkDestroyNotify) gtk_widget_unref);
  7.   gtk_widget_show (about_ok);
  8.   gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
  9.   GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
  10.   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
  11.                       GTK_SIGNAL_FUNC (GtkAboutOk),
  12.                       NULL);
  13.   gtk_widget_grab_default (about_ok);
  14.   return intf_about;
  15. }
  16. GtkWidget*
  17. create_intf_open (void)
  18. {
  19.   GtkWidget *intf_open;
  20.   GtkWidget *dialog_vbox7;
  21.   GtkWidget *open_vbox;
  22.   GtkWidget *frame10;
  23.   GtkWidget *hbox21;
  24.   GtkWidget *hbox22;
  25.   GtkWidget *label34;
  26.   GtkWidget *combo2;
  27.   GtkWidget *entry_open;
  28.   GtkWidget *label36;
  29.   GtkWidget *open_notebook;
  30.   GtkWidget *hbox20;
  31.   GtkWidget *combo1;
  32.   GtkWidget *entry_file;
  33.   GtkWidget *vbox13;
  34.   GtkWidget *open_browse;
  35.   GtkWidget *open_file;
  36.   GtkWidget *table5;
  37.   GtkWidget *label35;
  38.   GtkWidget *hbox24;
  39.   GSList *disc_group = NULL;
  40.   GtkWidget *disc_dvd;
  41.   GtkWidget *disc_vcd;
  42.   GtkWidget *disc_cdda;
  43.   GtkWidget *label19;
  44.   GtkWidget *disc_chapter_label;
  45.   GtkWidget *disc_title_label;
  46.   GtkWidget *disc_name;
  47.   GtkObject *disc_title_adj;
  48.   GtkWidget *disc_title;
  49.   GtkObject *disc_chapter_adj;
  50.   GtkWidget *disc_chapter;
  51.   GtkWidget *disc_dvd_use_menu;
  52.   GtkWidget *open_disc;
  53.   GtkWidget *table4;
  54.   GSList *table4_group = NULL;
  55.   GtkWidget *network_udp;
  56.   GtkWidget *network_multicast;
  57.   GtkWidget *network_http;
  58.   GtkWidget *network_udp_port_label;
  59.   GtkWidget *network_multicast_address_label;
  60.   GtkWidget *network_http_url_label;
  61.   GtkWidget *network_multicast_address_combo;
  62.   GtkWidget *network_multicast_address;
  63.   GtkWidget *network_multicast_port_label;
  64.   GtkObject *network_multicast_port_adj;
  65.   GtkWidget *network_multicast_port;
  66.   GtkWidget *network_http_url;
  67.   GtkObject *network_udp_port_adj;
  68.   GtkWidget *network_udp_port;
  69.   GtkWidget *open_net;
  70.   GtkWidget *table3;
  71.   GtkWidget *label24;
  72.   GtkWidget *label25;
  73.   GtkWidget *label26;
  74.   GtkObject *sat_freq_adj;
  75.   GtkWidget *sat_freq;
  76.   GtkWidget *label27;
  77.   GtkWidget *hbox23;
  78.   GSList *pol_group = NULL;
  79.   GtkWidget *sat_pol_vert;
  80.   GtkWidget *sat_pol_hor;
  81.   GtkObject *sat_srate_adj;
  82.   GtkWidget *sat_srate;
  83.   GtkWidget *sat_fec;
  84.   GList *sat_fec_items = NULL;
  85.   GtkWidget *combo_entry1;
  86.   GtkWidget *open_sat;
  87.   GtkWidget *show_subtitle;
  88.   GtkWidget *hbox_subtitle;
  89.   GtkWidget *combo3;
  90.   GtkWidget *entry_subtitle;
  91.   GtkWidget *vbox14;
  92.   GtkWidget *open_browse_subtitle;
  93.   GtkWidget *label37;
  94.   GtkObject *subtitle_delay_adj;
  95.   GtkWidget *subtitle_delay;
  96.   GtkWidget *label3;
  97.   GtkObject *subtitle_fps_adj;
  98.   GtkWidget *subtitle_fps;
  99.   GtkWidget *hbox30;
  100.   GtkWidget *show_sout_settings;
  101.   GtkWidget *sout_settings;
  102.   GtkWidget *dialog_action_area6;
  103.   GtkWidget *hbox18;
  104.   GtkWidget *hbox19;
  105.   GtkWidget *open_ok;
  106.   GtkWidget *open_cancel;
  107.   GtkAccelGroup *accel_group;
  108.   GtkTooltips *tooltips;
  109.   tooltips = gtk_tooltips_new ();
  110.   accel_group = gtk_accel_group_new ();
  111.   intf_open = gtk_dialog_new ();
  112.   gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
  113.   gtk_container_set_border_width (GTK_CONTAINER (intf_open), 5);
  114.   gtk_window_set_title (GTK_WINDOW (intf_open), _("Open Target"));
  115.   gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, TRUE, TRUE);
  116.   dialog_vbox7 = GTK_DIALOG (intf_open)->vbox;
  117.   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox7", dialog_vbox7);
  118.   gtk_widget_show (dialog_vbox7);
  119.   open_vbox = gtk_vbox_new (FALSE, 5);
  120.   gtk_widget_ref (open_vbox);
  121.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_vbox", open_vbox,
  122.                             (GtkDestroyNotify) gtk_widget_unref);
  123.   gtk_widget_show (open_vbox);
  124.   gtk_box_pack_start (GTK_BOX (dialog_vbox7), open_vbox, TRUE, TRUE, 0);
  125.   frame10 = gtk_frame_new ("Media Resource Locator (MRL)");
  126.   gtk_widget_ref (frame10);
  127.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
  128.                             (GtkDestroyNotify) gtk_widget_unref);
  129.   gtk_widget_show (frame10);
  130.   gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
  131.   hbox21 = gtk_hbox_new (FALSE, 5);
  132.   gtk_widget_ref (hbox21);
  133.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox21", hbox21,
  134.                             (GtkDestroyNotify) gtk_widget_unref);
  135.   gtk_widget_show (hbox21);
  136.   gtk_container_add (GTK_CONTAINER (frame10), hbox21);
  137.   gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
  138.   hbox22 = gtk_hbox_new (FALSE, 0);
  139.   gtk_widget_ref (hbox22);
  140.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox22", hbox22,
  141.                             (GtkDestroyNotify) gtk_widget_unref);
  142.   gtk_widget_show (hbox22);
  143.   gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
  144.   label34 = gtk_label_new (_("Open Target:"));
  145.   gtk_widget_ref (label34);
  146.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label34", label34,
  147.                             (GtkDestroyNotify) gtk_widget_unref);
  148.   gtk_widget_show (label34);
  149.   gtk_box_pack_start (GTK_BOX (hbox22), label34, FALSE, FALSE, 0);
  150.   combo2 = gtk_combo_new ();
  151.   gtk_widget_ref (combo2);
  152.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
  153.                             (GtkDestroyNotify) gtk_widget_unref);
  154.   gtk_widget_show (combo2);
  155.   gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
  156.   entry_open = GTK_COMBO (combo2)->entry;
  157.   gtk_widget_ref (entry_open);
  158.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_open", entry_open,
  159.                             (GtkDestroyNotify) gtk_widget_unref);
  160.   gtk_widget_show (entry_open);
  161.   label36 = gtk_label_new (_("Alternatively, you can build an MRL using one of the following predefined targets:"));
  162.   gtk_widget_ref (label36);
  163.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label36", label36,
  164.                             (GtkDestroyNotify) gtk_widget_unref);
  165.   gtk_widget_show (label36);
  166.   gtk_box_pack_start (GTK_BOX (open_vbox), label36, TRUE, TRUE, 0);
  167.   gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
  168.   gtk_misc_set_alignment (GTK_MISC (label36), 0, 1);
  169.   open_notebook = gtk_notebook_new ();
  170.   gtk_widget_ref (open_notebook);
  171.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_notebook", open_notebook,
  172.                             (GtkDestroyNotify) gtk_widget_unref);
  173.   gtk_widget_show (open_notebook);
  174.   gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 0);
  175.   hbox20 = gtk_hbox_new (FALSE, 5);
  176.   gtk_widget_ref (hbox20);
  177.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox20", hbox20,
  178.                             (GtkDestroyNotify) gtk_widget_unref);
  179.   gtk_widget_show (hbox20);
  180.   gtk_container_add (GTK_CONTAINER (open_notebook), hbox20);
  181.   gtk_container_set_border_width (GTK_CONTAINER (hbox20), 5);
  182.   combo1 = gtk_combo_new ();
  183.   gtk_widget_ref (combo1);
  184.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
  185.                             (GtkDestroyNotify) gtk_widget_unref);
  186.   gtk_widget_show (combo1);
  187.   gtk_box_pack_start (GTK_BOX (hbox20), combo1, FALSE, TRUE, 0);
  188.   entry_file = GTK_COMBO (combo1)->entry;
  189.   gtk_widget_ref (entry_file);
  190.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_file", entry_file,
  191.                             (GtkDestroyNotify) gtk_widget_unref);
  192.   gtk_widget_show (entry_file);
  193.   vbox13 = gtk_vbox_new (TRUE, 0);
  194.   gtk_widget_ref (vbox13);
  195.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
  196.                             (GtkDestroyNotify) gtk_widget_unref);
  197.   gtk_widget_show (vbox13);
  198.   gtk_box_pack_start (GTK_BOX (hbox20), vbox13, FALSE, FALSE, 0);
  199.   open_browse = gtk_button_new_with_label (_("Browse..."));
  200.   gtk_widget_ref (open_browse);
  201.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse", open_browse,
  202.                             (GtkDestroyNotify) gtk_widget_unref);
  203.   gtk_widget_show (open_browse);
  204.   gtk_box_pack_start (GTK_BOX (vbox13), open_browse, FALSE, FALSE, 0);
  205.   open_file = gtk_label_new (_("File"));
  206.   gtk_widget_ref (open_file);
  207.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_file", open_file,
  208.                             (GtkDestroyNotify) gtk_widget_unref);
  209.   gtk_widget_show (open_file);
  210.   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 0), open_file);
  211.   table5 = gtk_table_new (5, 2, FALSE);
  212.   gtk_widget_ref (table5);
  213.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
  214.                             (GtkDestroyNotify) gtk_widget_unref);
  215.   gtk_widget_show (table5);
  216.   gtk_container_add (GTK_CONTAINER (open_notebook), table5);
  217.   gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
  218.   gtk_table_set_row_spacings (GTK_TABLE (table5), 5);
  219.   gtk_table_set_col_spacings (GTK_TABLE (table5), 5);
  220.   label35 = gtk_label_new (_("Disc type"));
  221.   gtk_widget_ref (label35);
  222.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label35", label35,
  223.                             (GtkDestroyNotify) gtk_widget_unref);
  224.   gtk_widget_show (label35);
  225.   gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 0, 1,
  226.                     (GtkAttachOptions) (GTK_FILL),
  227.                     (GtkAttachOptions) (0), 0, 0);
  228.   gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
  229.   hbox24 = gtk_hbox_new (FALSE, 0);
  230.   gtk_widget_ref (hbox24);
  231.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox24", hbox24,
  232.                             (GtkDestroyNotify) gtk_widget_unref);
  233.   gtk_widget_show (hbox24);
  234.   gtk_table_attach (GTK_TABLE (table5), hbox24, 1, 2, 0, 1,
  235.                     (GtkAttachOptions) (GTK_FILL),
  236.                     (GtkAttachOptions) (GTK_FILL), 0, 0);
  237.   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
  238.   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
  239.   gtk_widget_ref (disc_dvd);
  240.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd", disc_dvd,
  241.                             (GtkDestroyNotify) gtk_widget_unref);
  242.   gtk_widget_show (disc_dvd);
  243.   gtk_box_pack_start (GTK_BOX (hbox24), disc_dvd, FALSE, FALSE, 0);
  244.   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
  245.   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
  246.   gtk_widget_ref (disc_vcd);
  247.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_vcd", disc_vcd,
  248.                             (GtkDestroyNotify) gtk_widget_unref);
  249.   gtk_widget_show (disc_vcd);
  250.   gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
  251.   disc_cdda = gtk_radio_button_new_with_label (disc_group, _("Audio CD"));
  252.   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_cdda));
  253.   gtk_widget_ref (disc_cdda);
  254.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_cdda", disc_cdda,
  255.                             (GtkDestroyNotify) gtk_widget_unref);
  256.   gtk_widget_show (disc_cdda);
  257.   gtk_box_pack_start (GTK_BOX (hbox24), disc_cdda, FALSE, FALSE, 0);
  258.   label19 = gtk_label_new (_("Device name"));
  259.   gtk_widget_ref (label19);
  260.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
  261.                             (GtkDestroyNotify) gtk_widget_unref);
  262.   gtk_widget_show (label19);
  263.   gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
  264.                     (GtkAttachOptions) (GTK_FILL),
  265.                     (GtkAttachOptions) (0), 0, 0);
  266.   gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5);
  267.   disc_chapter_label = gtk_label_new (_("Chapter"));
  268.   gtk_widget_ref (disc_chapter_label);
  269.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter_label", disc_chapter_label,
  270.                             (GtkDestroyNotify) gtk_widget_unref);
  271.   gtk_widget_show (disc_chapter_label);
  272.   gtk_table_attach (GTK_TABLE (table5), disc_chapter_label, 0, 1, 4, 5,
  273.                     (GtkAttachOptions) (GTK_FILL),
  274.                     (GtkAttachOptions) (0), 0, 0);
  275.   gtk_misc_set_alignment (GTK_MISC (disc_chapter_label), 0, 0.5);
  276.   disc_title_label = gtk_label_new (_("Title"));
  277.   gtk_widget_ref (disc_title_label);
  278.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title_label", disc_title_label,
  279.                             (GtkDestroyNotify) gtk_widget_unref);
  280.   gtk_widget_show (disc_title_label);
  281.   gtk_table_attach (GTK_TABLE (table5), disc_title_label, 0, 1, 3, 4,
  282.                     (GtkAttachOptions) (GTK_FILL),
  283.                     (GtkAttachOptions) (0), 0, 0);
  284.   gtk_misc_set_alignment (GTK_MISC (disc_title_label), 0, 0.5);
  285.   disc_name = gtk_entry_new ();
  286.   gtk_widget_ref (disc_name);
  287.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
  288.                             (GtkDestroyNotify) gtk_widget_unref);
  289.   gtk_widget_show (disc_name);
  290.   gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
  291.                     (GtkAttachOptions) (GTK_FILL),
  292.                     (GtkAttachOptions) (0), 0, 0);
  293.   gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
  294.   disc_title_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
  295.   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
  296.   gtk_widget_ref (disc_title);
  297.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title", disc_title,
  298.                             (GtkDestroyNotify) gtk_widget_unref);
  299.   gtk_widget_show (disc_title);
  300.   gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 3, 4,
  301.                     (GtkAttachOptions) (GTK_FILL),
  302.                     (GtkAttachOptions) (0), 0, 0);
  303.   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
  304.   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
  305.   gtk_widget_ref (disc_chapter);
  306.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
  307.                             (GtkDestroyNotify) gtk_widget_unref);
  308.   gtk_widget_show (disc_chapter);
  309.   gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 4, 5,
  310.                     (GtkAttachOptions) (GTK_FILL),
  311.                     (GtkAttachOptions) (0), 0, 0);
  312.   disc_dvd_use_menu = gtk_check_button_new_with_label (_("Use DVD menus"));
  313.   gtk_widget_ref (disc_dvd_use_menu);
  314.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd_use_menu", disc_dvd_use_menu,
  315.                             (GtkDestroyNotify) gtk_widget_unref);
  316.   gtk_widget_show (disc_dvd_use_menu);
  317.   gtk_table_attach (GTK_TABLE (table5), disc_dvd_use_menu, 1, 2, 2, 3,
  318.                     (GtkAttachOptions) (GTK_FILL),
  319.                     (GtkAttachOptions) (0), 0, 0);
  320.   open_disc = gtk_label_new (_("Disc"));
  321.   gtk_widget_ref (open_disc);
  322.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_disc", open_disc,
  323.                             (GtkDestroyNotify) gtk_widget_unref);
  324.   gtk_widget_show (open_disc);
  325.   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 1), open_disc);
  326.   table4 = gtk_table_new (3, 6, FALSE);
  327.   gtk_widget_ref (table4);
  328.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
  329.                             (GtkDestroyNotify) gtk_widget_unref);
  330.   gtk_widget_show (table4);
  331.   gtk_container_add (GTK_CONTAINER (open_notebook), table4);
  332.   gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
  333.   gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
  334.   gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
  335.   network_udp = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP"));
  336.   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
  337.   gtk_widget_ref (network_udp);
  338.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp", network_udp,
  339.                             (GtkDestroyNotify) gtk_widget_unref);
  340.   gtk_widget_show (network_udp);
  341.   gtk_table_attach (GTK_TABLE (table4), network_udp, 0, 1, 0, 1,
  342.                     (GtkAttachOptions) (GTK_FILL),
  343.                     (GtkAttachOptions) (0), 0, 0);
  344.   network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP Multicast"));
  345.   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
  346.   gtk_widget_ref (network_multicast);
  347.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast", network_multicast,
  348.                             (GtkDestroyNotify) gtk_widget_unref);
  349.   gtk_widget_show (network_multicast);
  350.   gtk_table_attach (GTK_TABLE (table4), network_multicast, 0, 1, 1, 2,
  351.                     (GtkAttachOptions) (GTK_FILL),
  352.                     (GtkAttachOptions) (0), 0, 0);
  353.   network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP/FTP/MMS"));
  354.   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
  355.   gtk_widget_ref (network_http);
  356.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http", network_http,
  357.                             (GtkDestroyNotify) gtk_widget_unref);
  358.   gtk_widget_show (network_http);
  359.   gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 2, 3,
  360.                     (GtkAttachOptions) (GTK_FILL),
  361.                     (GtkAttachOptions) (0), 0, 0);
  362.   network_udp_port_label = gtk_label_new (_("Port"));
  363.   gtk_widget_ref (network_udp_port_label);
  364.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port_label", network_udp_port_label,
  365.                             (GtkDestroyNotify) gtk_widget_unref);
  366.   gtk_widget_show (network_udp_port_label);
  367.   gtk_table_attach (GTK_TABLE (table4), network_udp_port_label, 1, 2, 0, 1,
  368.                     (GtkAttachOptions) (GTK_FILL),
  369.                     (GtkAttachOptions) (0), 0, 0);
  370.   gtk_misc_set_alignment (GTK_MISC (network_udp_port_label), 1, 0.5);
  371.   network_multicast_address_label = gtk_label_new (_("Address"));
  372.   gtk_widget_ref (network_multicast_address_label);
  373.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_label", network_multicast_address_label,
  374.                             (GtkDestroyNotify) gtk_widget_unref);
  375.   gtk_widget_show (network_multicast_address_label);
  376.   gtk_table_attach (GTK_TABLE (table4), network_multicast_address_label, 1, 2, 1, 2,
  377.                     (GtkAttachOptions) (GTK_FILL),
  378.                     (GtkAttachOptions) (0), 0, 0);
  379.   gtk_widget_set_sensitive (network_multicast_address_label, FALSE);
  380.   gtk_label_set_justify (GTK_LABEL (network_multicast_address_label), GTK_JUSTIFY_RIGHT);
  381.   gtk_misc_set_alignment (GTK_MISC (network_multicast_address_label), 1, 0.5);
  382.   network_http_url_label = gtk_label_new (_("URL"));
  383.   gtk_widget_ref (network_http_url_label);
  384.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url_label", network_http_url_label,
  385.                             (GtkDestroyNotify) gtk_widget_unref);
  386.   gtk_widget_show (network_http_url_label);
  387.   gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 2, 3,
  388.                     (GtkAttachOptions) (GTK_FILL),
  389.                     (GtkAttachOptions) (0), 0, 0);
  390.   gtk_widget_set_sensitive (network_http_url_label, FALSE);
  391.   gtk_misc_set_alignment (GTK_MISC (network_http_url_label), 1, 0.5);
  392.   network_multicast_address_combo = gtk_combo_new ();
  393.   gtk_widget_ref (network_multicast_address_combo);
  394.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_combo", network_multicast_address_combo,
  395.                             (GtkDestroyNotify) gtk_widget_unref);
  396.   gtk_widget_show (network_multicast_address_combo);
  397.   gtk_table_attach (GTK_TABLE (table4), network_multicast_address_combo, 2, 4, 1, 2,
  398.                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
  399.                     (GtkAttachOptions) (0), 0, 0);
  400.   gtk_widget_set_sensitive (network_multicast_address_combo, FALSE);
  401.   network_multicast_address = GTK_COMBO (network_multicast_address_combo)->entry;
  402.   gtk_widget_ref (network_multicast_address);
  403.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address", network_multicast_address,
  404.                             (GtkDestroyNotify) gtk_widget_unref);
  405.   gtk_widget_show (network_multicast_address);
  406.   network_multicast_port_label = gtk_label_new (_("Port"));
  407.   gtk_widget_ref (network_multicast_port_label);
  408.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port_label", network_multicast_port_label,
  409.                             (GtkDestroyNotify) gtk_widget_unref);
  410.   gtk_widget_show (network_multicast_port_label);
  411.   gtk_table_attach (GTK_TABLE (table4), network_multicast_port_label, 4, 5, 1, 2,
  412.                     (GtkAttachOptions) (GTK_FILL),
  413.                     (GtkAttachOptions) (0), 0, 0);
  414.   gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
  415.   gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
  416.   network_multicast_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
  417.   network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0);
  418.   gtk_widget_ref (network_multicast_port);
  419.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port", network_multicast_port,
  420.                             (GtkDestroyNotify) gtk_widget_unref);
  421.   gtk_widget_show (network_multicast_port);
  422.   gtk_table_attach (GTK_TABLE (table4), network_multicast_port, 5, 6, 1, 2,
  423.                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
  424.                     (GtkAttachOptions) (0), 0, 0);
  425.   gtk_widget_set_usize (network_multicast_port, 75, -2);
  426.   gtk_widget_set_sensitive (network_multicast_port, FALSE);
  427.   network_http_url = gtk_entry_new ();
  428.   gtk_widget_ref (network_http_url);
  429.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url", network_http_url,
  430.                             (GtkDestroyNotify) gtk_widget_unref);
  431.   gtk_widget_show (network_http_url);
  432.   gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 2, 3,
  433.                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
  434.                     (GtkAttachOptions) (0), 0, 0);
  435.   gtk_widget_set_sensitive (network_http_url, FALSE);
  436.   network_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
  437.   network_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_udp_port_adj), 1, 0);
  438.   gtk_widget_ref (network_udp_port);
  439.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port", network_udp_port,
  440.                             (GtkDestroyNotify) gtk_widget_unref);
  441.   gtk_widget_show (network_udp_port);
  442.   gtk_table_attach (GTK_TABLE (table4), network_udp_port, 2, 3, 0, 1,
  443.                     (GtkAttachOptions) (GTK_FILL),
  444.                     (GtkAttachOptions) (0), 0, 0);
  445.   gtk_widget_set_usize (network_udp_port, 1, -2);
  446.   open_net = gtk_label_new (_("Network"));
  447.   gtk_widget_ref (open_net);
  448.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_net", open_net,
  449.                             (GtkDestroyNotify) gtk_widget_unref);
  450.   gtk_widget_show (open_net);
  451.   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 2), open_net);
  452.   table3 = gtk_table_new (4, 2, FALSE);
  453.   gtk_widget_ref (table3);
  454.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
  455.                             (GtkDestroyNotify) gtk_widget_unref);
  456.   gtk_widget_show (table3);
  457.   gtk_container_add (GTK_CONTAINER (open_notebook), table3);
  458.   gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
  459.   gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
  460.   gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
  461.   label24 = gtk_label_new (_("Symbol Rate"));
  462.   gtk_widget_ref (label24);
  463.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
  464.                             (GtkDestroyNotify) gtk_widget_unref);
  465.   gtk_widget_show (label24);
  466.   gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 1, 2,
  467.                     (GtkAttachOptions) (GTK_FILL),
  468.                     (GtkAttachOptions) (0), 0, 0);
  469.   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
  470.   label25 = gtk_label_new (_("Frequency"));
  471.   gtk_widget_ref (label25);
  472.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
  473.                             (GtkDestroyNotify) gtk_widget_unref);
  474.   gtk_widget_show (label25);
  475.   gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 0, 1,
  476.                     (GtkAttachOptions) (GTK_FILL),
  477.                     (GtkAttachOptions) (0), 0, 0);
  478.   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
  479.   label26 = gtk_label_new (_("Polarization"));
  480.   gtk_widget_ref (label26);
  481.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
  482.                             (GtkDestroyNotify) gtk_widget_unref);
  483.   gtk_widget_show (label26);
  484.   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 2, 3,
  485.                     (GtkAttachOptions) (GTK_FILL),
  486.                     (GtkAttachOptions) (0), 0, 0);
  487.   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
  488.   sat_freq_adj = gtk_adjustment_new (1.1954e+07, 1e+07, 1.2999e+07, 1, 10, 10);
  489.   sat_freq = gtk_spin_button_new (GTK_ADJUSTMENT (sat_freq_adj), 1, 0);
  490.   gtk_widget_ref (sat_freq);
  491.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_freq", sat_freq,
  492.                             (GtkDestroyNotify) gtk_widget_unref);
  493.   gtk_widget_show (sat_freq);
  494.   gtk_table_attach (GTK_TABLE (table3), sat_freq, 1, 2, 0, 1,
  495.                     (GtkAttachOptions) (GTK_FILL),
  496.                     (GtkAttachOptions) (0), 0, 0);
  497.   label27 = gtk_label_new (_("FEC"));
  498.   gtk_widget_ref (label27);
  499.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
  500.                             (GtkDestroyNotify) gtk_widget_unref);
  501.   gtk_widget_show (label27);
  502.   gtk_table_attach (GTK_TABLE (table3), label27, 0, 1, 3, 4,
  503.                     (GtkAttachOptions) (GTK_FILL),
  504.                     (GtkAttachOptions) (0), 0, 0);
  505.   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
  506.   hbox23 = gtk_hbox_new (FALSE, 0);
  507.   gtk_widget_ref (hbox23);
  508.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox23", hbox23,
  509.                             (GtkDestroyNotify) gtk_widget_unref);
  510.   gtk_widget_show (hbox23);
  511.   gtk_table_attach (GTK_TABLE (table3), hbox23, 1, 2, 2, 3,
  512.                     (GtkAttachOptions) (GTK_FILL),
  513.                     (GtkAttachOptions) (GTK_FILL), 0, 0);
  514.   sat_pol_vert = gtk_radio_button_new_with_label (pol_group, _("Vertical"));
  515.   pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_vert));
  516.   gtk_widget_ref (sat_pol_vert);
  517.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_vert", sat_pol_vert,
  518.                             (GtkDestroyNotify) gtk_widget_unref);
  519.   gtk_widget_show (sat_pol_vert);
  520.   gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_vert, FALSE, FALSE, 0);
  521.   sat_pol_hor = gtk_radio_button_new_with_label (pol_group, _("Horizontal"));
  522.   pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_hor));
  523.   gtk_widget_ref (sat_pol_hor);
  524.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_hor", sat_pol_hor,
  525.                             (GtkDestroyNotify) gtk_widget_unref);
  526.   gtk_widget_show (sat_pol_hor);
  527.   gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_hor, FALSE, FALSE, 0);
  528.   sat_srate_adj = gtk_adjustment_new (2.75e+07, 1e+06, 3e+07, 1, 10, 10);
  529.   sat_srate = gtk_spin_button_new (GTK_ADJUSTMENT (sat_srate_adj), 1, 0);
  530.   gtk_widget_ref (sat_srate);
  531.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_srate", sat_srate,
  532.                             (GtkDestroyNotify) gtk_widget_unref);
  533.   gtk_widget_show (sat_srate);
  534.   gtk_table_attach (GTK_TABLE (table3), sat_srate, 1, 2, 1, 2,
  535.                     (GtkAttachOptions) (GTK_FILL),
  536.                     (GtkAttachOptions) (0), 0, 0);
  537.   sat_fec = gtk_combo_new ();
  538.   gtk_widget_ref (sat_fec);
  539.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_fec", sat_fec,
  540.                             (GtkDestroyNotify) gtk_widget_unref);
  541.   gtk_widget_show (sat_fec);
  542.   gtk_table_attach (GTK_TABLE (table3), sat_fec, 1, 2, 3, 4,
  543.                     (GtkAttachOptions) (GTK_FILL),
  544.                     (GtkAttachOptions) (0), 0, 0);
  545.   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "1/2");
  546.   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "2/3");
  547.   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "3/4");
  548.   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "4/5");
  549.   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "5/6");
  550.   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "7/8");
  551.   gtk_combo_set_popdown_strings (GTK_COMBO (sat_fec), sat_fec_items);
  552.   g_list_free (sat_fec_items);
  553.   combo_entry1 = GTK_COMBO (sat_fec)->entry;
  554.   gtk_widget_ref (combo_entry1);
  555.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
  556.                             (GtkDestroyNotify) gtk_widget_unref);
  557.   gtk_widget_show (combo_entry1);
  558.   gtk_entry_set_text (GTK_ENTRY (combo_entry1), "3/4");
  559.   open_sat = gtk_label_new (_("Satellite"));
  560.   gtk_widget_ref (open_sat);
  561.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_sat", open_sat,
  562.                             (GtkDestroyNotify) gtk_widget_unref);
  563.   gtk_widget_show (open_sat);
  564.   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 3), open_sat);
  565.   show_subtitle = gtk_check_button_new_with_label (_("Subtitle"));
  566.   gtk_widget_ref (show_subtitle);
  567.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_subtitle", show_subtitle,
  568.                             (GtkDestroyNotify) gtk_widget_unref);
  569.   gtk_widget_show (show_subtitle);
  570.   gtk_box_pack_start (GTK_BOX (open_vbox), show_subtitle, FALSE, FALSE, 0);
  571.   gtk_tooltips_set_tip (tooltips, show_subtitle, _("Use a subtitles file"), NULL);
  572.   hbox_subtitle = gtk_hbox_new (FALSE, 5);
  573.   gtk_widget_ref (hbox_subtitle);
  574.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox_subtitle", hbox_subtitle,
  575.                             (GtkDestroyNotify) gtk_widget_unref);
  576.   gtk_widget_show (hbox_subtitle);
  577.   gtk_box_pack_start (GTK_BOX (open_vbox), hbox_subtitle, TRUE, TRUE, 0);
  578.   gtk_container_set_border_width (GTK_CONTAINER (hbox_subtitle), 5);
  579.   combo3 = gtk_combo_new ();
  580.   gtk_widget_ref (combo3);
  581.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo3", combo3,
  582.                             (GtkDestroyNotify) gtk_widget_unref);
  583.   gtk_widget_show (combo3);
  584.   gtk_box_pack_start (GTK_BOX (hbox_subtitle), combo3, FALSE, TRUE, 0);
  585.   entry_subtitle = GTK_COMBO (combo3)->entry;
  586.   gtk_widget_ref (entry_subtitle);
  587.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_subtitle", entry_subtitle,
  588.                             (GtkDestroyNotify) gtk_widget_unref);
  589.   gtk_widget_show (entry_subtitle);
  590.   gtk_tooltips_set_tip (tooltips, entry_subtitle, _("Select a subtitles file"), NULL);
  591.   vbox14 = gtk_vbox_new (TRUE, 0);
  592.   gtk_widget_ref (vbox14);
  593.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox14", vbox14,
  594.                             (GtkDestroyNotify) gtk_widget_unref);
  595.   gtk_widget_show (vbox14);
  596.   gtk_box_pack_start (GTK_BOX (hbox_subtitle), vbox14, FALSE, FALSE, 0);
  597.   open_browse_subtitle = gtk_button_new_with_label (_("Browse..."));
  598.   gtk_widget_ref (open_browse_subtitle);
  599.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse_subtitle", open_browse_subtitle,
  600.                             (GtkDestroyNotify) gtk_widget_unref);
  601.   gtk_widget_show (open_browse_subtitle);
  602.   gtk_box_pack_start (GTK_BOX (vbox14), open_browse_subtitle, FALSE, FALSE, 0);
  603.   label37 = gtk_label_new (_("delay"));
  604.   gtk_widget_ref (label37);
  605.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label37", label37,
  606.                             (GtkDestroyNotify) gtk_widget_unref);
  607.   gtk_widget_show (label37);
  608.   gtk_box_pack_start (GTK_BOX (hbox_subtitle), label37, TRUE, TRUE, 0);
  609.   subtitle_delay_adj = gtk_adjustment_new (0, -1000, 1000, 0.1, 10, 10);
  610.   subtitle_delay = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_delay_adj), 1, 1);
  611.   gtk_widget_ref (subtitle_delay);
  612.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_delay", subtitle_delay,
  613.                             (GtkDestroyNotify) gtk_widget_unref);
  614.   gtk_widget_show (subtitle_delay);
  615.   gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_delay, TRUE, TRUE, 0);
  616.   gtk_tooltips_set_tip (tooltips, subtitle_delay, _("Set the delay (in seconds)"), NULL);
  617.   label3 = gtk_label_new (_("fps"));
  618.   gtk_widget_ref (label3);
  619.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label3", label3,
  620.                             (GtkDestroyNotify) gtk_widget_unref);
  621.   gtk_widget_show (label3);
  622.   gtk_box_pack_start (GTK_BOX (hbox_subtitle), label3, TRUE, TRUE, 0);
  623.   subtitle_fps_adj = gtk_adjustment_new (0, 0, 100, 0.1, 10, 10);
  624.   subtitle_fps = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_fps_adj), 1, 1);
  625.   gtk_widget_ref (subtitle_fps);
  626.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_fps", subtitle_fps,
  627.                             (GtkDestroyNotify) gtk_widget_unref);
  628.   gtk_widget_show (subtitle_fps);
  629.   gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_fps, TRUE, TRUE, 0);
  630.   gtk_tooltips_set_tip (tooltips, subtitle_fps, _("Set the number of Frames Per Second"), NULL);
  631.   hbox30 = gtk_hbox_new (FALSE, 0);
  632.   gtk_widget_ref (hbox30);
  633.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox30", hbox30,
  634.                             (GtkDestroyNotify) gtk_widget_unref);
  635.   gtk_widget_show (hbox30);
  636.   gtk_box_pack_start (GTK_BOX (dialog_vbox7), hbox30, FALSE, FALSE, 3);
  637.   show_sout_settings = gtk_check_button_new_with_label (_("Stream output"));
  638.   gtk_widget_ref (show_sout_settings);
  639.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_sout_settings", show_sout_settings,
  640.                             (GtkDestroyNotify) gtk_widget_unref);
  641.   gtk_widget_show (show_sout_settings);
  642.   gtk_box_pack_start (GTK_BOX (hbox30), show_sout_settings, FALSE, FALSE, 0);
  643.   gtk_tooltips_set_tip (tooltips, show_sout_settings, _("Use stream output"), NULL);
  644.   sout_settings = gtk_button_new_with_label (_("Settings..."));
  645.   gtk_widget_ref (sout_settings);
  646.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sout_settings", sout_settings,
  647.                             (GtkDestroyNotify) gtk_widget_unref);
  648.   gtk_widget_show (sout_settings);
  649.   gtk_box_pack_start (GTK_BOX (hbox30), sout_settings, FALSE, FALSE, 20);
  650.   gtk_tooltips_set_tip (tooltips, sout_settings, _("Stream output configuration "), NULL);
  651.   dialog_action_area6 = GTK_DIALOG (intf_open)->action_area;
  652.   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area6", dialog_action_area6);
  653.   gtk_widget_show (dialog_action_area6);
  654.   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area6), 5);
  655.   hbox18 = gtk_hbox_new (TRUE, 5);
  656.   gtk_widget_ref (hbox18);
  657.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox18", hbox18,
  658.                             (GtkDestroyNotify) gtk_widget_unref);
  659.   gtk_widget_show (hbox18);
  660.   gtk_box_pack_start (GTK_BOX (dialog_action_area6), hbox18, TRUE, TRUE, 0);
  661.   hbox19 = gtk_hbox_new (TRUE, 5);
  662.   gtk_widget_ref (hbox19);
  663.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox19", hbox19,
  664.                             (GtkDestroyNotify) gtk_widget_unref);
  665.   gtk_widget_show (hbox19);
  666.   gtk_box_pack_end (GTK_BOX (hbox18), hbox19, FALSE, TRUE, 0);
  667.   open_ok = gtk_button_new_with_label (_("OK"));
  668.   gtk_widget_ref (open_ok);
  669.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_ok", open_ok,
  670.                             (GtkDestroyNotify) gtk_widget_unref);
  671.   gtk_widget_show (open_ok);
  672.   gtk_box_pack_start (GTK_BOX (hbox19), open_ok, FALSE, TRUE, 0);
  673.   open_cancel = gtk_button_new_with_label (_("Cancel"));
  674.   gtk_widget_ref (open_cancel);
  675.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_cancel", open_cancel,
  676.                             (GtkDestroyNotify) gtk_widget_unref);
  677.   gtk_widget_show (open_cancel);
  678.   gtk_box_pack_start (GTK_BOX (hbox19), open_cancel, FALSE, TRUE, 0);
  679.   gtk_widget_add_accelerator (open_cancel, "clicked", accel_group,
  680.                               GDK_Escape, 0,
  681.                               GTK_ACCEL_VISIBLE);
  682.   gtk_signal_connect (GTK_OBJECT (intf_open), "delete_event",
  683.                       GTK_SIGNAL_FUNC (gtk_widget_hide),
  684.                       NULL);
  685.   gtk_signal_connect_after (GTK_OBJECT (open_notebook), "switch_page",
  686.                             GTK_SIGNAL_FUNC (GtkOpenNotebookChanged),
  687.                             NULL);
  688.   gtk_signal_connect (GTK_OBJECT (entry_file), "changed",
  689.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  690.                       NULL);
  691.   gtk_signal_connect (GTK_OBJECT (open_browse), "clicked",
  692.                       GTK_SIGNAL_FUNC (GtkFileShow),
  693.                       "entry_file");
  694.   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
  695.                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
  696.                       NULL);
  697.   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
  698.                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
  699.                       NULL);
  700.   gtk_signal_connect (GTK_OBJECT (disc_cdda), "toggled",
  701.                       GTK_SIGNAL_FUNC (GtkDiscOpenCDDA),
  702.                       NULL);
  703.   gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
  704.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  705.                       NULL);
  706.   gtk_signal_connect (GTK_OBJECT (disc_title), "changed",
  707.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  708.                       NULL);
  709.   gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
  710.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  711.                       NULL);
  712.   gtk_signal_connect (GTK_OBJECT (disc_dvd_use_menu), "toggled",
  713.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  714.                       NULL);
  715.   gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
  716.                       GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
  717.                       NULL);
  718.   gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
  719.                       GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
  720.                       NULL);
  721.   gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
  722.                       GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
  723.                       NULL);
  724.   gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
  725.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  726.                       NULL);
  727.   gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed",
  728.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  729.                       NULL);
  730.   gtk_signal_connect (GTK_OBJECT (network_http_url), "changed",
  731.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  732.                       NULL);
  733.   gtk_signal_connect (GTK_OBJECT (network_udp_port), "changed",
  734.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  735.                       NULL);
  736.   gtk_signal_connect (GTK_OBJECT (sat_freq), "changed",
  737.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  738.                       NULL);
  739.   gtk_signal_connect (GTK_OBJECT (sat_pol_vert), "toggled",
  740.                       GTK_SIGNAL_FUNC (GtkSatOpenToggle),
  741.                       NULL);
  742.   gtk_signal_connect (GTK_OBJECT (sat_pol_hor), "toggled",
  743.                       GTK_SIGNAL_FUNC (GtkSatOpenToggle),
  744.                       NULL);
  745.   gtk_signal_connect (GTK_OBJECT (sat_srate), "changed",
  746.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  747.                       NULL);
  748.   gtk_signal_connect (GTK_OBJECT (combo_entry1), "changed",
  749.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  750.                       NULL);
  751.   gtk_signal_connect (GTK_OBJECT (show_subtitle), "clicked",
  752.                       GTK_SIGNAL_FUNC (GtkOpenSubtitleShow),
  753.                       NULL);
  754.   gtk_signal_connect (GTK_OBJECT (entry_subtitle), "changed",
  755.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  756.                       NULL);
  757.   gtk_signal_connect (GTK_OBJECT (open_browse_subtitle), "clicked",
  758.                       GTK_SIGNAL_FUNC (GtkFileShow),
  759.                       "entry_subtitle");
  760.   gtk_signal_connect (GTK_OBJECT (subtitle_delay), "changed",
  761.                       GTK_SIGNAL_FUNC (GtkOpenChanged),
  762.                       NULL);
  763.   gtk_signal_connect (GTK_OBJECT (show_sout_settings), "clicked",
  764.                       GTK_SIGNAL_FUNC (GtkOpenSoutShow),
  765.                       NULL);
  766.   gtk_signal_connect (GTK_OBJECT (sout_settings), "clicked",
  767.                       GTK_SIGNAL_FUNC (GtkSoutSettings),
  768.                       NULL);
  769.   gtk_signal_connect (GTK_OBJECT (open_ok), "clicked",
  770.                       GTK_SIGNAL_FUNC (GtkOpenOk),
  771.                       NULL);
  772.   gtk_signal_connect (GTK_OBJECT (open_cancel), "clicked",
  773.                       GTK_SIGNAL_FUNC (GtkOpenCancel),
  774.                       NULL);
  775.   gtk_object_set_data (GTK_OBJECT (intf_open), "tooltips", tooltips);
  776.   gtk_window_add_accel_group (GTK_WINDOW (intf_open), accel_group);
  777.   return intf_open;
  778. }
  779. GtkWidget*
  780. create_intf_file (void)
  781. {
  782.   GtkWidget *intf_file;
  783.   GtkWidget *file_ok;
  784.   GtkWidget *file_cancel;
  785.   intf_file = gtk_file_selection_new (_("Select File"));
  786.   gtk_object_set_data (GTK_OBJECT (intf_file), "intf_file", intf_file);
  787.   gtk_container_set_border_width (GTK_CONTAINER (intf_file), 10);
  788.   gtk_window_set_modal (GTK_WINDOW (intf_file), TRUE);
  789.   file_ok = GTK_FILE_SELECTION (intf_file)->ok_button;
  790.   gtk_object_set_data (GTK_OBJECT (intf_file), "file_ok", file_ok);
  791.   gtk_widget_show (file_ok);
  792.   GTK_WIDGET_SET_FLAGS (file_ok, GTK_CAN_DEFAULT);
  793.   file_cancel = GTK_FILE_SELECTION (intf_file)->cancel_button;
  794.   gtk_object_set_data (GTK_OBJECT (intf_file), "file_cancel", file_cancel);
  795.   gtk_widget_show (file_cancel);
  796.   GTK_WIDGET_SET_FLAGS (file_cancel, GTK_CAN_DEFAULT);
  797.   gtk_signal_connect (GTK_OBJECT (file_ok), "clicked",
  798.                       GTK_SIGNAL_FUNC (GtkFileOk),
  799.                       NULL);
  800.   gtk_signal_connect (GTK_OBJECT (file_cancel), "clicked",
  801.                       GTK_SIGNAL_FUNC (GtkFileCancel),
  802.                       NULL);
  803.   return intf_file;
  804. }
  805. GtkWidget*
  806. create_intf_jump (void)
  807. {
  808.   GtkWidget *intf_jump;
  809.   GtkWidget *dialog_vbox3;
  810.   GtkWidget *jump_frame;
  811.   GtkWidget *hbox13;
  812.   GtkWidget *jump_second_label;
  813.   GtkObject *jump_second_spinbutton_adj;
  814.   GtkWidget *jump_second_spinbutton;
  815.   GtkWidget *jump_minute_label;
  816.   GtkObject *jump_minute_spinbutton_adj;
  817.   GtkWidget *jump_minute_spinbutton;
  818.   GtkWidget *jump_hour_label;
  819.   GtkObject *jump_hour_spinbutton_adj;
  820.   GtkWidget *jump_hour_spinbutton;
  821.   GtkWidget *dialog_action_area2;
  822.   GtkWidget *jump_ok_button;
  823.   GtkWidget *jump_cancel_button;
  824.   intf_jump = gtk_dialog_new ();
  825.   gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
  826.   gtk_window_set_title (GTK_WINDOW (intf_jump), _("Jump"));
  827.   gtk_window_set_policy (GTK_WINDOW (intf_jump), TRUE, TRUE, FALSE);
  828.   dialog_vbox3 = GTK_DIALOG (intf_jump)->vbox;
  829.   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_vbox3", dialog_vbox3);
  830.   gtk_widget_show (dialog_vbox3);
  831.   jump_frame = gtk_frame_new (_("Go To:"));
  832.   gtk_widget_ref (jump_frame);
  833.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
  834.                             (GtkDestroyNotify) gtk_widget_unref);
  835.   gtk_widget_show (jump_frame);
  836.   gtk_box_pack_start (GTK_BOX (dialog_vbox3), jump_frame, TRUE, TRUE, 0);
  837.   gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
  838.   gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
  839.   hbox13 = gtk_hbox_new (FALSE, 0);
  840.   gtk_widget_ref (hbox13);
  841.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "hbox13", hbox13,
  842.                             (GtkDestroyNotify) gtk_widget_unref);
  843.   gtk_widget_show (hbox13);
  844.   gtk_container_add (GTK_CONTAINER (jump_frame), hbox13);
  845.   jump_second_label = gtk_label_new (_("s."));
  846.   gtk_widget_ref (jump_second_label);
  847.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_label", jump_second_label,
  848.                             (GtkDestroyNotify) gtk_widget_unref);
  849.   gtk_widget_show (jump_second_label);
  850.   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_label, FALSE, FALSE, 5);
  851.   jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
  852.   jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
  853.   gtk_widget_ref (jump_second_spinbutton);
  854.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
  855.                             (GtkDestroyNotify) gtk_widget_unref);
  856.   gtk_widget_show (jump_second_spinbutton);
  857.   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_spinbutton, FALSE, TRUE, 0);
  858.   jump_minute_label = gtk_label_new (_("m:"));
  859.   gtk_widget_ref (jump_minute_label);
  860.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_label", jump_minute_label,
  861.                             (GtkDestroyNotify) gtk_widget_unref);
  862.   gtk_widget_show (jump_minute_label);
  863.   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_label, FALSE, FALSE, 5);
  864.   jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
  865.   jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
  866.   gtk_widget_ref (jump_minute_spinbutton);
  867.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
  868.                             (GtkDestroyNotify) gtk_widget_unref);
  869.   gtk_widget_show (jump_minute_spinbutton);
  870.   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_spinbutton, FALSE, TRUE, 0);
  871.   jump_hour_label = gtk_label_new (_("h:"));
  872.   gtk_widget_ref (jump_hour_label);
  873.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_label", jump_hour_label,
  874.                             (GtkDestroyNotify) gtk_widget_unref);
  875.   gtk_widget_show (jump_hour_label);
  876.   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_label, FALSE, FALSE, 5);
  877.   jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 12, 1, 10, 10);
  878.   jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
  879.   gtk_widget_ref (jump_hour_spinbutton);
  880.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
  881.                             (GtkDestroyNotify) gtk_widget_unref);
  882.   gtk_widget_show (jump_hour_spinbutton);
  883.   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_spinbutton, FALSE, TRUE, 0);
  884.   dialog_action_area2 = GTK_DIALOG (intf_jump)->action_area;
  885.   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_action_area2", dialog_action_area2);
  886.   gtk_widget_show (dialog_action_area2);
  887.   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area2), 10);
  888.   jump_ok_button = gtk_button_new_with_label (_("OK"));
  889.   gtk_widget_ref (jump_ok_button);
  890.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok_button", jump_ok_button,
  891.                             (GtkDestroyNotify) gtk_widget_unref);
  892.   gtk_widget_show (jump_ok_button);
  893.   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_ok_button, TRUE, TRUE, 0);
  894.   jump_cancel_button = gtk_button_new_with_label (_("Cancel"));
  895.   gtk_widget_ref (jump_cancel_button);
  896.   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel_button", jump_cancel_button,
  897.                             (GtkDestroyNotify) gtk_widget_unref);
  898.   gtk_widget_show (jump_cancel_button);
  899.   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_cancel_button, TRUE, TRUE, 0);
  900.   gtk_signal_connect (GTK_OBJECT (jump_ok_button), "clicked",
  901.                       GTK_SIGNAL_FUNC (GtkJumpOk),
  902.                       NULL);
  903.   gtk_signal_connect (GTK_OBJECT (jump_cancel_button), "clicked",
  904.                       GTK_SIGNAL_FUNC (GtkJumpCancel),
  905.                       NULL);
  906.   return intf_jump;
  907. }
  908. GtkWidget*
  909. create_intf_playlist (void)
  910. {
  911.   GtkWidget *intf_playlist;
  912.   GtkWidget *dialog_vbox4;
  913.   GtkWidget *playlist_menubar;
  914.   GtkWidget *playlist_add;
  915.   GtkWidget *playlist_add_menu;
  916.   GtkAccelGroup *playlist_add_menu_accels;
  917.   GtkWidget *playlist_add_disc;
  918.   GtkWidget *playlist_add_file;
  919.   GtkWidget *playlist_add_network;
  920.   GtkWidget *playlist_add_url;
  921.   GtkWidget *playlist_delete;
  922.   GtkWidget *playlist_delete_menu;
  923.   GtkAccelGroup *playlist_delete_menu_accels;
  924.   GtkWidget *playlist_delete_all;
  925.   GtkWidget *playlist_delete_selected;
  926.   GtkWidget *playlist_selection;
  927.   GtkWidget *playlist_selection_menu;
  928.   GtkAccelGroup *playlist_selection_menu_accels;
  929.   guint tmp_key;
  930.   GtkWidget *playlist_selection_crop;
  931.   GtkWidget *playlist_selection_invert;
  932.   GtkWidget *playlist_selection_select;
  933.   GtkWidget *scrolledwindow1;
  934.   GtkWidget *playlist_clist;
  935.   GtkWidget *label22;
  936.   GtkWidget *label23;
  937.   GtkWidget *dialog_action_area3;
  938.   GtkWidget *playlist_ok_button;
  939.   GtkWidget *playlist_cancel_button;
  940.   intf_playlist = gtk_dialog_new ();
  941.   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
  942.   gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
  943.   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
  944.   gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
  945.   dialog_vbox4 = GTK_DIALOG (intf_playlist)->vbox;
  946.   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_vbox4", dialog_vbox4);
  947.   gtk_widget_show (dialog_vbox4);
  948.   playlist_menubar = gtk_menu_bar_new ();
  949.   gtk_widget_ref (playlist_menubar);
  950.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
  951.                             (GtkDestroyNotify) gtk_widget_unref);
  952.   gtk_widget_show (playlist_menubar);
  953.   gtk_box_pack_start (GTK_BOX (dialog_vbox4), playlist_menubar, FALSE, FALSE, 0);
  954.   playlist_add = gtk_menu_item_new_with_label (_("Add"));
  955.   gtk_widget_ref (playlist_add);
  956.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add", playlist_add,
  957.                             (GtkDestroyNotify) gtk_widget_unref);
  958.   gtk_widget_show (playlist_add);
  959.   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_add);
  960.   playlist_add_menu = gtk_menu_new ();
  961.   gtk_widget_ref (playlist_add_menu);
  962.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_menu", playlist_add_menu,
  963.                             (GtkDestroyNotify) gtk_widget_unref);
  964.   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_add), playlist_add_menu);
  965.   playlist_add_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_add_menu));
  966.   playlist_add_disc = gtk_menu_item_new_with_label (_("Disc"));
  967.   gtk_widget_ref (playlist_add_disc);
  968.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc", playlist_add_disc,
  969.                             (GtkDestroyNotify) gtk_widget_unref);
  970.   gtk_widget_show (playlist_add_disc);
  971.   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_disc);
  972.   playlist_add_file = gtk_menu_item_new_with_label (_("File"));
  973.   gtk_widget_ref (playlist_add_file);
  974.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file", playlist_add_file,
  975.                             (GtkDestroyNotify) gtk_widget_unref);
  976.   gtk_widget_show (playlist_add_file);
  977.   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_file);
  978.   playlist_add_network = gtk_menu_item_new_with_label (_("Network"));
  979.   gtk_widget_ref (playlist_add_network);
  980.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network", playlist_add_network,
  981.                             (GtkDestroyNotify) gtk_widget_unref);
  982.   gtk_widget_show (playlist_add_network);
  983.   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_network);
  984.   playlist_add_url = gtk_menu_item_new_with_label (_("URL"));
  985.   gtk_widget_ref (playlist_add_url);
  986.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url", playlist_add_url,
  987.                             (GtkDestroyNotify) gtk_widget_unref);
  988.   gtk_widget_show (playlist_add_url);
  989.   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_url);
  990.   playlist_delete = gtk_menu_item_new_with_label (_("Delete"));
  991.   gtk_widget_ref (playlist_delete);
  992.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete", playlist_delete,
  993.                             (GtkDestroyNotify) gtk_widget_unref);
  994.   gtk_widget_show (playlist_delete);
  995.   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_delete);
  996.   playlist_delete_menu = gtk_menu_new ();
  997.   gtk_widget_ref (playlist_delete_menu);
  998.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_menu", playlist_delete_menu,
  999.                             (GtkDestroyNotify) gtk_widget_unref);
  1000.   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_delete), playlist_delete_menu);
  1001.   playlist_delete_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_delete_menu));
  1002.   playlist_delete_all = gtk_menu_item_new_with_label (_("All"));
  1003.   gtk_widget_ref (playlist_delete_all);
  1004.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all", playlist_delete_all,
  1005.                             (GtkDestroyNotify) gtk_widget_unref);
  1006.   gtk_widget_show (playlist_delete_all);
  1007.   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_all);
  1008.   playlist_delete_selected = gtk_menu_item_new_with_label (_("Selected"));
  1009.   gtk_widget_ref (playlist_delete_selected);
  1010.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_selected", playlist_delete_selected,
  1011.                             (GtkDestroyNotify) gtk_widget_unref);
  1012.   gtk_widget_show (playlist_delete_selected);
  1013.   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_selected);
  1014.   playlist_selection = gtk_menu_item_new_with_label (_("Selection"));
  1015.   gtk_widget_ref (playlist_selection);
  1016.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection", playlist_selection,
  1017.                             (GtkDestroyNotify) gtk_widget_unref);
  1018.   gtk_widget_show (playlist_selection);
  1019.   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_selection);
  1020.   playlist_selection_menu = gtk_menu_new ();
  1021.   gtk_widget_ref (playlist_selection_menu);
  1022.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_menu", playlist_selection_menu,
  1023.                             (GtkDestroyNotify) gtk_widget_unref);
  1024.   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_selection), playlist_selection_menu);
  1025.   playlist_selection_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_selection_menu));
  1026.   playlist_selection_crop = gtk_menu_item_new_with_label ("");
  1027.   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_crop)->child),
  1028.                                    _("_Crop"));
  1029.   gtk_widget_add_accelerator (playlist_selection_crop, "activate_item", playlist_selection_menu_accels,
  1030.                               tmp_key, 0, 0);
  1031.   gtk_widget_ref (playlist_selection_crop);
  1032.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop", playlist_selection_crop,
  1033.                             (GtkDestroyNotify) gtk_widget_unref);
  1034.   gtk_widget_show (playlist_selection_crop);
  1035.   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_crop);
  1036.   playlist_selection_invert = gtk_menu_item_new_with_label ("");
  1037.   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_invert)->child),
  1038.                                    _("_Invert"));
  1039.   gtk_widget_add_accelerator (playlist_selection_invert, "activate_item", playlist_selection_menu_accels,
  1040.                               tmp_key, 0, 0);
  1041.   gtk_widget_ref (playlist_selection_invert);
  1042.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert", playlist_selection_invert,
  1043.                             (GtkDestroyNotify) gtk_widget_unref);
  1044.   gtk_widget_show (playlist_selection_invert);
  1045.   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_invert);
  1046.   playlist_selection_select = gtk_menu_item_new_with_label ("");
  1047.   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_select)->child),
  1048.                                    _("_Select"));
  1049.   gtk_widget_add_accelerator (playlist_selection_select, "activate_item", playlist_selection_menu_accels,
  1050.                               tmp_key, 0, 0);
  1051.   gtk_widget_ref (playlist_selection_select);
  1052.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select", playlist_selection_select,
  1053.                             (GtkDestroyNotify) gtk_widget_unref);
  1054.   gtk_widget_show (playlist_selection_select);
  1055.   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_select);
  1056.   scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
  1057.   gtk_widget_ref (scrolledwindow1);
  1058.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow1", scrolledwindow1,
  1059.                             (GtkDestroyNotify) gtk_widget_unref);
  1060.   gtk_widget_show (scrolledwindow1);
  1061.   gtk_box_pack_start (GTK_BOX (dialog_vbox4), scrolledwindow1, TRUE, TRUE, 0);
  1062.   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  1063.   playlist_clist = gtk_clist_new (2);
  1064.   gtk_widget_ref (playlist_clist);
  1065.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
  1066.                             (GtkDestroyNotify) gtk_widget_unref);
  1067.   gtk_widget_show (playlist_clist);
  1068.   gtk_container_add (GTK_CONTAINER (scrolledwindow1), playlist_clist);
  1069.   gtk_container_set_border_width (GTK_CONTAINER (playlist_clist), 5);
  1070.   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 257);
  1071.   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 80);
  1072.   gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
  1073.   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
  1074.   gtk_clist_set_shadow_type (GTK_CLIST (playlist_clist), GTK_SHADOW_OUT);
  1075.   label22 = gtk_label_new (_("File"));
  1076.   gtk_widget_ref (label22);
  1077.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label22", label22,
  1078.                             (GtkDestroyNotify) gtk_widget_unref);
  1079.   gtk_widget_show (label22);
  1080.   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, label22);
  1081.   label23 = gtk_label_new (_("Duration"));
  1082.   gtk_widget_ref (label23);
  1083.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label23", label23,
  1084.                             (GtkDestroyNotify) gtk_widget_unref);
  1085.   gtk_widget_show (label23);
  1086.   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, label23);
  1087.   dialog_action_area3 = GTK_DIALOG (intf_playlist)->action_area;
  1088.   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_action_area3", dialog_action_area3);
  1089.   gtk_widget_show (dialog_action_area3);
  1090.   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area3), 10);
  1091.   playlist_ok_button = gtk_button_new_with_label (_("OK"));
  1092.   gtk_widget_ref (playlist_ok_button);
  1093.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok_button", playlist_ok_button,
  1094.                             (GtkDestroyNotify) gtk_widget_unref);
  1095.   gtk_widget_show (playlist_ok_button);
  1096.   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_ok_button, TRUE, TRUE, 0);
  1097.   playlist_cancel_button = gtk_button_new_with_label (_("Cancel"));
  1098.   gtk_widget_ref (playlist_cancel_button);
  1099.   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel_button", playlist_cancel_button,
  1100.                             (GtkDestroyNotify) gtk_widget_unref);
  1101.   gtk_widget_show (playlist_cancel_button);
  1102.   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_cancel_button, TRUE, TRUE, 0);
  1103.   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
  1104.                       GTK_SIGNAL_FUNC (gtk_widget_hide),
  1105.                       NULL);
  1106.   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
  1107.                       GTK_SIGNAL_FUNC (gtk_widget_hide),
  1108.                       NULL);
  1109.   gtk_signal_connect (GTK_OBJECT (playlist_add_disc), "activate",
  1110.                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
  1111.                       NULL);
  1112.   gtk_signal_connect (GTK_OBJECT (playlist_add_file), "activate",
  1113.                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
  1114.                       NULL);
  1115.   gtk_signal_connect (GTK_OBJECT (playlist_add_network), "activate",
  1116.                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
  1117.                       NULL);
  1118.   gtk_signal_connect (GTK_OBJECT (playlist_add_url), "activate",
  1119.                       GTK_SIGNAL_FUNC (GtkPlaylistAddUrl),
  1120.                       NULL);
  1121.   gtk_signal_connect (GTK_OBJECT (playlist_delete_all), "activate",
  1122.                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteAll),
  1123.                       NULL);
  1124.   gtk_signal_connect (GTK_OBJECT (playlist_delete_selected), "activate",
  1125.                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteSelected),
  1126.                       NULL);
  1127.   gtk_signal_connect (GTK_OBJECT (playlist_selection_crop), "activate",
  1128.                       GTK_SIGNAL_FUNC (GtkPlaylistCrop),
  1129.                       NULL);
  1130.   gtk_signal_connect (GTK_OBJECT (playlist_selection_invert), "activate",
  1131.                       GTK_SIGNAL_FUNC (GtkPlaylistInvert),
  1132.                       NULL);
  1133.   gtk_signal_connect (GTK_OBJECT (playlist_selection_select), "activate",
  1134.                       GTK_SIGNAL_FUNC (GtkPlaylistSelect),
  1135.                       NULL);
  1136.   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
  1137.                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
  1138.                       NULL);
  1139.   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
  1140.                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
  1141.                       NULL);
  1142.   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
  1143.                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
  1144.                       NULL);
  1145.   gtk_signal_connect (GTK_OBJECT (playlist_ok_button), "clicked",
  1146.                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
  1147.                       NULL);
  1148.   gtk_signal_connect (GTK_OBJECT (playlist_cancel_button), "clicked",
  1149.                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
  1150.                       NULL);
  1151.   return intf_playlist;
  1152. }
  1153. GtkWidget*
  1154. create_intf_messages (void)
  1155. {
  1156.   GtkWidget *intf_messages;
  1157.   GtkWidget *dialog_vbox6;
  1158.   GtkWidget *scrolledwindow2;
  1159.   GtkWidget *messages_textbox;
  1160.   GtkWidget *dialog_action_area5;
  1161.   GtkWidget *messages_ok;
  1162.   intf_messages = gtk_dialog_new ();
  1163.   gtk_object_set_data (GTK_OBJECT (intf_messages), "intf_messages", intf_messages);
  1164.   gtk_window_set_title (GTK_WINDOW (intf_messages), _("Messages"));
  1165.   gtk_window_set_default_size (GTK_WINDOW (intf_messages), 600, 400);
  1166.   gtk_window_set_policy (GTK_WINDOW (intf_messages), TRUE, TRUE, FALSE);
  1167.   dialog_vbox6 = GTK_DIALOG (intf_messages)->vbox;
  1168.   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
  1169.   gtk_widget_show (dialog_vbox6);
  1170.   scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
  1171.   gtk_widget_ref (scrolledwindow2);
  1172.   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "scrolledwindow2", scrolledwindow2,
  1173.                             (GtkDestroyNotify) gtk_widget_unref);
  1174.   gtk_widget_show (scrolledwindow2);
  1175.   gtk_box_pack_start (GTK_BOX (dialog_vbox6), scrolledwindow2, TRUE, TRUE, 0);
  1176.   gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 5);
  1177.   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
  1178.   messages_textbox = gtk_text_new (NULL, NULL);
  1179.   gtk_widget_ref (messages_textbox);
  1180.   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_textbox", messages_textbox,
  1181.                             (GtkDestroyNotify) gtk_widget_unref);
  1182.   gtk_widget_show (messages_textbox);
  1183.   gtk_container_add (GTK_CONTAINER (scrolledwindow2), messages_textbox);
  1184.   dialog_action_area5 = GTK_DIALOG (intf_messages)->action_area;
  1185.   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_action_area5", dialog_action_area5);
  1186.   gtk_widget_show (dialog_action_area5);
  1187.   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area5), 5);
  1188.   messages_ok = gtk_button_new_with_label (_("OK"));
  1189.   gtk_widget_ref (messages_ok);
  1190.   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_ok", messages_ok,
  1191.                             (GtkDestroyNotify) gtk_widget_unref);
  1192.   gtk_widget_show (messages_ok);
  1193.   gtk_box_pack_start (GTK_BOX (dialog_action_area5), messages_ok, FALSE, TRUE, 0);
  1194.   GTK_WIDGET_SET_FLAGS (messages_ok, GTK_CAN_DEFAULT);
  1195.   gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
  1196.                       GTK_SIGNAL_FUNC (GtkMessagesDelete),
  1197.                       NULL);
  1198.   gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
  1199.                       GTK_SIGNAL_FUNC (GtkMessagesOk),
  1200.                       NULL);
  1201.   gtk_widget_grab_default (messages_ok);
  1202.   return intf_messages;
  1203. }
  1204. GtkWidget*
  1205. create_intf_sout (void)
  1206. {
  1207.   GtkWidget *intf_sout;
  1208.   GtkWidget *vbox15;
  1209.   GtkWidget *vbox16;
  1210.   GtkWidget *frame11;
  1211.   GtkWidget *hbox28;
  1212.   GtkWidget *label38;
  1213.   GtkWidget *combo4;
  1214.   GtkWidget *sout_entry_target;
  1215.   GtkWidget *frame12;
  1216.   GtkWidget *table6;
  1217.   GSList *sout_access_group = NULL;
  1218.   GtkWidget *sout_access_file;
  1219.   GtkWidget *sout_access_udp;
  1220.   GtkWidget *sout_access_rtp;
  1221.   GtkWidget *sout_file_path_label;
  1222.   GtkWidget *combo6;
  1223.   GtkWidget *sout_file_path;
  1224.   GtkWidget *sout_udp_address_label;
  1225.   GtkWidget *sout_udp_address_combo;
  1226.   GtkWidget *sout_udp_address;
  1227.   GtkObject *sout_udp_port_adj;
  1228.   GtkWidget *sout_udp_port;
  1229.   GtkWidget *hbox29;
  1230.   GSList *sout_mux_group = NULL;
  1231.   GtkWidget *sout_mux_ts;
  1232.   GtkWidget *sout_mux_ps;
  1233.   GtkWidget *sout_mux_avi;
  1234.   GtkWidget *sout_udp_port_label;
  1235.   GtkWidget *hbox25;
  1236.   GtkWidget *hbox26;
  1237.   GtkWidget *button1;
  1238.   GtkWidget *button2;
  1239.   intf_sout = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  1240.   gtk_object_set_data (GTK_OBJECT (intf_sout), "intf_sout", intf_sout);
  1241.   gtk_container_set_border_width (GTK_CONTAINER (intf_sout), 5);
  1242.   gtk_window_set_title (GTK_WINDOW (intf_sout), _("Stream output"));
  1243.   gtk_window_set_modal (GTK_WINDOW (intf_sout), TRUE);
  1244.   vbox15 = gtk_vbox_new (FALSE, 0);
  1245.   gtk_widget_ref (vbox15);
  1246.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox15", vbox15,
  1247.                             (GtkDestroyNotify) gtk_widget_unref);
  1248.   gtk_widget_show (vbox15);
  1249.   gtk_container_add (GTK_CONTAINER (intf_sout), vbox15);
  1250.   vbox16 = gtk_vbox_new (FALSE, 0);
  1251.   gtk_widget_ref (vbox16);
  1252.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox16", vbox16,
  1253.                             (GtkDestroyNotify) gtk_widget_unref);
  1254.   gtk_widget_show (vbox16);
  1255.   gtk_box_pack_start (GTK_BOX (vbox15), vbox16, TRUE, TRUE, 0);
  1256.   frame11 = gtk_frame_new (_("Stream output (MRL)"));
  1257.   gtk_widget_ref (frame11);
  1258.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame11", frame11,
  1259.                             (GtkDestroyNotify) gtk_widget_unref);
  1260.   gtk_widget_show (frame11);
  1261.   gtk_box_pack_start (GTK_BOX (vbox16), frame11, FALSE, TRUE, 0);
  1262.   hbox28 = gtk_hbox_new (FALSE, 0);
  1263.   gtk_widget_ref (hbox28);
  1264.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox28", hbox28,
  1265.                             (GtkDestroyNotify) gtk_widget_unref);
  1266.   gtk_widget_show (hbox28);
  1267.   gtk_container_add (GTK_CONTAINER (frame11), hbox28);
  1268.   gtk_container_set_border_width (GTK_CONTAINER (hbox28), 5);
  1269.   label38 = gtk_label_new (_("Destination Target: "));
  1270.   gtk_widget_ref (label38);
  1271.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "label38", label38,
  1272.                             (GtkDestroyNotify) gtk_widget_unref);
  1273.   gtk_widget_show (label38);
  1274.   gtk_box_pack_start (GTK_BOX (hbox28), label38, FALSE, FALSE, 0);
  1275.   combo4 = gtk_combo_new ();
  1276.   gtk_widget_ref (combo4);
  1277.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo4", combo4,
  1278.                             (GtkDestroyNotify) gtk_widget_unref);
  1279.   gtk_widget_show (combo4);
  1280.   gtk_box_pack_start (GTK_BOX (hbox28), combo4, TRUE, TRUE, 0);
  1281.   sout_entry_target = GTK_COMBO (combo4)->entry;
  1282.   gtk_widget_ref (sout_entry_target);
  1283.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_entry_target", sout_entry_target,
  1284.                             (GtkDestroyNotify) gtk_widget_unref);
  1285.   gtk_widget_show (sout_entry_target);
  1286.   frame12 = gtk_frame_new (NULL);
  1287.   gtk_widget_ref (frame12);
  1288.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame12", frame12,
  1289.                             (GtkDestroyNotify) gtk_widget_unref);
  1290.   gtk_widget_show (frame12);
  1291.   gtk_box_pack_start (GTK_BOX (vbox16), frame12, TRUE, TRUE, 0);
  1292.   table6 = gtk_table_new (3, 5, FALSE);
  1293.   gtk_widget_ref (table6);
  1294.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "table6", table6,
  1295.                             (GtkDestroyNotify) gtk_widget_unref);
  1296.   gtk_widget_show (table6);
  1297.   gtk_container_add (GTK_CONTAINER (frame12), table6);
  1298.   gtk_table_set_row_spacings (GTK_TABLE (table6), 5);
  1299.   gtk_table_set_col_spacings (GTK_TABLE (table6), 5);
  1300.   sout_access_file = gtk_radio_button_new_with_label (sout_access_group, _("File"));
  1301.   sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_file));
  1302.   gtk_widget_ref (sout_access_file);
  1303.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_file", sout_access_file,
  1304.                             (GtkDestroyNotify) gtk_widget_unref);
  1305.   gtk_widget_show (sout_access_file);
  1306.   gtk_table_attach (GTK_TABLE (table6), sout_access_file, 0, 1, 0, 1,
  1307.                     (GtkAttachOptions) (GTK_FILL),
  1308.                     (GtkAttachOptions) (0), 0, 0);
  1309.   sout_access_udp = gtk_radio_button_new_with_label (sout_access_group, "UDP");
  1310.   sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_udp));
  1311.   gtk_widget_ref (sout_access_udp);
  1312.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_udp", sout_access_udp,
  1313.                             (GtkDestroyNotify) gtk_widget_unref);
  1314.   gtk_widget_show (sout_access_udp);
  1315.   gtk_table_attach (GTK_TABLE (table6), sout_access_udp, 0, 1, 1, 2,
  1316.                     (GtkAttachOptions) (GTK_FILL),
  1317.                     (GtkAttachOptions) (0), 0, 0);
  1318.   sout_access_rtp = gtk_radio_button_new_with_label (sout_access_group, "RTP");
  1319.   sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_rtp));
  1320.   gtk_widget_ref (sout_access_rtp);
  1321.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_rtp", sout_access_rtp,
  1322.                             (GtkDestroyNotify) gtk_widget_unref);
  1323.   gtk_widget_show (sout_access_rtp);
  1324.   gtk_table_attach (GTK_TABLE (table6), sout_access_rtp, 0, 1, 2, 3,
  1325.                     (GtkAttachOptions) (GTK_FILL),
  1326.                     (GtkAttachOptions) (0), 0, 0);
  1327.   sout_file_path_label = gtk_label_new (_("Path:"));
  1328.   gtk_widget_ref (sout_file_path_label);
  1329.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path_label", sout_file_path_label,
  1330.                             (GtkDestroyNotify) gtk_widget_unref);
  1331.   gtk_widget_show (sout_file_path_label);
  1332.   gtk_table_attach (GTK_TABLE (table6), sout_file_path_label, 1, 2, 0, 1,
  1333.                     (GtkAttachOptions) (GTK_FILL),
  1334.                     (GtkAttachOptions) (0), 0, 0);
  1335.   gtk_misc_set_alignment (GTK_MISC (sout_file_path_label), 0, 0.5);
  1336.   combo6 = gtk_combo_new ();
  1337.   gtk_widget_ref (combo6);
  1338.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo6", combo6,
  1339.                             (GtkDestroyNotify) gtk_widget_unref);
  1340.   gtk_widget_show (combo6);
  1341.   gtk_table_attach (GTK_TABLE (table6), combo6, 2, 5, 0, 1,
  1342.                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
  1343.                     (GtkAttachOptions) (0), 0, 0);
  1344.   sout_file_path = GTK_COMBO (combo6)->entry;
  1345.   gtk_widget_ref (sout_file_path);
  1346.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path", sout_file_path,
  1347.                             (GtkDestroyNotify) gtk_widget_unref);
  1348.   gtk_widget_show (sout_file_path);
  1349.   sout_udp_address_label = gtk_label_new (_("Address:"));
  1350.   gtk_widget_ref (sout_udp_address_label);
  1351.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_label", sout_udp_address_label,
  1352.                             (GtkDestroyNotify) gtk_widget_unref);
  1353.   gtk_widget_show (sout_udp_address_label);
  1354.   gtk_table_attach (GTK_TABLE (table6), sout_udp_address_label, 1, 2, 1, 2,
  1355.                     (GtkAttachOptions) (GTK_FILL),
  1356.                     (GtkAttachOptions) (0), 0, 0);
  1357.   gtk_misc_set_alignment (GTK_MISC (sout_udp_address_label), 0, 0.5);
  1358.   sout_udp_address_combo = gtk_combo_new ();
  1359.   gtk_widget_ref (sout_udp_address_combo);
  1360.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_combo", sout_udp_address_combo,
  1361.                             (GtkDestroyNotify) gtk_widget_unref);
  1362.   gtk_widget_show (sout_udp_address_combo);
  1363.   gtk_table_attach (GTK_TABLE (table6), sout_udp_address_combo, 2, 3, 1, 2,
  1364.                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
  1365.                     (GtkAttachOptions) (0), 0, 0);
  1366.   sout_udp_address = GTK_COMBO (sout_udp_address_combo)->entry;
  1367.   gtk_widget_ref (sout_udp_address);
  1368.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address", sout_udp_address,
  1369.                             (GtkDestroyNotify) gtk_widget_unref);
  1370.   gtk_widget_show (sout_udp_address);
  1371.   sout_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
  1372.   sout_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (sout_udp_port_adj), 1, 0);
  1373.   gtk_widget_ref (sout_udp_port);
  1374.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port", sout_udp_port,
  1375.                             (GtkDestroyNotify) gtk_widget_unref);
  1376.   gtk_widget_show (sout_udp_port);
  1377.   gtk_table_attach (GTK_TABLE (table6), sout_udp_port, 4, 5, 1, 2,
  1378.                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
  1379.                     (GtkAttachOptions) (0), 0, 0);
  1380.   hbox29 = gtk_hbox_new (FALSE, 0);
  1381.   gtk_widget_ref (hbox29);
  1382.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox29", hbox29,
  1383.                             (GtkDestroyNotify) gtk_widget_unref);
  1384.   gtk_widget_show (hbox29);
  1385.   gtk_table_attach (GTK_TABLE (table6), hbox29, 4, 5, 2, 3,
  1386.                     (GtkAttachOptions) (GTK_FILL),
  1387.                     (GtkAttachOptions) (GTK_FILL), 0, 0);
  1388.   sout_mux_ts = gtk_radio_button_new_with_label (sout_mux_group, _("TS"));
  1389.   sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ts));
  1390.   gtk_widget_ref (sout_mux_ts);
  1391.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ts", sout_mux_ts,
  1392.                             (GtkDestroyNotify) gtk_widget_unref);
  1393.   gtk_widget_show (sout_mux_ts);
  1394.   gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_ts, FALSE, FALSE, 0);
  1395.   sout_mux_ps = gtk_radio_button_new_with_label (sout_mux_group, _("PS"));
  1396.   sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ps));
  1397.   gtk_widget_ref (sout_mux_ps);
  1398.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ps", sout_mux_ps,
  1399.                             (GtkDestroyNotify) gtk_widget_unref);
  1400.   gtk_widget_show (sout_mux_ps);
  1401.   gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_ps, FALSE, FALSE, 0);
  1402.   sout_mux_avi = gtk_radio_button_new_with_label (sout_mux_group, _("AVI"));
  1403.   sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_avi));
  1404.   gtk_widget_ref (sout_mux_avi);
  1405.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_avi", sout_mux_avi,
  1406.                             (GtkDestroyNotify) gtk_widget_unref);
  1407.   gtk_widget_show (sout_mux_avi);
  1408.   gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_avi, FALSE, FALSE, 0);
  1409.   sout_udp_port_label = gtk_label_new (_("Port"));
  1410.   gtk_widget_ref (sout_udp_port_label);
  1411.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port_label", sout_udp_port_label,
  1412.                             (GtkDestroyNotify) gtk_widget_unref);
  1413.   gtk_widget_show (sout_udp_port_label);
  1414.   gtk_table_attach (GTK_TABLE (table6), sout_udp_port_label, 3, 4, 1, 2,
  1415.                     (GtkAttachOptions) (GTK_FILL),
  1416.                     (GtkAttachOptions) (0), 0, 0);
  1417.   gtk_misc_set_alignment (GTK_MISC (sout_udp_port_label), 0, 0.5);
  1418.   hbox25 = gtk_hbox_new (FALSE, 0);
  1419.   gtk_widget_ref (hbox25);
  1420.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox25", hbox25,
  1421.                             (GtkDestroyNotify) gtk_widget_unref);
  1422.   gtk_widget_show (hbox25);
  1423.   gtk_box_pack_end (GTK_BOX (vbox15), hbox25, FALSE, TRUE, 0);
  1424.   gtk_container_set_border_width (GTK_CONTAINER (hbox25), 5);
  1425.   hbox26 = gtk_hbox_new (FALSE, 0);
  1426.   gtk_widget_ref (hbox26);
  1427.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox26", hbox26,
  1428.                             (GtkDestroyNotify) gtk_widget_unref);
  1429.   gtk_widget_show (hbox26);
  1430.   gtk_box_pack_end (GTK_BOX (hbox25), hbox26, TRUE, TRUE, 3);
  1431.   button1 = gtk_button_new_with_label (_("OK"));
  1432.   gtk_widget_ref (button1);
  1433.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button1", button1,
  1434.                             (GtkDestroyNotify) gtk_widget_unref);
  1435.   gtk_widget_show (button1);
  1436.   gtk_box_pack_start (GTK_BOX (hbox26), button1, TRUE, TRUE, 2);
  1437.   button2 = gtk_button_new_with_label (_("Cancel"));
  1438.   gtk_widget_ref (button2);
  1439.   gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button2", button2,
  1440.                             (GtkDestroyNotify) gtk_widget_unref);
  1441.   gtk_widget_show (button2);
  1442.   gtk_box_pack_start (GTK_BOX (hbox26), button2, TRUE, TRUE, 2);
  1443.   gtk_signal_connect (GTK_OBJECT (sout_access_file), "toggled",
  1444.                       GTK_SIGNAL_FUNC (GtkSoutSettingsAccessFile),
  1445.                       NULL);
  1446.   gtk_signal_connect (GTK_OBJECT (sout_access_udp), "toggled",
  1447.                       GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
  1448.                       NULL);
  1449.   gtk_signal_connect (GTK_OBJECT (sout_access_rtp), "toggled",
  1450.                       GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
  1451.                       NULL);
  1452.   gtk_signal_connect (GTK_OBJECT (sout_file_path), "changed",
  1453.                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
  1454.                       NULL);
  1455.   gtk_signal_connect (GTK_OBJECT (sout_udp_address), "changed",
  1456.                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
  1457.                       NULL);
  1458.   gtk_signal_connect (GTK_OBJECT (sout_udp_port), "changed",
  1459.                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
  1460.                       NULL);
  1461.   gtk_signal_connect (GTK_OBJECT (sout_mux_ts), "toggled",
  1462.                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
  1463.                       NULL);
  1464.   gtk_signal_connect (GTK_OBJECT (sout_mux_ps), "toggled",
  1465.                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
  1466.                       NULL);
  1467.   gtk_signal_connect (GTK_OBJECT (sout_mux_avi), "toggled",
  1468.                       GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
  1469.                       NULL);
  1470.   gtk_signal_connect (GTK_OBJECT (button1), "clicked",
  1471.                       GTK_SIGNAL_FUNC (GtkSoutSettingsOk),
  1472.                       NULL);
  1473.   gtk_signal_connect (GTK_OBJECT (button2), "clicked",
  1474.                       GTK_SIGNAL_FUNC (GtkSoutSettingsCancel),
  1475.                       NULL);
  1476.   return intf_sout;
  1477. }