r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / playbackprefs.h
blob1c446af52cfcc613422fdaf4d7c90d34181f2b9a
1 #ifndef PLAYBACKPREFS_H
2 #define PLAYBACKPREFS_H
4 class PlaybackOutPath;
5 class PlaybackOutBits;
6 class PlaybackBufferSize;
7 class PlaybackBufferBytes;
8 class PlaybackOutChannels;
9 class PlaybackViewFollows;
10 class PlaybackRealTime;
11 class PlaybackSoftwareTimer;
12 class PlaybackModuleFragment;
13 class PlaybackReadLength;
14 class PlaybackDisableNoEdits;
15 class PlaybackPreload;
16 class PlaybackNearest;
17 class PlaybackBicubicBicubic;
18 class PlaybackBicubicBilinear;
19 class PlaybackBilinearBilinear;
20 class PlaybackDeblock;
21 class PlaybackHead;
22 class PlaybackHeadCount;
23 class PlaybackHost;
25 #include "adeviceprefs.h"
26 #include "guicast.h"
27 #include "mwindow.inc"
28 #include "preferencesthread.h"
29 #include "vdeviceprefs.h"
31 class PlaybackPrefs : public PreferencesDialog
33 public:
34 PlaybackPrefs(MWindow *mwindow, PreferencesWindow *pwindow);
35 ~PlaybackPrefs();
37 int create_objects();
38 int set_strategy(int strategy);
39 int get_buffer_bytes();
41 static char* strategy_to_string(int strategy);
42 void delete_strategy();
45 ArrayList<PlaybackConfig*>* current_config_list();
46 PlaybackConfig* current_config();
47 void update(int interpolation);
48 int draw_framerate();
50 ADevicePrefs *audio_device;
51 VDevicePrefs *video_device;
52 ArrayList<BC_ListBoxItem*> strategies;
54 BC_Title *framerate_title;
55 PlaybackNearest *nearest_neighbor;
56 PlaybackBicubicBicubic *cubic_cubic;
57 PlaybackBicubicBilinear *cubic_linear;
58 PlaybackBilinearBilinear *linear_linear;
59 PlaybackDeblock *mpeg4_deblock;
61 int64_t current_head;
62 BC_Title *head_title;
63 BC_Title *host_title;
64 BC_Title *head_count_title;
65 BC_Title *vdevice_title;
66 PlaybackHead *head_text;
67 PlaybackHeadCount *head_count_text;
68 PlaybackHost *host_text;
72 class PlaybackStrategy : public BC_PopupTextBox
74 public:
75 PlaybackStrategy(PlaybackPrefs *prefs, int x, int y);
76 int handle_event();
78 PlaybackPrefs *prefs;
81 class PlaybackHead : public BC_TumbleTextBox
83 public:
84 PlaybackHead(PlaybackPrefs *prefs, int x, int y);
85 int handle_event();
86 PlaybackPrefs *prefs;
89 class PlaybackHeadCount : public BC_TumbleTextBox
91 public:
92 PlaybackHeadCount(PlaybackPrefs *prefs, int x, int y);
93 int handle_event();
94 PlaybackPrefs *prefs;
97 class PlaybackHost : public BC_TextBox
99 public:
100 PlaybackHost(PlaybackPrefs *prefs, int x, int y);
101 int handle_event();
102 PlaybackPrefs *prefs;
105 class PlaybackBufferSize : public BC_TextBox
107 public:
108 PlaybackBufferSize(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
109 int handle_event();
110 PreferencesWindow *pwindow;
111 PlaybackPrefs *playback;
114 class PlaybackReadLength : public BC_TextBox
116 public:
117 PlaybackReadLength(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
118 int handle_event();
119 PreferencesWindow *pwindow;
120 PlaybackPrefs *playback;
123 class PlaybackModuleFragment : public BC_TextBox
125 public:
126 PlaybackModuleFragment(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
127 int handle_event();
128 PreferencesWindow *pwindow;
129 PlaybackPrefs *playback;
132 class PlaybackBufferBytes : public BC_Title
134 public:
135 PlaybackBufferBytes(int x, int y, PreferencesWindow *pwindow, PlaybackPrefs *playback, char *text);
137 int update_bytes();
139 PreferencesWindow *pwindow;
140 PlaybackPrefs *playback;
141 char string[1024];
145 class PlaybackDisableNoEdits : public BC_CheckBox
147 public:
148 PlaybackDisableNoEdits(PreferencesWindow *pwindow, int value, int y);
149 int handle_event();
150 PreferencesWindow *pwindow;
153 class PlaybackViewFollows : public BC_CheckBox
155 public:
156 PlaybackViewFollows(PreferencesWindow *pwindow, int value, int y);
157 int handle_event();
158 PreferencesWindow *pwindow;
161 class PlaybackSoftwareTimer : public BC_CheckBox
163 public:
164 PlaybackSoftwareTimer(PreferencesWindow *pwindow, int value, int y);
165 int handle_event();
166 PreferencesWindow *pwindow;
169 class PlaybackRealTime : public BC_CheckBox
171 public:
172 PlaybackRealTime(PreferencesWindow *pwindow, int value, int y);
173 int handle_event();
174 PreferencesWindow *pwindow;
177 class VideoEveryFrame : public BC_CheckBox
179 public:
180 VideoEveryFrame(PreferencesWindow *pwindow, int x, int y);
181 int handle_event();
182 PreferencesWindow *pwindow;
185 class PlaybackDeblock : public BC_CheckBox
187 public:
188 PlaybackDeblock(PreferencesWindow *pwindow, int x, int y);
189 int handle_event();
190 PreferencesWindow *pwindow;
193 class PlaybackNearest : public BC_Radial
195 public:
196 PlaybackNearest(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
198 int handle_event();
200 PreferencesWindow *pwindow;
201 PlaybackPrefs *prefs;
204 class PlaybackBicubicBicubic : public BC_Radial
206 public:
207 PlaybackBicubicBicubic(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
209 int handle_event();
211 PreferencesWindow *pwindow;
212 PlaybackPrefs *prefs;
215 class PlaybackBicubicBilinear : public BC_Radial
217 public:
218 PlaybackBicubicBilinear(PreferencesWindow *pwindow,
219 PlaybackPrefs *prefs,
220 int value,
221 int x,
222 int y);
224 int handle_event();
226 PreferencesWindow *pwindow;
227 PlaybackPrefs *prefs;
230 class PlaybackBilinearBilinear : public BC_Radial
232 public:
233 PlaybackBilinearBilinear(PreferencesWindow *pwindow,
234 PlaybackPrefs *prefs,
235 int value,
236 int x,
237 int y);
239 int handle_event();
241 PreferencesWindow *pwindow;
242 PlaybackPrefs *prefs;
245 class PlaybackPreload : public BC_TextBox
247 public:
248 PlaybackPreload(int x,
249 int y,
250 PreferencesWindow *pwindow,
251 PlaybackPrefs *playback,
252 char *text);
253 int handle_event();
254 PreferencesWindow *pwindow;
255 PlaybackPrefs *playback;
259 #endif