r1014: Enable horizontal scrolling with the mouse wheel by pressing Ctrl.
[cinelerra_cv/ct.git] / cinelerra / vdeviceprefs.h
bloba6a87b69b3bf47f607173cb4eb95373e25acf696
1 #ifndef VDEVICEPREFS_H
2 #define VDEVICEPREFS_H
4 // Modes
5 #ifndef MODEPLAY
6 #define MODEPLAY 0
7 #define MODERECORD 1
8 #define MODEDUPLEX 2
9 #endif
11 #include "adeviceprefs.inc"
12 #include "channelpicker.inc"
13 #include "guicast.h"
14 #include "playbackconfig.inc"
15 #include "preferencesthread.inc"
16 #include "recordconfig.inc"
17 #include "vdeviceprefs.inc"
19 class VDeviceCheckBox;
20 class VDeviceTextBox;
21 class VDeviceIntBox;
22 class VDeviceTumbleBox;
23 class VDriverMenu;
25 class VDevicePrefs
27 public:
28 VDevicePrefs(int x,
29 int y,
30 PreferencesWindow *pwindow,
31 PreferencesDialog *dialog,
32 VideoOutConfig *out_config,
33 VideoInConfig *in_config,
34 int mode);
35 ~VDevicePrefs();
37 // creation - set if this is the first initialize of the object
38 // to prevent file format from being overwritten
39 int initialize(int creation = 0);
40 int delete_objects();
41 void reset_objects();
43 PreferencesWindow *pwindow;
44 PreferencesDialog *dialog;
45 VideoOutConfig *out_config;
46 VideoInConfig *in_config;
47 PrefsChannelPicker *channel_picker;
49 private:
50 int create_lml_objs();
51 int create_firewire_objs();
52 int create_dv1394_objs();
53 int create_v4l_objs();
54 int create_v4l2_objs();
55 int create_v4l2jpeg_objs();
56 int create_screencap_objs();
57 int create_buz_objs();
58 int create_x11_objs();
59 int create_dvb_objs();
61 VDriverMenu *menu;
63 BC_Title *device_title;
64 BC_Title *port_title;
65 BC_Title *number_title;
66 BC_Title *channel_title;
67 BC_Title *output_title;
68 BC_Title *syt_title;
69 VDeviceTextBox *device_text;
70 VDeviceTumbleBox *device_port;
71 VDeviceTumbleBox *device_number;
72 VDeviceIntBox *firewire_port;
73 VDeviceIntBox *firewire_channel;
74 VDeviceIntBox *firewire_channels;
75 VDeviceIntBox *firewire_syt;
76 VDeviceTextBox *firewire_path;
78 VDeviceCheckBox *buz_swap_channels;
79 int driver, mode;
80 int x;
81 int y;
84 class VDeviceTextBox : public BC_TextBox
86 public:
87 VDeviceTextBox(int x, int y, char *output);
89 int handle_event();
90 char *output;
93 class VDeviceIntBox : public BC_TextBox
95 public:
96 VDeviceIntBox(int x, int y, int *output);
98 int handle_event();
99 int *output;
102 class VDeviceTumbleBox : public BC_TumbleTextBox
104 public:
105 VDeviceTumbleBox(VDevicePrefs *prefs,
106 int x,
107 int y,
108 int *output,
109 int min,
110 int max);
112 int handle_event();
113 int *output;
116 class VDeviceCheckBox : public BC_CheckBox
118 public:
119 VDeviceCheckBox(int x, int y, int *output, char *text);
121 int handle_event();
122 int *output;
126 class VDriverMenu : public BC_PopupMenu
128 public:
129 VDriverMenu(int x,
130 int y,
131 VDevicePrefs *device_prefs,
132 int do_input,
133 int *output);
134 ~VDriverMenu();
136 char* driver_to_string(int driver);
137 int create_objects();
139 VDevicePrefs *device_prefs;
140 int do_input;
141 int *output;
142 char string[BCTEXTLEN];
146 class VDriverItem : public BC_MenuItem
148 public:
149 VDriverItem(VDriverMenu *popup, char *text, int driver);
150 ~VDriverItem();
152 int handle_event();
154 VDriverMenu *popup;
155 int driver;
160 #endif