14 #include "bitspopup.inc"
16 #include "playbackconfig.inc"
17 #include "preferencesthread.inc"
18 #include "recordconfig.inc"
29 PreferencesWindow
*pwindow
,
30 PreferencesDialog
*dialog
,
31 AudioOutConfig
*out_config
,
32 AudioInConfig
*in_config
,
37 int update(AudioOutConfig
*out_config
);
41 PreferencesWindow
*pwindow
;
44 int create_oss_objs();
45 int create_esound_objs();
46 int create_firewire_objs();
47 int create_alsa_objs();
49 int delete_oss_objs();
50 int delete_esound_objs();
51 int delete_firewire_objs();
52 int delete_alsa_objs();
54 // The output config resolved from playback strategy and render engine.
55 AudioOutConfig
*out_config
;
56 AudioInConfig
*in_config
;
57 PreferencesDialog
*dialog
;
62 BC_Title
*driver_title
, *path_title
, *bits_title
, *channels_title
;
63 BC_Title
*server_title
, *port_title
, *channel_title
, *syt_title
;
64 OSSEnable
*oss_enable
[MAXDEVICES
];
65 ADeviceTextBox
*oss_path
[MAXDEVICES
];
67 ADeviceIntBox
*oss_channels
[MAXDEVICES
];
68 ADeviceTextBox
*esound_server
;
69 ADeviceIntBox
*esound_port
;
70 ADeviceIntBox
*firewire_port
;
71 ADeviceIntBox
*firewire_channel
;
72 ADeviceIntBox
*firewire_channels
;
73 ADeviceTextBox
*firewire_path
;
74 ADeviceIntBox
*firewire_syt
;
75 ALSADevice
*alsa_device
;
77 ADeviceIntBox
*alsa_channels
;
78 ArrayList
<BC_ListBoxItem
*> *alsa_drivers
;
81 class ADriverMenu
: public BC_PopupMenu
86 ADevicePrefs
*device_prefs
,
91 void create_objects();
92 char* adriver_to_string(int driver
);
96 ADevicePrefs
*device_prefs
;
97 char string
[BCTEXTLEN
];
100 class ADriverItem
: public BC_MenuItem
103 ADriverItem(ADriverMenu
*popup
, char *text
, int driver
);
110 class OSSEnable
: public BC_CheckBox
113 OSSEnable(int x
, int y
, int *output
);
120 class ADeviceTextBox
: public BC_TextBox
123 ADeviceTextBox(int x
, int y
, char *output
);
128 class ADeviceIntBox
: public BC_TextBox
131 ADeviceIntBox(int x
, int y
, int *output
);
136 class ALSADevice
: public BC_PopupTextBox
139 ALSADevice(PreferencesDialog
*dialog
,
143 ArrayList
<BC_ListBoxItem
*> *devices
);