Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

adeviceprefs.h

Go to the documentation of this file.
00001 #ifndef ADEVICEPREFS_H
00002 #define ADEVICEPREFS_H
00003 
00004 // Modes
00005 #ifndef MODEPLAY
00006 #define MODEPLAY 0
00007 #define MODERECORD 1
00008 #define MODEDUPLEX 2
00009 #endif
00010 
00011 class OSSEnable;
00012 class ALSADevice;
00013 
00014 #include "bitspopup.inc"
00015 #include "guicast.h"
00016 #include "playbackconfig.inc"
00017 #include "preferencesthread.inc"
00018 #include "recordconfig.inc"
00019 
00020 class ADriverMenu;
00021 class ADeviceTextBox;
00022 class ADeviceIntBox;
00023 
00024 class ADevicePrefs
00025 {
00026 public:
00027         ADevicePrefs(int x, 
00028                 int y, 
00029                 PreferencesWindow *pwindow, 
00030                 PreferencesDialog *dialog, 
00031                 AudioOutConfig *out_config, 
00032                 AudioInConfig *in_config, 
00033                 int mode);
00034         ~ADevicePrefs();
00035 
00036         void reset();
00037         static int get_h();
00038         int update(AudioOutConfig *out_config);
00039         int initialize();
00040         int delete_objects();
00041 
00042         PreferencesWindow *pwindow;
00043 
00044 private:
00045         int create_oss_objs();
00046         int create_esound_objs();
00047         int create_firewire_objs();
00048         int create_alsa_objs();
00049 
00050         int delete_oss_objs();
00051         int delete_esound_objs();
00052         int delete_firewire_objs();
00053         int delete_alsa_objs();
00054 
00055 // The output config resolved from playback strategy and render engine.
00056         AudioOutConfig *out_config;
00057         AudioInConfig *in_config;
00058         PreferencesDialog *dialog;
00059         int driver, mode;
00060         int x;
00061         int y;
00062         ADriverMenu *menu;
00063         BC_Title *driver_title, *path_title, *bits_title, *channels_title;
00064         BC_Title *server_title, *port_title, *channel_title, *syt_title;
00065         OSSEnable *oss_enable[MAXDEVICES];
00066         ADeviceTextBox *oss_path[MAXDEVICES];
00067         BitsPopup *oss_bits;
00068         ADeviceIntBox *oss_channels[MAXDEVICES];
00069         ADeviceTextBox *esound_server;
00070         ADeviceIntBox *esound_port;
00071         ADeviceIntBox *firewire_port;
00072         ADeviceIntBox *firewire_channel;
00073         ADeviceIntBox *firewire_channels;
00074         ADeviceTextBox *firewire_path;
00075         ADeviceIntBox *firewire_syt;
00076 
00077 
00078         ALSADevice *alsa_device;
00079         BitsPopup *alsa_bits;
00080         ADeviceIntBox *alsa_channels;
00081         BC_CheckBox *alsa_workaround;
00082 
00083         ArrayList<BC_ListBoxItem*> *alsa_drivers;
00084 };
00085 
00086 class ADriverMenu : public BC_PopupMenu
00087 {
00088 public:
00089         ADriverMenu(int x, 
00090                 int y, 
00091                 ADevicePrefs *device_prefs, 
00092                 int do_input,
00093                 int *output);
00094         ~ADriverMenu();
00095         
00096         void create_objects();
00097         char* adriver_to_string(int driver);
00098         
00099         int do_input;
00100         int *output;
00101         ADevicePrefs *device_prefs;
00102         char string[BCTEXTLEN];
00103 };
00104 
00105 class ADriverItem : public BC_MenuItem
00106 {
00107 public:
00108         ADriverItem(ADriverMenu *popup, char *text, int driver);
00109         ~ADriverItem();
00110         int handle_event();
00111         ADriverMenu *popup;
00112         int driver;
00113 };
00114 
00115 class OSSEnable : public BC_CheckBox
00116 {
00117 public:
00118         OSSEnable(int x, int y, int *output);
00119         int handle_event();
00120         int *output;
00121 };
00122 
00123 
00124 
00125 class ADeviceTextBox : public BC_TextBox
00126 {
00127 public:
00128         ADeviceTextBox(int x, int y, char *output);
00129         int handle_event();
00130         char *output;
00131 };
00132 
00133 class ADeviceIntBox : public BC_TextBox
00134 {
00135 public:
00136         ADeviceIntBox(int x, int y, int *output);
00137         int handle_event();
00138         int *output;
00139 };
00140 
00141 class ALSADevice : public BC_PopupTextBox
00142 {
00143 public:
00144         ALSADevice(PreferencesDialog *dialog, 
00145                 int x, 
00146                 int y, 
00147                 char *output, 
00148                 ArrayList<BC_ListBoxItem*> *devices);
00149         ~ALSADevice();
00150 
00151         int handle_event();
00152         char *output;
00153 };
00154 
00155 #endif

Generated on Sun Jan 8 13:38:49 2006 for Cinelerra-svn by  doxygen 1.4.4