comparison src/crossfade/interface-2.0.c @ 3129:130edf534967

crossfade plugin code cleanups
author Michal Lipski <tallica@o2.pl>
date Thu, 07 May 2009 05:05:16 +0200
parents 8c772d3a5346
children 1f93338f564f
comparison
equal deleted inserted replaced
3128:28610ff7cda6 3129:130edf534967
31 { 31 {
32 GtkWidget *config_win; 32 GtkWidget *config_win;
33 GtkWidget *config_vbox; 33 GtkWidget *config_vbox;
34 GtkWidget *config_notebook; 34 GtkWidget *config_notebook;
35 GtkWidget *config_output_page; 35 GtkWidget *config_output_page;
36 GtkWidget *output_options_hbox; 36 GtkWidget *output_plugin_vbox;
37 GtkWidget *output_resampling_frame;
38 GtkWidget *output_resampling_table;
39 GtkWidget *resampling_rate_optionmenu;
40 GtkWidget *menu1;
41 GtkWidget *resampling_rate_optionmenu_dummy;
42 GtkWidget *resampling_quality_optionmenu;
43 GtkWidget *menu2;
44 GtkWidget *resampling_quality_optionmenu_dummy;
45 GtkWidget *resampling_rate_hbox;
46 GtkWidget *resampling_rate_label;
47 GtkWidget *resampling_quality_hbox;
48 GtkWidget *resampling_quality_label;
49 GtkWidget *output_resampling_frame_label;
50 GtkWidget *output_notebook;
51 GtkWidget *output_oss_page;
52 GtkWidget *output_oss_notebook;
53 GtkWidget *oss_device_page;
54 GtkWidget *oss_adevice_frame;
55 GtkWidget *oss_adevice_vbox;
56 GtkWidget *oss_adevice_hbox;
57 GtkWidget *oss_adevice_optionmenu;
58 GtkWidget *oss_adevice_optionmenu_menu;
59 GtkWidget *oss_adevice_optionmenu_dummy;
60 GtkWidget *oss_adevice_alt_hbox;
61 GtkWidget *oss_adevice_alt_check;
62 GtkWidget *oss_adevice_alt_entry;
63 GtkWidget *label3;
64 GtkWidget *oss_mdevice_frame;
65 GtkWidget *oss_mdevice_vbox;
66 GtkWidget *oss_mdevice_hbox;
67 GtkWidget *oss_mdevice_optionmenu;
68 GtkWidget *oss_mdevice_optionmenu_menu;
69 GtkWidget *oss_mdevice_optionmenu_dummy;
70 GtkWidget *oss_mdevice_alt_hbox;
71 GtkWidget *oss_mdevice_alt_check;
72 GtkWidget *oss_mdevice_alt_entry;
73 GtkWidget *label4;
74 GtkWidget *oss_device_label;
75 GtkWidget *oss_buffer_page;
76 GtkWidget *oss_buffer_frame;
77 GtkWidget *oss_buffer_vbox;
78 GtkWidget *ossbuf_buffer_hbox;
79 GtkWidget *ossbuf_buffer_label;
80 GtkObject *ossbuf_buffer_spin_adj;
81 GtkWidget *ossbuf_buffer_spin;
82 GtkWidget *ossbuf_preload_hbox;
83 GtkWidget *ossbuf_preload_label;
84 GtkObject *ossbuf_preload_spin_adj;
85 GtkWidget *ossbuf_preload_spin;
86 GtkWidget *label5;
87 GtkWidget *oss_hwbuf_frame;
88 GtkWidget *oss_hwbuf_vbox;
89 GtkWidget *osshwb_maxbuf_check;
90 GtkWidget *osshwb_fragments_hbox;
91 GtkWidget *osshwb_fragments_label;
92 GtkObject *osshwb_fragments_spin_adj;
93 GtkWidget *osshwb_fragments_spin;
94 GtkWidget *osshwb_fragsize_hbox;
95 GtkWidget *osshwb_fragsize_label;
96 GtkObject *osshwb_fragsize_spin_adj;
97 GtkWidget *osshwb_fragsize_spin;
98 GtkWidget *label6;
99 GtkWidget *oss_buffer_label;
100 GtkWidget *oss_mixer_page;
101 GtkWidget *oss_mixer_frame;
102 GtkWidget *oss_mixer_vbox;
103 GtkWidget *ossmixer_pcm_check;
104 GtkWidget *label7;
105 GtkWidget *oss_mixer_label;
106 GtkWidget *output_plugin_label;
107 GtkWidget *output_plugin_page;
108 GtkWidget *op_plugin_frame; 37 GtkWidget *op_plugin_frame;
109 GtkWidget *op_plugin_vbox; 38 GtkWidget *op_plugin_vbox;
110 GtkWidget *op_plugin_optionmenu; 39 GtkWidget *op_plugin_optionmenu;
111 GtkWidget *op_plugin_optionmenu_menu; 40 GtkWidget *op_plugin_optionmenu_menu;
112 GtkWidget *op_plugin_optionmenu_dummy; 41 GtkWidget *op_plugin_optionmenu_dummy;
121 GtkWidget *op_maxblock_check; 50 GtkWidget *op_maxblock_check;
122 GtkObject *op_maxblock_spin_adj; 51 GtkObject *op_maxblock_spin_adj;
123 GtkWidget *op_maxblock_spin; 52 GtkWidget *op_maxblock_spin;
124 GtkWidget *op_forcereopen_check; 53 GtkWidget *op_forcereopen_check;
125 GtkWidget *label9; 54 GtkWidget *label9;
126 GtkWidget *output_oss_label;
127 GtkWidget *empty_notebook_page; 55 GtkWidget *empty_notebook_page;
128 GtkWidget *output_null_label;
129 GtkWidget *output_help_label; 56 GtkWidget *output_help_label;
130 GtkWidget *config_devices_label; 57 GtkWidget *config_devices_label;
131 GtkWidget *config_crossfader_page; 58 GtkWidget *config_crossfader_page;
132 GtkWidget *xf_bufsize_hbox; 59 GtkWidget *xf_bufsize_hbox;
133 GtkWidget *xf_bufsize_label; 60 GtkWidget *xf_bufsize_label;
376 config_output_page = gtk_vbox_new (FALSE, 5); 303 config_output_page = gtk_vbox_new (FALSE, 5);
377 gtk_widget_show (config_output_page); 304 gtk_widget_show (config_output_page);
378 gtk_container_add (GTK_CONTAINER (config_notebook), config_output_page); 305 gtk_container_add (GTK_CONTAINER (config_notebook), config_output_page);
379 gtk_container_set_border_width (GTK_CONTAINER (config_output_page), 5); 306 gtk_container_set_border_width (GTK_CONTAINER (config_output_page), 5);
380 307
381 output_options_hbox = gtk_hbox_new (FALSE, 6); 308 output_plugin_vbox = gtk_vbox_new (FALSE, 5);
382 gtk_widget_show (output_options_hbox); 309 gtk_widget_show (output_plugin_vbox);
383 gtk_box_pack_start (GTK_BOX (config_output_page), output_options_hbox, FALSE, TRUE, 0); 310 gtk_container_add (GTK_CONTAINER (config_output_page), output_plugin_vbox);
384
385 output_resampling_frame = gtk_frame_new (NULL);
386 gtk_widget_show (output_resampling_frame);
387 gtk_box_pack_start (GTK_BOX (output_options_hbox), output_resampling_frame, FALSE, FALSE, 0);
388
389 output_resampling_table = gtk_table_new (2, 2, FALSE);
390 gtk_widget_show (output_resampling_table);
391 gtk_container_add (GTK_CONTAINER (output_resampling_frame), output_resampling_table);
392 gtk_container_set_border_width (GTK_CONTAINER (output_resampling_table), 5);
393 gtk_table_set_row_spacings (GTK_TABLE (output_resampling_table), 2);
394 gtk_table_set_col_spacings (GTK_TABLE (output_resampling_table), 2);
395
396 resampling_rate_optionmenu = gtk_option_menu_new ();
397 gtk_widget_show (resampling_rate_optionmenu);
398 gtk_table_attach (GTK_TABLE (output_resampling_table), resampling_rate_optionmenu, 1, 2, 0, 1,
399 (GtkAttachOptions) (GTK_FILL),
400 (GtkAttachOptions) (0), 0, 0);
401 gtk_tooltips_set_tip (tooltips, resampling_rate_optionmenu, "Set sampling rate for mixing buffer.\nDefault: 44100", NULL);
402
403 menu1 = gtk_menu_new ();
404
405 resampling_rate_optionmenu_dummy = gtk_menu_item_new_with_mnemonic ("dummy");
406 gtk_widget_show (resampling_rate_optionmenu_dummy);
407 gtk_container_add (GTK_CONTAINER (menu1), resampling_rate_optionmenu_dummy);
408
409 gtk_option_menu_set_menu (GTK_OPTION_MENU (resampling_rate_optionmenu), menu1);
410
411 resampling_quality_optionmenu = gtk_option_menu_new ();
412 gtk_widget_show (resampling_quality_optionmenu);
413 gtk_table_attach (GTK_TABLE (output_resampling_table), resampling_quality_optionmenu, 1, 2, 1, 2,
414 (GtkAttachOptions) (GTK_FILL),
415 (GtkAttachOptions) (0), 0, 0);
416 gtk_tooltips_set_tip (tooltips, resampling_quality_optionmenu, "Set resampling algorithm.", NULL);
417
418 menu2 = gtk_menu_new ();
419
420 resampling_quality_optionmenu_dummy = gtk_menu_item_new_with_mnemonic ("dummy");
421 gtk_widget_show (resampling_quality_optionmenu_dummy);
422 gtk_container_add (GTK_CONTAINER (menu2), resampling_quality_optionmenu_dummy);
423
424 gtk_option_menu_set_menu (GTK_OPTION_MENU (resampling_quality_optionmenu), menu2);
425
426 resampling_rate_hbox = gtk_hbox_new (FALSE, 0);
427 gtk_widget_show (resampling_rate_hbox);
428 gtk_table_attach (GTK_TABLE (output_resampling_table), resampling_rate_hbox, 0, 1, 0, 1,
429 (GtkAttachOptions) (GTK_FILL),
430 (GtkAttachOptions) (GTK_FILL), 0, 0);
431
432 resampling_rate_label = gtk_label_new ("Rate:");
433 gtk_widget_show (resampling_rate_label);
434 gtk_box_pack_end (GTK_BOX (resampling_rate_hbox), resampling_rate_label, FALSE, FALSE, 0);
435 gtk_label_set_justify (GTK_LABEL (resampling_rate_label), GTK_JUSTIFY_CENTER);
436
437 resampling_quality_hbox = gtk_hbox_new (FALSE, 0);
438 gtk_widget_show (resampling_quality_hbox);
439 gtk_table_attach (GTK_TABLE (output_resampling_table), resampling_quality_hbox, 0, 1, 1, 2,
440 (GtkAttachOptions) (GTK_FILL),
441 (GtkAttachOptions) (GTK_FILL), 0, 0);
442
443 resampling_quality_label = gtk_label_new ("Quality:");
444 gtk_widget_show (resampling_quality_label);
445 gtk_box_pack_end (GTK_BOX (resampling_quality_hbox), resampling_quality_label, FALSE, FALSE, 0);
446 gtk_label_set_justify (GTK_LABEL (resampling_quality_label), GTK_JUSTIFY_CENTER);
447
448 output_resampling_frame_label = gtk_label_new ("Resampling");
449 gtk_widget_show (output_resampling_frame_label);
450 gtk_frame_set_label_widget (GTK_FRAME (output_resampling_frame), output_resampling_frame_label);
451
452 output_notebook = gtk_notebook_new ();
453 gtk_widget_show (output_notebook);
454 gtk_box_pack_start (GTK_BOX (config_output_page), output_notebook, FALSE, TRUE, 0);
455 GTK_WIDGET_UNSET_FLAGS (output_notebook, GTK_CAN_FOCUS);
456 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (output_notebook), FALSE);
457 gtk_notebook_set_show_border (GTK_NOTEBOOK (output_notebook), FALSE);
458
459 output_oss_page = gtk_vbox_new (FALSE, 5);
460 gtk_widget_show (output_oss_page);
461 gtk_container_add (GTK_CONTAINER (output_notebook), output_oss_page);
462
463 output_oss_notebook = gtk_notebook_new ();
464 gtk_widget_show (output_oss_notebook);
465 gtk_box_pack_start (GTK_BOX (output_oss_page), output_oss_notebook, FALSE, FALSE, 0);
466
467 oss_device_page = gtk_vbox_new (FALSE, 5);
468 gtk_widget_show (oss_device_page);
469 gtk_container_add (GTK_CONTAINER (output_oss_notebook), oss_device_page);
470 gtk_container_set_border_width (GTK_CONTAINER (oss_device_page), 5);
471
472 oss_adevice_frame = gtk_frame_new (NULL);
473 gtk_widget_show (oss_adevice_frame);
474 gtk_box_pack_start (GTK_BOX (oss_device_page), oss_adevice_frame, FALSE, FALSE, 0);
475
476 oss_adevice_vbox = gtk_vbox_new (FALSE, 2);
477 gtk_widget_show (oss_adevice_vbox);
478 gtk_container_add (GTK_CONTAINER (oss_adevice_frame), oss_adevice_vbox);
479 gtk_container_set_border_width (GTK_CONTAINER (oss_adevice_vbox), 5);
480
481 oss_adevice_hbox = gtk_hbox_new (FALSE, 0);
482 gtk_widget_show (oss_adevice_hbox);
483 gtk_box_pack_start (GTK_BOX (oss_adevice_vbox), oss_adevice_hbox, TRUE, TRUE, 0);
484
485 oss_adevice_optionmenu = gtk_option_menu_new ();
486 gtk_widget_show (oss_adevice_optionmenu);
487 gtk_box_pack_start (GTK_BOX (oss_adevice_hbox), oss_adevice_optionmenu, TRUE, TRUE, 0);
488
489 oss_adevice_optionmenu_menu = gtk_menu_new ();
490
491 oss_adevice_optionmenu_dummy = gtk_menu_item_new_with_mnemonic ("dummy");
492 gtk_widget_show (oss_adevice_optionmenu_dummy);
493 gtk_container_add (GTK_CONTAINER (oss_adevice_optionmenu_menu), oss_adevice_optionmenu_dummy);
494
495 gtk_option_menu_set_menu (GTK_OPTION_MENU (oss_adevice_optionmenu), oss_adevice_optionmenu_menu);
496
497 oss_adevice_alt_hbox = gtk_hbox_new (FALSE, 0);
498 gtk_widget_show (oss_adevice_alt_hbox);
499 gtk_box_pack_start (GTK_BOX (oss_adevice_vbox), oss_adevice_alt_hbox, TRUE, TRUE, 0);
500
501 oss_adevice_alt_check = gtk_check_button_new_with_mnemonic ("Use alternate device:");
502 gtk_widget_show (oss_adevice_alt_check);
503 gtk_box_pack_start (GTK_BOX (oss_adevice_alt_hbox), oss_adevice_alt_check, FALSE, FALSE, 0);
504
505 oss_adevice_alt_entry = gtk_entry_new ();
506 gtk_widget_show (oss_adevice_alt_entry);
507 gtk_box_pack_start (GTK_BOX (oss_adevice_alt_hbox), oss_adevice_alt_entry, TRUE, TRUE, 0);
508
509 label3 = gtk_label_new ("Audio device");
510 gtk_widget_show (label3);
511 gtk_frame_set_label_widget (GTK_FRAME (oss_adevice_frame), label3);
512
513 oss_mdevice_frame = gtk_frame_new (NULL);
514 gtk_widget_show (oss_mdevice_frame);
515 gtk_box_pack_start (GTK_BOX (oss_device_page), oss_mdevice_frame, FALSE, FALSE, 0);
516
517 oss_mdevice_vbox = gtk_vbox_new (FALSE, 2);
518 gtk_widget_show (oss_mdevice_vbox);
519 gtk_container_add (GTK_CONTAINER (oss_mdevice_frame), oss_mdevice_vbox);
520 gtk_container_set_border_width (GTK_CONTAINER (oss_mdevice_vbox), 5);
521
522 oss_mdevice_hbox = gtk_hbox_new (FALSE, 0);
523 gtk_widget_show (oss_mdevice_hbox);
524 gtk_box_pack_start (GTK_BOX (oss_mdevice_vbox), oss_mdevice_hbox, TRUE, TRUE, 0);
525
526 oss_mdevice_optionmenu = gtk_option_menu_new ();
527 gtk_widget_show (oss_mdevice_optionmenu);
528 gtk_box_pack_start (GTK_BOX (oss_mdevice_hbox), oss_mdevice_optionmenu, TRUE, TRUE, 0);
529
530 oss_mdevice_optionmenu_menu = gtk_menu_new ();
531
532 oss_mdevice_optionmenu_dummy = gtk_menu_item_new_with_mnemonic ("dummy");
533 gtk_widget_show (oss_mdevice_optionmenu_dummy);
534 gtk_container_add (GTK_CONTAINER (oss_mdevice_optionmenu_menu), oss_mdevice_optionmenu_dummy);
535
536 gtk_option_menu_set_menu (GTK_OPTION_MENU (oss_mdevice_optionmenu), oss_mdevice_optionmenu_menu);
537
538 oss_mdevice_alt_hbox = gtk_hbox_new (FALSE, 0);
539 gtk_widget_show (oss_mdevice_alt_hbox);
540 gtk_box_pack_start (GTK_BOX (oss_mdevice_vbox), oss_mdevice_alt_hbox, FALSE, FALSE, 0);
541
542 oss_mdevice_alt_check = gtk_check_button_new_with_mnemonic ("Use alternate device:");
543 gtk_widget_show (oss_mdevice_alt_check);
544 gtk_box_pack_start (GTK_BOX (oss_mdevice_alt_hbox), oss_mdevice_alt_check, FALSE, FALSE, 0);
545
546 oss_mdevice_alt_entry = gtk_entry_new ();
547 gtk_widget_show (oss_mdevice_alt_entry);
548 gtk_box_pack_start (GTK_BOX (oss_mdevice_alt_hbox), oss_mdevice_alt_entry, TRUE, TRUE, 0);
549
550 label4 = gtk_label_new ("Mixer device");
551 gtk_widget_show (label4);
552 gtk_frame_set_label_widget (GTK_FRAME (oss_mdevice_frame), label4);
553
554 oss_device_label = gtk_label_new ("Device");
555 gtk_widget_show (oss_device_label);
556 gtk_notebook_set_tab_label (GTK_NOTEBOOK (output_oss_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (output_oss_notebook), 0), oss_device_label);
557 gtk_label_set_justify (GTK_LABEL (oss_device_label), GTK_JUSTIFY_CENTER);
558
559 oss_buffer_page = gtk_vbox_new (FALSE, 5);
560 gtk_widget_show (oss_buffer_page);
561 gtk_container_add (GTK_CONTAINER (output_oss_notebook), oss_buffer_page);
562 gtk_container_set_border_width (GTK_CONTAINER (oss_buffer_page), 5);
563
564 oss_buffer_frame = gtk_frame_new (NULL);
565 gtk_widget_show (oss_buffer_frame);
566 gtk_box_pack_start (GTK_BOX (oss_buffer_page), oss_buffer_frame, FALSE, FALSE, 0);
567
568 oss_buffer_vbox = gtk_vbox_new (FALSE, 2);
569 gtk_widget_show (oss_buffer_vbox);
570 gtk_container_add (GTK_CONTAINER (oss_buffer_frame), oss_buffer_vbox);
571 gtk_container_set_border_width (GTK_CONTAINER (oss_buffer_vbox), 5);
572
573 ossbuf_buffer_hbox = gtk_hbox_new (FALSE, 5);
574 gtk_widget_show (ossbuf_buffer_hbox);
575 gtk_box_pack_start (GTK_BOX (oss_buffer_vbox), ossbuf_buffer_hbox, FALSE, FALSE, 0);
576
577 ossbuf_buffer_label = gtk_label_new ("Buffer size (ms):");
578 gtk_widget_show (ossbuf_buffer_label);
579 gtk_box_pack_start (GTK_BOX (ossbuf_buffer_hbox), ossbuf_buffer_label, FALSE, FALSE, 0);
580
581 ossbuf_buffer_spin_adj = gtk_adjustment_new (0, 0, 60000, 10, 100, 10);
582 ossbuf_buffer_spin = gtk_spin_button_new (GTK_ADJUSTMENT (ossbuf_buffer_spin_adj), 0, 0);
583 gtk_widget_show (ossbuf_buffer_spin);
584 gtk_box_pack_start (GTK_BOX (ossbuf_buffer_hbox), ossbuf_buffer_spin, TRUE, TRUE, 0);
585 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (ossbuf_buffer_spin), TRUE);
586
587 ossbuf_preload_hbox = gtk_hbox_new (FALSE, 5);
588 gtk_widget_show (ossbuf_preload_hbox);
589 gtk_box_pack_start (GTK_BOX (oss_buffer_vbox), ossbuf_preload_hbox, TRUE, TRUE, 0);
590
591 ossbuf_preload_label = gtk_label_new ("Preload size (ms):");
592 gtk_widget_show (ossbuf_preload_label);
593 gtk_box_pack_start (GTK_BOX (ossbuf_preload_hbox), ossbuf_preload_label, FALSE, FALSE, 0);
594
595 ossbuf_preload_spin_adj = gtk_adjustment_new (1500, 0, 60000, 10, 100, 10);
596 ossbuf_preload_spin = gtk_spin_button_new (GTK_ADJUSTMENT (ossbuf_preload_spin_adj), 0, 0);
597 gtk_widget_show (ossbuf_preload_spin);
598 gtk_box_pack_start (GTK_BOX (ossbuf_preload_hbox), ossbuf_preload_spin, TRUE, TRUE, 0);
599 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (ossbuf_preload_spin), TRUE);
600
601 label5 = gtk_label_new ("Software buffer");
602 gtk_widget_show (label5);
603 gtk_frame_set_label_widget (GTK_FRAME (oss_buffer_frame), label5);
604
605 oss_hwbuf_frame = gtk_frame_new (NULL);
606 gtk_widget_show (oss_hwbuf_frame);
607 gtk_box_pack_start (GTK_BOX (oss_buffer_page), oss_hwbuf_frame, TRUE, TRUE, 0);
608
609 oss_hwbuf_vbox = gtk_vbox_new (FALSE, 2);
610 gtk_widget_show (oss_hwbuf_vbox);
611 gtk_container_add (GTK_CONTAINER (oss_hwbuf_frame), oss_hwbuf_vbox);
612 gtk_container_set_border_width (GTK_CONTAINER (oss_hwbuf_vbox), 5);
613
614 osshwb_maxbuf_check = gtk_check_button_new_with_mnemonic ("Maximum device buffer size");
615 gtk_widget_show (osshwb_maxbuf_check);
616 gtk_box_pack_start (GTK_BOX (oss_hwbuf_vbox), osshwb_maxbuf_check, FALSE, FALSE, 0);
617
618 osshwb_fragments_hbox = gtk_hbox_new (FALSE, 5);
619 gtk_widget_show (osshwb_fragments_hbox);
620 gtk_box_pack_start (GTK_BOX (oss_hwbuf_vbox), osshwb_fragments_hbox, FALSE, FALSE, 0);
621
622 osshwb_fragments_label = gtk_label_new ("Number of Fragments:");
623 gtk_widget_show (osshwb_fragments_label);
624 gtk_box_pack_start (GTK_BOX (osshwb_fragments_hbox), osshwb_fragments_label, FALSE, FALSE, 0);
625
626 osshwb_fragments_spin_adj = gtk_adjustment_new (50, 2, 65535, 1, 10, 10);
627 osshwb_fragments_spin = gtk_spin_button_new (GTK_ADJUSTMENT (osshwb_fragments_spin_adj), 0, 0);
628 gtk_widget_show (osshwb_fragments_spin);
629 gtk_box_pack_start (GTK_BOX (osshwb_fragments_hbox), osshwb_fragments_spin, TRUE, TRUE, 0);
630 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (osshwb_fragments_spin), TRUE);
631
632 osshwb_fragsize_hbox = gtk_hbox_new (FALSE, 5);
633 gtk_widget_show (osshwb_fragsize_hbox);
634 gtk_box_pack_start (GTK_BOX (oss_hwbuf_vbox), osshwb_fragsize_hbox, TRUE, TRUE, 0);
635
636 osshwb_fragsize_label = gtk_label_new ("Fragment size (2^x bytes):");
637 gtk_widget_show (osshwb_fragsize_label);
638 gtk_box_pack_start (GTK_BOX (osshwb_fragsize_hbox), osshwb_fragsize_label, FALSE, FALSE, 0);
639
640 osshwb_fragsize_spin_adj = gtk_adjustment_new (11, 4, 16, 1, 10, 10);
641 osshwb_fragsize_spin = gtk_spin_button_new (GTK_ADJUSTMENT (osshwb_fragsize_spin_adj), 0, 0);
642 gtk_widget_show (osshwb_fragsize_spin);
643 gtk_box_pack_start (GTK_BOX (osshwb_fragsize_hbox), osshwb_fragsize_spin, TRUE, TRUE, 0);
644 gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (osshwb_fragsize_spin), TRUE);
645
646 label6 = gtk_label_new ("Hardware device buffer");
647 gtk_widget_show (label6);
648 gtk_frame_set_label_widget (GTK_FRAME (oss_hwbuf_frame), label6);
649
650 oss_buffer_label = gtk_label_new ("Buffer");
651 gtk_widget_show (oss_buffer_label);
652 gtk_notebook_set_tab_label (GTK_NOTEBOOK (output_oss_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (output_oss_notebook), 1), oss_buffer_label);
653 gtk_label_set_justify (GTK_LABEL (oss_buffer_label), GTK_JUSTIFY_CENTER);
654
655 oss_mixer_page = gtk_vbox_new (FALSE, 5);
656 gtk_widget_show (oss_mixer_page);
657 gtk_container_add (GTK_CONTAINER (output_oss_notebook), oss_mixer_page);
658 gtk_container_set_border_width (GTK_CONTAINER (oss_mixer_page), 5);
659
660 oss_mixer_frame = gtk_frame_new (NULL);
661 gtk_widget_show (oss_mixer_frame);
662 gtk_box_pack_start (GTK_BOX (oss_mixer_page), oss_mixer_frame, FALSE, FALSE, 0);
663
664 oss_mixer_vbox = gtk_vbox_new (FALSE, 2);
665 gtk_widget_show (oss_mixer_vbox);
666 gtk_container_add (GTK_CONTAINER (oss_mixer_frame), oss_mixer_vbox);
667 gtk_container_set_border_width (GTK_CONTAINER (oss_mixer_vbox), 5);
668
669 ossmixer_pcm_check = gtk_check_button_new_with_mnemonic ("Volume controls Master not PCM");
670 gtk_widget_show (ossmixer_pcm_check);
671 gtk_box_pack_start (GTK_BOX (oss_mixer_vbox), ossmixer_pcm_check, FALSE, FALSE, 0);
672
673 label7 = gtk_label_new ("Mixer options");
674 gtk_widget_show (label7);
675 gtk_frame_set_label_widget (GTK_FRAME (oss_mixer_frame), label7);
676
677 oss_mixer_label = gtk_label_new ("Mixer");
678 gtk_widget_show (oss_mixer_label);
679 gtk_notebook_set_tab_label (GTK_NOTEBOOK (output_oss_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (output_oss_notebook), 2), oss_mixer_label);
680 gtk_label_set_justify (GTK_LABEL (oss_mixer_label), GTK_JUSTIFY_CENTER);
681
682 output_plugin_label = gtk_label_new ("plugin");
683 gtk_widget_show (output_plugin_label);
684 gtk_notebook_set_tab_label (GTK_NOTEBOOK (output_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (output_notebook), 0), output_plugin_label);
685
686 output_plugin_page = gtk_vbox_new (FALSE, 5);
687 gtk_widget_show (output_plugin_page);
688 gtk_container_add (GTK_CONTAINER (output_notebook), output_plugin_page);
689 311
690 op_plugin_frame = gtk_frame_new (NULL); 312 op_plugin_frame = gtk_frame_new (NULL);
691 gtk_widget_show (op_plugin_frame); 313 gtk_widget_show (op_plugin_frame);
692 gtk_box_pack_start (GTK_BOX (output_plugin_page), op_plugin_frame, FALSE, TRUE, 0); 314 gtk_box_pack_start (GTK_BOX (output_plugin_vbox), op_plugin_frame, FALSE, TRUE, 0);
693 315
694 op_plugin_vbox = gtk_vbox_new (FALSE, 2); 316 op_plugin_vbox = gtk_vbox_new (FALSE, 2);
695 gtk_widget_show (op_plugin_vbox); 317 gtk_widget_show (op_plugin_vbox);
696 gtk_container_add (GTK_CONTAINER (op_plugin_frame), op_plugin_vbox); 318 gtk_container_add (GTK_CONTAINER (op_plugin_frame), op_plugin_vbox);
697 gtk_container_set_border_width (GTK_CONTAINER (op_plugin_vbox), 5); 319 gtk_container_set_border_width (GTK_CONTAINER (op_plugin_vbox), 5);
728 gtk_widget_show (label8); 350 gtk_widget_show (label8);
729 gtk_frame_set_label_widget (GTK_FRAME (op_plugin_frame), label8); 351 gtk_frame_set_label_widget (GTK_FRAME (op_plugin_frame), label8);
730 352
731 op_options_frame = gtk_frame_new (NULL); 353 op_options_frame = gtk_frame_new (NULL);
732 gtk_widget_show (op_options_frame); 354 gtk_widget_show (op_options_frame);
733 gtk_box_pack_start (GTK_BOX (output_plugin_page), op_options_frame, FALSE, TRUE, 0); 355 gtk_box_pack_start (GTK_BOX (output_plugin_vbox), op_options_frame, FALSE, TRUE, 0);
734 356
735 op_options_vbox = gtk_vbox_new (FALSE, 2); 357 op_options_vbox = gtk_vbox_new (FALSE, 2);
736 gtk_widget_show (op_options_vbox); 358 gtk_widget_show (op_options_vbox);
737 gtk_container_add (GTK_CONTAINER (op_options_frame), op_options_vbox); 359 gtk_container_add (GTK_CONTAINER (op_options_frame), op_options_vbox);
738 gtk_container_set_border_width (GTK_CONTAINER (op_options_vbox), 5); 360 gtk_container_set_border_width (GTK_CONTAINER (op_options_vbox), 5);
762 384
763 label9 = gtk_label_new ("Plugin compatibility options"); 385 label9 = gtk_label_new ("Plugin compatibility options");
764 gtk_widget_show (label9); 386 gtk_widget_show (label9);
765 gtk_frame_set_label_widget (GTK_FRAME (op_options_frame), label9); 387 gtk_frame_set_label_widget (GTK_FRAME (op_options_frame), label9);
766 388
767 output_oss_label = gtk_label_new ("oss");
768 gtk_widget_show (output_oss_label);
769 gtk_notebook_set_tab_label (GTK_NOTEBOOK (output_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (output_notebook), 1), output_oss_label);
770
771 empty_notebook_page = gtk_vbox_new (FALSE, 0);
772 gtk_widget_show (empty_notebook_page);
773 gtk_container_add (GTK_CONTAINER (output_notebook), empty_notebook_page);
774
775 output_null_label = gtk_label_new ("null");
776 gtk_widget_show (output_null_label);
777 gtk_notebook_set_tab_label (GTK_NOTEBOOK (output_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (output_notebook), 2), output_null_label);
778
779 output_help_label = gtk_label_new ("When modifying the Output Options or the Mixing buffer size, you need to stop/restart playback for the settings to take effect."); 389 output_help_label = gtk_label_new ("When modifying the Output Options or the Mixing buffer size, you need to stop/restart playback for the settings to take effect.");
780 gtk_widget_show (output_help_label); 390 gtk_widget_show (output_help_label);
781 gtk_box_pack_start (GTK_BOX (config_output_page), output_help_label, TRUE, TRUE, 0); 391 gtk_box_pack_start (GTK_BOX (config_output_page), output_help_label, TRUE, TRUE, 0);
782 gtk_label_set_line_wrap (GTK_LABEL (output_help_label), TRUE); 392 gtk_label_set_line_wrap (GTK_LABEL (output_help_label), TRUE);
783 393
2064 /* Store pointers to all widgets, for use by lookup_widget(). */ 1674 /* Store pointers to all widgets, for use by lookup_widget(). */
2065 GLADE_HOOKUP_OBJECT_NO_REF (config_win, config_win, "config_win"); 1675 GLADE_HOOKUP_OBJECT_NO_REF (config_win, config_win, "config_win");
2066 GLADE_HOOKUP_OBJECT (config_win, config_vbox, "config_vbox"); 1676 GLADE_HOOKUP_OBJECT (config_win, config_vbox, "config_vbox");
2067 GLADE_HOOKUP_OBJECT (config_win, config_notebook, "config_notebook"); 1677 GLADE_HOOKUP_OBJECT (config_win, config_notebook, "config_notebook");
2068 GLADE_HOOKUP_OBJECT (config_win, config_output_page, "config_output_page"); 1678 GLADE_HOOKUP_OBJECT (config_win, config_output_page, "config_output_page");
2069 GLADE_HOOKUP_OBJECT (config_win, output_options_hbox, "output_options_hbox"); 1679 GLADE_HOOKUP_OBJECT (config_win, output_plugin_vbox, "output_plugin_vbox");
2070 GLADE_HOOKUP_OBJECT (config_win, output_resampling_frame, "output_resampling_frame");
2071 GLADE_HOOKUP_OBJECT (config_win, output_resampling_table, "output_resampling_table");
2072 GLADE_HOOKUP_OBJECT (config_win, resampling_rate_optionmenu, "resampling_rate_optionmenu");
2073 GLADE_HOOKUP_OBJECT (config_win, menu1, "menu1");
2074 GLADE_HOOKUP_OBJECT (config_win, resampling_rate_optionmenu_dummy, "resampling_rate_optionmenu_dummy");
2075 GLADE_HOOKUP_OBJECT (config_win, resampling_quality_optionmenu, "resampling_quality_optionmenu");
2076 GLADE_HOOKUP_OBJECT (config_win, menu2, "menu2");
2077 GLADE_HOOKUP_OBJECT (config_win, resampling_quality_optionmenu_dummy, "resampling_quality_optionmenu_dummy");
2078 GLADE_HOOKUP_OBJECT (config_win, resampling_rate_hbox, "resampling_rate_hbox");
2079 GLADE_HOOKUP_OBJECT (config_win, resampling_rate_label, "resampling_rate_label");
2080 GLADE_HOOKUP_OBJECT (config_win, resampling_quality_hbox, "resampling_quality_hbox");
2081 GLADE_HOOKUP_OBJECT (config_win, resampling_quality_label, "resampling_quality_label");
2082 GLADE_HOOKUP_OBJECT (config_win, output_resampling_frame_label, "output_resampling_frame_label");
2083 GLADE_HOOKUP_OBJECT (config_win, output_notebook, "output_notebook");
2084 GLADE_HOOKUP_OBJECT (config_win, output_oss_page, "output_oss_page");
2085 GLADE_HOOKUP_OBJECT (config_win, output_oss_notebook, "output_oss_notebook");
2086 GLADE_HOOKUP_OBJECT (config_win, oss_device_page, "oss_device_page");
2087 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_frame, "oss_adevice_frame");
2088 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_vbox, "oss_adevice_vbox");
2089 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_hbox, "oss_adevice_hbox");
2090 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_optionmenu, "oss_adevice_optionmenu");
2091 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_optionmenu_menu, "oss_adevice_optionmenu_menu");
2092 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_optionmenu_dummy, "oss_adevice_optionmenu_dummy");
2093 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_alt_hbox, "oss_adevice_alt_hbox");
2094 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_alt_check, "oss_adevice_alt_check");
2095 GLADE_HOOKUP_OBJECT (config_win, oss_adevice_alt_entry, "oss_adevice_alt_entry");
2096 GLADE_HOOKUP_OBJECT (config_win, label3, "label3");
2097 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_frame, "oss_mdevice_frame");
2098 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_vbox, "oss_mdevice_vbox");
2099 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_hbox, "oss_mdevice_hbox");
2100 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_optionmenu, "oss_mdevice_optionmenu");
2101 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_optionmenu_menu, "oss_mdevice_optionmenu_menu");
2102 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_optionmenu_dummy, "oss_mdevice_optionmenu_dummy");
2103 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_alt_hbox, "oss_mdevice_alt_hbox");
2104 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_alt_check, "oss_mdevice_alt_check");
2105 GLADE_HOOKUP_OBJECT (config_win, oss_mdevice_alt_entry, "oss_mdevice_alt_entry");
2106 GLADE_HOOKUP_OBJECT (config_win, label4, "label4");
2107 GLADE_HOOKUP_OBJECT (config_win, oss_device_label, "oss_device_label");
2108 GLADE_HOOKUP_OBJECT (config_win, oss_buffer_page, "oss_buffer_page");
2109 GLADE_HOOKUP_OBJECT (config_win, oss_buffer_frame, "oss_buffer_frame");
2110 GLADE_HOOKUP_OBJECT (config_win, oss_buffer_vbox, "oss_buffer_vbox");
2111 GLADE_HOOKUP_OBJECT (config_win, ossbuf_buffer_hbox, "ossbuf_buffer_hbox");
2112 GLADE_HOOKUP_OBJECT (config_win, ossbuf_buffer_label, "ossbuf_buffer_label");
2113 GLADE_HOOKUP_OBJECT (config_win, ossbuf_buffer_spin, "ossbuf_buffer_spin");
2114 GLADE_HOOKUP_OBJECT (config_win, ossbuf_preload_hbox, "ossbuf_preload_hbox");
2115 GLADE_HOOKUP_OBJECT (config_win, ossbuf_preload_label, "ossbuf_preload_label");
2116 GLADE_HOOKUP_OBJECT (config_win, ossbuf_preload_spin, "ossbuf_preload_spin");
2117 GLADE_HOOKUP_OBJECT (config_win, label5, "label5");
2118 GLADE_HOOKUP_OBJECT (config_win, oss_hwbuf_frame, "oss_hwbuf_frame");
2119 GLADE_HOOKUP_OBJECT (config_win, oss_hwbuf_vbox, "oss_hwbuf_vbox");
2120 GLADE_HOOKUP_OBJECT (config_win, osshwb_maxbuf_check, "osshwb_maxbuf_check");
2121 GLADE_HOOKUP_OBJECT (config_win, osshwb_fragments_hbox, "osshwb_fragments_hbox");
2122 GLADE_HOOKUP_OBJECT (config_win, osshwb_fragments_label, "osshwb_fragments_label");
2123 GLADE_HOOKUP_OBJECT (config_win, osshwb_fragments_spin, "osshwb_fragments_spin");
2124 GLADE_HOOKUP_OBJECT (config_win, osshwb_fragsize_hbox, "osshwb_fragsize_hbox");
2125 GLADE_HOOKUP_OBJECT (config_win, osshwb_fragsize_label, "osshwb_fragsize_label");
2126 GLADE_HOOKUP_OBJECT (config_win, osshwb_fragsize_spin, "osshwb_fragsize_spin");
2127 GLADE_HOOKUP_OBJECT (config_win, label6, "label6");
2128 GLADE_HOOKUP_OBJECT (config_win, oss_buffer_label, "oss_buffer_label");
2129 GLADE_HOOKUP_OBJECT (config_win, oss_mixer_page, "oss_mixer_page");
2130 GLADE_HOOKUP_OBJECT (config_win, oss_mixer_frame, "oss_mixer_frame");
2131 GLADE_HOOKUP_OBJECT (config_win, oss_mixer_vbox, "oss_mixer_vbox");
2132 GLADE_HOOKUP_OBJECT (config_win, ossmixer_pcm_check, "ossmixer_pcm_check");
2133 GLADE_HOOKUP_OBJECT (config_win, label7, "label7");
2134 GLADE_HOOKUP_OBJECT (config_win, oss_mixer_label, "oss_mixer_label");
2135 GLADE_HOOKUP_OBJECT (config_win, output_plugin_label, "output_plugin_label");
2136 GLADE_HOOKUP_OBJECT (config_win, output_plugin_page, "output_plugin_page");
2137 GLADE_HOOKUP_OBJECT (config_win, op_plugin_frame, "op_plugin_frame"); 1680 GLADE_HOOKUP_OBJECT (config_win, op_plugin_frame, "op_plugin_frame");
2138 GLADE_HOOKUP_OBJECT (config_win, op_plugin_vbox, "op_plugin_vbox"); 1681 GLADE_HOOKUP_OBJECT (config_win, op_plugin_vbox, "op_plugin_vbox");
2139 GLADE_HOOKUP_OBJECT (config_win, op_plugin_optionmenu, "op_plugin_optionmenu"); 1682 GLADE_HOOKUP_OBJECT (config_win, op_plugin_optionmenu, "op_plugin_optionmenu");
2140 GLADE_HOOKUP_OBJECT (config_win, op_plugin_optionmenu_menu, "op_plugin_optionmenu_menu"); 1683 GLADE_HOOKUP_OBJECT (config_win, op_plugin_optionmenu_menu, "op_plugin_optionmenu_menu");
2141 GLADE_HOOKUP_OBJECT (config_win, op_plugin_optionmenu_dummy, "op_plugin_optionmenu_dummy"); 1684 GLADE_HOOKUP_OBJECT (config_win, op_plugin_optionmenu_dummy, "op_plugin_optionmenu_dummy");
2149 GLADE_HOOKUP_OBJECT (config_win, op_maxblock_hbox, "op_maxblock_hbox"); 1692 GLADE_HOOKUP_OBJECT (config_win, op_maxblock_hbox, "op_maxblock_hbox");
2150 GLADE_HOOKUP_OBJECT (config_win, op_maxblock_check, "op_maxblock_check"); 1693 GLADE_HOOKUP_OBJECT (config_win, op_maxblock_check, "op_maxblock_check");
2151 GLADE_HOOKUP_OBJECT (config_win, op_maxblock_spin, "op_maxblock_spin"); 1694 GLADE_HOOKUP_OBJECT (config_win, op_maxblock_spin, "op_maxblock_spin");
2152 GLADE_HOOKUP_OBJECT (config_win, op_forcereopen_check, "op_forcereopen_check"); 1695 GLADE_HOOKUP_OBJECT (config_win, op_forcereopen_check, "op_forcereopen_check");
2153 GLADE_HOOKUP_OBJECT (config_win, label9, "label9"); 1696 GLADE_HOOKUP_OBJECT (config_win, label9, "label9");
2154 GLADE_HOOKUP_OBJECT (config_win, output_oss_label, "output_oss_label");
2155 GLADE_HOOKUP_OBJECT (config_win, output_null_label, "output_null_label");
2156 GLADE_HOOKUP_OBJECT (config_win, output_help_label, "output_help_label"); 1697 GLADE_HOOKUP_OBJECT (config_win, output_help_label, "output_help_label");
2157 GLADE_HOOKUP_OBJECT (config_win, config_devices_label, "config_devices_label"); 1698 GLADE_HOOKUP_OBJECT (config_win, config_devices_label, "config_devices_label");
2158 GLADE_HOOKUP_OBJECT (config_win, config_crossfader_page, "config_crossfader_page"); 1699 GLADE_HOOKUP_OBJECT (config_win, config_crossfader_page, "config_crossfader_page");
2159 GLADE_HOOKUP_OBJECT (config_win, xf_bufsize_hbox, "xf_bufsize_hbox"); 1700 GLADE_HOOKUP_OBJECT (config_win, xf_bufsize_hbox, "xf_bufsize_hbox");
2160 GLADE_HOOKUP_OBJECT (config_win, xf_bufsize_label, "xf_bufsize_label"); 1701 GLADE_HOOKUP_OBJECT (config_win, xf_bufsize_label, "xf_bufsize_label");