14 #include "bitspopup.inc"
16 #include "playbackconfig.inc"
17 #include "preferencesthread.inc"
18 #include "recordconfig.inc"
23 class ADeviceCheckBox
;
30 PreferencesWindow
*pwindow
,
31 PreferencesDialog
*dialog
,
32 AudioOutConfig
*out_config
,
33 AudioInConfig
*in_config
,
38 int update(AudioOutConfig
*out_config
);
42 PreferencesWindow
*pwindow
;
45 int create_oss_objs();
46 int create_esound_objs();
47 int create_firewire_objs();
48 int create_alsa_objs();
50 int delete_oss_objs();
51 int delete_esound_objs();
52 int delete_firewire_objs();
53 int delete_alsa_objs();
55 // The output config resolved from playback strategy and render engine.
56 AudioOutConfig
*out_config
;
57 AudioInConfig
*in_config
;
58 PreferencesDialog
*dialog
;
63 BC_Title
*driver_title
, *path_title
, *bits_title
, *channels_title
;
64 BC_Title
*server_title
, *port_title
, *channel_title
, *syt_title
;
65 OSSEnable
*oss_enable
[MAXDEVICES
];
66 ADeviceTextBox
*oss_path
[MAXDEVICES
];
68 ADeviceIntBox
*oss_channels
[MAXDEVICES
];
69 ADeviceTextBox
*esound_server
;
70 ADeviceIntBox
*esound_port
;
71 ADeviceIntBox
*firewire_port
;
72 ADeviceIntBox
*firewire_channel
;
73 ADeviceIntBox
*firewire_channels
;
74 ADeviceTextBox
*firewire_path
;
75 ADeviceIntBox
*firewire_syt
;
76 BC_CheckBox
*firewire_use_dv1394
;
77 ALSADevice
*alsa_device
;
79 ADeviceIntBox
*alsa_channels
;
80 ArrayList
<BC_ListBoxItem
*> *alsa_drivers
;
83 class ADriverMenu
: public BC_PopupMenu
88 ADevicePrefs
*device_prefs
,
93 void create_objects();
94 char* adriver_to_string(int driver
);
98 ADevicePrefs
*device_prefs
;
99 char string
[BCTEXTLEN
];
102 class ADriverItem
: public BC_MenuItem
105 ADriverItem(ADriverMenu
*popup
, char *text
, int driver
);
112 class OSSEnable
: public BC_CheckBox
115 OSSEnable(int x
, int y
, int *output
);
122 class ADeviceTextBox
: public BC_TextBox
125 ADeviceTextBox(int x
, int y
, char *output
);
130 class ADeviceIntBox
: public BC_TextBox
133 ADeviceIntBox(int x
, int y
, int *output
);
138 class ADeviceCheckBox
: public BC_CheckBox
141 ADeviceCheckBox(int x
, int y
, int *output
, char *text
);
147 class ALSADevice
: public BC_PopupTextBox
150 ALSADevice(PreferencesDialog
*dialog
,
154 ArrayList
<BC_ListBoxItem
*> *devices
);