Credit Andrew - improve in-tree documentation
[goodguy/cinelerra.git] / cinelerra / recordprefs.h
1
2 /*
3  * CINELERRA
4  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
5  *
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.
10  *
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.
15  *
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
19  *
20  */
21
22 #ifndef RECORDPREFS_H
23 #define RECORDPREFS_H
24
25 #include "adeviceprefs.inc"
26 #include "formattools.inc"
27 #include "mwindow.inc"
28 #include "preferencesthread.h"
29 #include "recordprefs.inc"
30 #include "vdeviceprefs.inc"
31
32 class RecordPrefs : public PreferencesDialog
33 {
34 public:
35         RecordPrefs(MWindow *mwindow, PreferencesWindow *pwindow);
36         ~RecordPrefs();
37
38         void create_objects();
39         int show_window(int flush);
40
41         FormatTools *recording_format;
42         RecordRealtimeTOC *realtime_toc;
43         ADevicePrefs *audio_in_device;
44         VDevicePrefs *video_in_device;
45         MWindow *mwindow;
46 };
47
48
49 class RecordFragment : public BC_PopupMenu
50 {
51 public:
52         RecordFragment(int x,
53                 int y,
54                 PreferencesWindow *pwindow,
55                 RecordPrefs *record,
56                 char *text);
57         int handle_event();
58         PreferencesWindow *pwindow;
59         RecordPrefs *record;
60 };
61
62 class RecordWriteLength : public BC_TextBox
63 {
64 public:
65         RecordWriteLength(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, char *text);
66         int handle_event();
67         PreferencesWindow *pwindow;
68 };
69
70 /*
71  * class DuplexEnable : public BC_CheckBox
72  * {
73  * public:
74  *      DuplexEnable(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value);
75  *      int handle_event();
76  *      PreferencesWindow *pwindow;
77  * };
78  *
79  */
80 class RecordRealTime : public BC_CheckBox
81 {
82 public:
83         RecordRealTime(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value);
84         int handle_event();
85         PreferencesWindow *pwindow;
86 };
87
88
89 class RecordSampleRate : public BC_TextBox
90 {
91 public:
92         RecordSampleRate(PreferencesWindow *pwindow, int x, int y);
93         int handle_event();
94         PreferencesWindow *pwindow;
95 };
96
97
98 class RecordRealtimeTOC : public BC_CheckBox
99 {
100 public:
101         RecordRealtimeTOC(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value);
102         int handle_event();
103         PreferencesWindow *pwindow;
104 };
105
106
107 class RecordPositioning : public BC_ListBox
108 {
109         PreferencesWindow *pwindow;
110         BC_TextBox *textbox;
111 public:
112         ArrayList<BC_ListBoxItem*> position_type;
113         RecordPositioning(PreferencesWindow *pwindow,BC_TextBox *textbox);
114         ~RecordPositioning();
115         void create_objects();
116         int handle_event();
117 };
118
119
120 class RecordSyncDrives : public BC_CheckBox
121 {
122 public:
123         RecordSyncDrives(PreferencesWindow *pwindow, int value, int x, int y);
124         int handle_event();
125         PreferencesWindow *pwindow;
126 };
127
128
129 class RecordMap51_2 : public BC_CheckBox
130 {
131 public:
132         RecordMap51_2(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y, int value);
133         int handle_event();
134         PreferencesWindow *pwindow;
135 };
136
137
138 class VideoWriteLength : public BC_TextBox
139 {
140 public:
141         VideoWriteLength(PreferencesWindow *pwindow, char *text, int x, int y);
142         int handle_event();
143         PreferencesWindow *pwindow;
144 };
145
146 class VideoCaptureLength : public BC_TextBox
147 {
148 public:
149         VideoCaptureLength(PreferencesWindow *pwindow, char *text, int x, int y);
150         int handle_event();
151         PreferencesWindow *pwindow;
152 };
153
154 class CaptureLengthTumbler : public BC_Tumbler
155 {
156 public:
157         CaptureLengthTumbler(PreferencesWindow *pwindow, BC_TextBox *text, int x, int y);
158         int handle_up_event();
159         int handle_down_event();
160         PreferencesWindow *pwindow;
161         BC_TextBox *text;
162 };
163
164 class RecordW : public BC_TextBox
165 {
166 public:
167         RecordW(PreferencesWindow *pwindow, int x, int y);
168         int handle_event();
169         PreferencesWindow *pwindow;
170 };
171
172 class RecordH : public BC_TextBox
173 {
174 public:
175         RecordH(PreferencesWindow *pwindow, int x, int y);
176         int handle_event();
177         PreferencesWindow *pwindow;
178 };
179
180 class RecordFrameRate : public BC_TextBox
181 {
182 public:
183         RecordFrameRate(PreferencesWindow *pwindow, int x, int y);
184         int handle_event();
185         PreferencesWindow *pwindow;
186 };
187
188 class RecordFrameRateText : public BC_TextBox
189 {
190         RecordFrameRateText(PreferencesWindow *pwindow, int x, int y);
191         int handle_event();
192         PreferencesWindow *pwindow;
193 };
194
195 class RecordChannels : public BC_TumbleTextBox
196 {
197 public:
198         RecordChannels(PreferencesWindow *pwindow,
199                 BC_SubWindow *gui,
200                 int x,
201                 int y);
202         int handle_event();
203         PreferencesWindow *pwindow;
204 };
205
206 class RecordGain : public BC_TumbleTextBox
207 {
208 public:
209         RecordGain(PreferencesWindow *pwindow,
210                 BC_SubWindow *gui,
211                 int x,
212                 int y);
213         int handle_event();
214         PreferencesWindow *pwindow;
215 };
216
217 #endif