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

多媒体

开发平台:

MultiPlatform

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