7 #include "browsebutton.h"
8 #include "compresspopup.h"
10 #include "formatpopup.h"
11 #include "mwindow.inc"
18 class FormatPathButton
;
28 FormatTools(MWindow
*mwindow
,
29 BC_WindowBase
*window
,
31 virtual ~FormatTools();
33 int create_objects(int &init_x
,
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 char *locked_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 // In recording preferences, aspects of the format are locked
46 // depending on the driver used.
47 void update_driver(int driver
);
50 void reposition_window(int &init_x
, int &init_y
);
51 // Put new asset's parameters in and change asset.
52 void update(Asset
*asset
, int *strategy
);
53 // Update filename extension when format is changed.
54 void update_extension();
55 void close_format_windows();
58 // Handle change in path text. Used in BatchRender.
59 virtual int handle_event();
61 int set_audio_options();
62 int set_video_options();
65 BC_WindowBase
*window
;
68 FormatAParams
*aparams_button
;
69 FormatVParams
*vparams_button
;
70 FormatAThread
*aparams_thread
;
71 FormatVThread
*vparams_thread
;
72 BrowseButton
*path_button
;
73 FormatPathText
*path_textbox
;
74 BC_RecentList
*path_recent
;
75 BC_Title
*format_title
;
76 FormatFormat
*format_button
;
77 BC_TextBox
*format_text
;
78 BC_ITumbler
*channels_tumbler
;
80 BC_Title
*audio_title
;
81 BC_Title
*channels_title
;
82 FormatChannels
*channels_button
;
83 FormatAudio
*audio_switch
;
85 BC_Title
*video_title
;
86 FormatVideo
*video_switch
;
88 FormatMultiple
*multiple_files
;
90 ArrayList
<PluginServer
*> *plugindb
;
92 char *locked_compressor
;
98 int prompt_audio_channels
;
100 int prompt_video_compression
;
103 // Determines what the configuration buttons do.
109 class FormatPathText
: public BC_TextBox
112 FormatPathText(int x
, int y
, FormatTools
*format
);
121 class FormatFormat
: public FormatPopup
124 FormatFormat(int x
, int y
, FormatTools
*format
);
131 class FormatAParams
: public BC_Button
134 FormatAParams(MWindow
*mwindow
, FormatTools
*format
, int x
, int y
);
140 class FormatVParams
: public BC_Button
143 FormatVParams(MWindow
*mwindow
, FormatTools
*format
, int x
, int y
);
150 class FormatAThread
: public Thread
153 FormatAThread(FormatTools
*format
);
162 class FormatVThread
: public Thread
165 FormatVThread(FormatTools
*format
);
174 class FormatAudio
: public BC_CheckBox
177 FormatAudio(int x
, int y
, FormatTools
*format
, int default_
);
183 class FormatVideo
: public BC_CheckBox
186 FormatVideo(int x
, int y
, FormatTools
*format
, int default_
);
193 class FormatChannels
: public BC_TextBox
196 FormatChannels(int x
, int y
, FormatTools
*format
);
202 class FormatToTracks
: public BC_CheckBox
205 FormatToTracks(int x
, int y
, int *output
);
211 class FormatMultiple
: public BC_CheckBox
214 FormatMultiple(MWindow
*mwindow
, int x
, int y
, int *output
);
217 void update(int *output
);