r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / formattools.h
blob09637cd1e1018bdd2162360f0ac03e0769239a88
1 #ifndef FORMATTOOLS_H
2 #define FORMATTOOLS_H
4 #include "assets.inc"
5 #include "guicast.h"
6 #include "bitspopup.h"
7 #include "browsebutton.h"
8 #include "compresspopup.h"
9 #include "file.inc"
10 #include "formatpopup.h"
11 #include "mwindow.inc"
13 class FormatAParams;
14 class FormatVParams;
15 class FormatAThread;
16 class FormatVThread;
17 class FormatChannels;
18 class FormatPathButton;
19 class FormatPathText;
20 class FormatFormat;
21 class FormatAudio;
22 class FormatVideo;
23 class FormatMultiple;
25 class FormatTools
27 public:
28 FormatTools(MWindow *mwindow,
29 BC_WindowBase *window,
30 Asset *asset);
31 ~FormatTools();
33 int create_objects(int &init_x,
34 int &init_y,
35 int do_audio, // Include tools for audio
36 int do_video, // Include tools for video
37 int prompt_audio, // Include checkbox for audio
38 int prompt_video, // Include checkbox for video
39 int prompt_audio_channels,
40 int prompt_video_compression,
41 int lock_compressor, // Select compressors to be offered
42 int recording, // Change captions for recording
43 int *strategy, // If nonzero, prompt for insertion strategy
44 int brender); // Supply file formats for background rendering
45 void reposition_window(int &init_x, int &init_y);
47 int set_audio_options();
48 int set_video_options();
50 BC_WindowBase *window;
51 Asset *asset;
53 FormatAParams *aparams_button;
54 FormatVParams *vparams_button;
55 FormatAThread *aparams_thread;
56 FormatVThread *vparams_thread;
57 BrowseButton *path_button;
58 FormatPathText *path_textbox;
59 BC_Title *format_title;
60 FormatFormat *format_button;
61 BC_TextBox *format_text;
62 BC_ITumbler *channels_tumbler;
64 BC_Title *audio_title;
65 BC_Title *channels_title;
66 FormatChannels *channels_button;
67 FormatAudio *audio_switch;
69 BC_Title *video_title;
70 FormatVideo *video_switch;
72 FormatMultiple *multiple_files;
74 ArrayList<PluginServer*> *plugindb;
75 MWindow *mwindow;
76 int lock_compressor;
77 int recording;
78 int use_brender;
79 int do_audio;
80 int do_video;
81 int prompt_audio;
82 int prompt_audio_channels;
83 int prompt_video;
84 int prompt_video_compression;
85 int *strategy;
90 class FormatPathText : public BC_TextBox
92 public:
93 FormatPathText(int x, int y, FormatTools *format, Asset *asset);
94 ~FormatPathText();
95 int handle_event();
97 Asset *asset;
98 FormatTools *format;
103 class FormatFormat : public FormatPopup
105 public:
106 FormatFormat(int x, int y, FormatTools *format, Asset *asset);
107 ~FormatFormat();
109 int handle_event();
110 FormatTools *format;
111 Asset *asset;
114 class FormatAParams : public BC_Button
116 public:
117 FormatAParams(MWindow *mwindow, FormatTools *format, int x, int y);
118 ~FormatAParams();
119 int handle_event();
120 FormatTools *format;
123 class FormatVParams : public BC_Button
125 public:
126 FormatVParams(MWindow *mwindow, FormatTools *format, int x, int y);
127 ~FormatVParams();
128 int handle_event();
129 FormatTools *format;
133 class FormatAThread : public Thread
135 public:
136 FormatAThread(FormatTools *format);
137 ~FormatAThread();
139 void run();
141 FormatTools *format;
142 File *file;
145 class FormatVThread : public Thread
147 public:
148 FormatVThread(FormatTools *format, int lock_compressor);
149 ~FormatVThread();
151 void run();
153 FormatTools *format;
154 File *file;
155 int lock_compressor;
158 class FormatAudio : public BC_CheckBox
160 public:
161 FormatAudio(int x, int y, FormatTools *format, int default_);
162 ~FormatAudio();
163 int handle_event();
164 FormatTools *format;
167 class FormatVideo : public BC_CheckBox
169 public:
170 FormatVideo(int x, int y, FormatTools *format, int default_);
171 ~FormatVideo();
172 int handle_event();
173 FormatTools *format;
177 class FormatChannels : public BC_TextBox
179 public:
180 FormatChannels(int x, int y, Asset *asset);
181 ~FormatChannels();
182 int handle_event();
184 Asset *asset;
187 class FormatToTracks : public BC_CheckBox
189 public:
190 FormatToTracks(int x, int y, int *output);
191 ~FormatToTracks();
192 int handle_event();
193 int *output;
196 class FormatMultiple : public BC_CheckBox
198 public:
199 FormatMultiple(MWindow *mwindow, int x, int y, int *output);
200 ~FormatMultiple();
201 int handle_event();
202 int *output;
203 MWindow *mwindow;
207 #endif