4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef VDEVICEPREFS_H
23 #define VDEVICEPREFS_H
32 #include "adeviceprefs.inc"
33 #include "channelpicker.inc"
35 #include "playbackconfig.inc"
36 #include "preferencesthread.inc"
37 #include "recordconfig.inc"
38 #include "vdeviceprefs.inc"
40 class VDeviceCheckBox;
43 class VDeviceTumbleBox;
51 PreferencesWindow *pwindow,
52 PreferencesDialog *dialog,
53 VideoOutConfig *out_config,
54 VideoInConfig *in_config,
58 // creation - set if this is the first initialize of the object
59 // to prevent file format from being overwritten
60 // & window from being flushed
61 int initialize(int creation /* = 0 */);
66 PreferencesWindow *pwindow;
67 PreferencesDialog *dialog;
68 VideoOutConfig *out_config;
69 VideoInConfig *in_config;
70 PrefsChannelPicker *channel_picker;
73 int create_firewire_objs();
74 int create_dv1394_objs();
75 int create_v4l2_objs();
76 int create_v4l2jpeg_objs();
77 int create_v4l2mpeg_objs();
78 int create_screencap_objs();
79 int create_x11_objs();
80 void create_dvb_objs();
84 BC_Title *device_title;
86 BC_CheckBox *follow_video_config;
87 BC_CheckBox *use_direct_x11;
88 BC_Title *channel_title;
89 BC_Title *output_title;
91 BC_Title *fields_title;
92 BC_Title *dvb_adapter_title;
94 VDeviceTextBox *device_text;
95 VDeviceIntBox *firewire_port;
96 VDeviceIntBox *firewire_channel;
97 VDeviceIntBox *firewire_channels;
98 VDeviceIntBox *firewire_syt;
99 VDeviceTextBox *firewire_path;
100 VDeviceTumbleBox *device_fields;
101 VDeviceTumbleBox *dvb_adapter_device;
108 class VDeviceTextBox : public BC_TextBox
111 VDeviceTextBox(int x, int y, char *output);
117 class VDeviceIntBox : public BC_TextBox
120 VDeviceIntBox(int x, int y, int *output);
126 class VDeviceTumbleBox : public BC_TumbleTextBox
129 VDeviceTumbleBox(VDevicePrefs *prefs,
130 int x, int y, int *output, int min, int max, int text_w=60);
136 class VDeviceCheckBox : public BC_CheckBox
139 VDeviceCheckBox(int x, int y, int *output, char *text);
146 class VDriverMenu : public BC_PopupMenu
151 VDevicePrefs *device_prefs,
156 char* driver_to_string(int driver);
157 void create_objects();
159 VDevicePrefs *device_prefs;
162 char string[BCTEXTLEN];
166 class VDriverItem : public BC_MenuItem
169 VDriverItem(VDriverMenu *popup, const char *text, int driver);
179 class VScalingEquation : public BC_PopupMenu
182 VScalingEquation(int x, int y, int *output);
185 const char* interpolation_to_string(int type);
186 void create_objects();
190 class VScalingItem : public BC_MenuItem
193 VScalingItem(VScalingEquation *popup, int interpolation);
196 VScalingEquation *popup;