r689: Fixed that changes made by dragging a control would often store each
[cinelerra_cv.git] / cinelerra / playbackprefs.h
blob9ec8532225d2872174b419384d1665b427727588
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;
24 class TimecodeOffset;
27 #include "adeviceprefs.h"
28 #include "guicast.h"
29 #include "mwindow.inc"
30 #include "preferencesthread.h"
31 #include "vdeviceprefs.h"
33 class PlaybackPrefs : public PreferencesDialog
35 public:
36 PlaybackPrefs(MWindow *mwindow, PreferencesWindow *pwindow);
37 ~PlaybackPrefs();
39 int create_objects();
40 // int set_strategy(int strategy);
41 int get_buffer_bytes();
43 static char* strategy_to_string(int strategy);
44 void delete_strategy();
47 * ArrayList<PlaybackConfig*>* current_config_list();
48 * PlaybackConfig* current_config();
50 void update(int interpolation);
51 int draw_framerate();
53 ADevicePrefs *audio_device;
54 VDevicePrefs *video_device;
55 ArrayList<BC_ListBoxItem*> strategies;
57 PlaybackConfig *playback_config;
58 BC_Title *framerate_title;
59 PlaybackNearest *nearest_neighbor;
60 PlaybackBicubicBicubic *cubic_cubic;
61 PlaybackBicubicBilinear *cubic_linear;
62 PlaybackBilinearBilinear *linear_linear;
63 PlaybackDeblock *mpeg4_deblock;
65 // int64_t current_head;
66 // BC_Title *head_title;
67 // BC_Title *host_title;
68 // BC_Title *head_count_title;
69 BC_Title *vdevice_title;
70 // PlaybackHead *head_text;
71 // PlaybackHeadCount *head_count_text;
72 // PlaybackHost *host_text;
75 class PlaybackModuleFragment : public BC_PopupMenu
77 public:
78 PlaybackModuleFragment(int x,
79 int y,
80 PreferencesWindow *pwindow,
81 PlaybackPrefs *playback,
82 char *text);
83 int handle_event();
84 PreferencesWindow *pwindow;
85 PlaybackPrefs *playback;
88 class PlaybackAudioOffset : public BC_TumbleTextBox
90 public:
91 PlaybackAudioOffset(PreferencesWindow *pwindow,
92 PlaybackPrefs *subwindow,
93 int x,
94 int y);
95 int handle_event();
96 PreferencesWindow *pwindow;
97 PlaybackPrefs *playback;
101 class PlaybackViewFollows : public BC_CheckBox
103 public:
104 PlaybackViewFollows(PreferencesWindow *pwindow, int value, int y);
105 int handle_event();
106 PreferencesWindow *pwindow;
109 class PlaybackSoftwareTimer : public BC_CheckBox
111 public:
112 PlaybackSoftwareTimer(PreferencesWindow *pwindow, int value, int y);
113 int handle_event();
114 PreferencesWindow *pwindow;
117 class PlaybackRealTime : public BC_CheckBox
119 public:
120 PlaybackRealTime(PreferencesWindow *pwindow, int value, int y);
121 int handle_event();
122 PreferencesWindow *pwindow;
125 class VideoEveryFrame : public BC_CheckBox
127 public:
128 VideoEveryFrame(PreferencesWindow *pwindow, int x, int y);
129 int handle_event();
130 PreferencesWindow *pwindow;
133 class PlaybackDeblock : public BC_CheckBox
135 public:
136 PlaybackDeblock(PreferencesWindow *pwindow, int x, int y);
137 int handle_event();
138 PreferencesWindow *pwindow;
141 class PlaybackNearest : public BC_Radial
143 public:
144 PlaybackNearest(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
146 int handle_event();
148 PreferencesWindow *pwindow;
149 PlaybackPrefs *prefs;
152 class PlaybackBicubicBicubic : public BC_Radial
154 public:
155 PlaybackBicubicBicubic(PreferencesWindow *pwindow, PlaybackPrefs *prefs, int value, int x, int y);
157 int handle_event();
159 PreferencesWindow *pwindow;
160 PlaybackPrefs *prefs;
163 class PlaybackBicubicBilinear : public BC_Radial
165 public:
166 PlaybackBicubicBilinear(PreferencesWindow *pwindow,
167 PlaybackPrefs *prefs,
168 int value,
169 int x,
170 int y);
172 int handle_event();
174 PreferencesWindow *pwindow;
175 PlaybackPrefs *prefs;
178 class PlaybackBilinearBilinear : public BC_Radial
180 public:
181 PlaybackBilinearBilinear(PreferencesWindow *pwindow,
182 PlaybackPrefs *prefs,
183 int value,
184 int x,
185 int y);
187 int handle_event();
189 PreferencesWindow *pwindow;
190 PlaybackPrefs *prefs;
193 class PlaybackPreload : public BC_TextBox
195 public:
196 PlaybackPreload(int x,
197 int y,
198 PreferencesWindow *pwindow,
199 PlaybackPrefs *playback,
200 char *text);
201 int handle_event();
202 PreferencesWindow *pwindow;
203 PlaybackPrefs *playback;
206 class TimecodeOffset : public BC_TextBox
208 public:
209 TimecodeOffset(int x, int y, PreferencesWindow *pwindow,
210 PlaybackPrefs *playback, char *text, int unit);
211 int handle_event();
212 int unit;
213 PlaybackPrefs *playback;
214 PreferencesWindow *pwindow;
219 #endif