00001 #ifndef VDEVICEPREFS_H
00002 #define VDEVICEPREFS_H
00003
00004
00005 #ifndef MODEPLAY
00006 #define MODEPLAY 0
00007 #define MODERECORD 1
00008 #define MODEDUPLEX 2
00009 #endif
00010
00011 #include "adeviceprefs.inc"
00012 #include "channelpicker.inc"
00013 #include "guicast.h"
00014 #include "playbackconfig.inc"
00015 #include "preferencesthread.inc"
00016 #include "recordconfig.inc"
00017 #include "vdeviceprefs.inc"
00018
00019 class VDeviceCheckBox;
00020 class VDeviceTextBox;
00021 class VDeviceIntBox;
00022 class VDriverMenu;
00023
00024 class VDevicePrefs
00025 {
00026 public:
00027 VDevicePrefs(int x,
00028 int y,
00029 PreferencesWindow *pwindow,
00030 PreferencesDialog *dialog,
00031 VideoOutConfig *out_config,
00032 VideoInConfig *in_config,
00033 int mode);
00034 ~VDevicePrefs();
00035
00036 int initialize();
00037 int delete_objects();
00038 void reset_objects();
00039
00040 PreferencesWindow *pwindow;
00041 PreferencesDialog *dialog;
00042 VideoOutConfig *out_config;
00043 VideoInConfig *in_config;
00044 PrefsChannelPicker *channel_picker;
00045
00046 private:
00047 int create_lml_objs();
00048 int create_firewire_objs();
00049 int create_dv1394_objs();
00050 int create_v4l_objs();
00051 int create_v4l2_objs();
00052 int create_v4l2jpeg_objs();
00053 int create_screencap_objs();
00054 int create_buz_objs();
00055 int create_x11_objs();
00056
00057 VDriverMenu *menu;
00058
00059 BC_Title *device_title, *port_title, *channel_title, *output_title, *syt_title;
00060 VDeviceTextBox *device_text;
00061 VDeviceIntBox *firewire_port;
00062 VDeviceIntBox *firewire_channel;
00063 VDeviceIntBox *firewire_channels;
00064 VDeviceIntBox *firewire_syt;
00065 VDeviceTextBox *firewire_path;
00066
00067 VDeviceCheckBox *buz_swap_channels;
00068 int driver, mode;
00069 int x;
00070 int y;
00071 };
00072
00073 class VDeviceTextBox : public BC_TextBox
00074 {
00075 public:
00076 VDeviceTextBox(int x, int y, char *output);
00077
00078 int handle_event();
00079 char *output;
00080 };
00081
00082 class VDeviceIntBox : public BC_TextBox
00083 {
00084 public:
00085 VDeviceIntBox(int x, int y, int *output);
00086
00087 int handle_event();
00088 int *output;
00089 };
00090
00091 class VDeviceCheckBox : public BC_CheckBox
00092 {
00093 public:
00094 VDeviceCheckBox(int x, int y, int *output, char *text);
00095
00096 int handle_event();
00097 int *output;
00098 };
00099
00100
00101 class VDriverMenu : public BC_PopupMenu
00102 {
00103 public:
00104 VDriverMenu(int x,
00105 int y,
00106 VDevicePrefs *device_prefs,
00107 int do_input,
00108 int *output);
00109 ~VDriverMenu();
00110
00111 char* driver_to_string(int driver);
00112 int create_objects();
00113
00114 VDevicePrefs *device_prefs;
00115 int do_input;
00116 int *output;
00117 char string[BCTEXTLEN];
00118 };
00119
00120
00121 class VDriverItem : public BC_MenuItem
00122 {
00123 public:
00124 VDriverItem(VDriverMenu *popup, char *text, int driver);
00125 ~VDriverItem();
00126
00127 int handle_event();
00128
00129 VDriverMenu *popup;
00130 int driver;
00131 };
00132
00133
00134
00135 #endif