7 #include "browsebutton.h"
8 #include "compresspopup.h"
10 #include "formatpopup.h"
11 #include "mwindow.inc"
19 class FormatPathButton
;
29 FormatTools(MWindow
*mwindow
,
30 BC_WindowBase
*window
,
32 virtual ~FormatTools();
34 int create_objects(int &init_x
,
36 int do_audio
, // Include tools for audio
37 int do_video
, // Include tools for video
38 int prompt_audio
, // Include checkbox for audio
39 int prompt_video
, // Include checkbox for video
40 int prompt_audio_channels
,
41 int prompt_video_compression
,
42 char *locked_compressor
, // Select compressors to be offered
43 int recording
, // Change captions for recording
44 int *strategy
, // If nonzero, prompt for insertion strategy
45 int brender
); // Supply file formats for background rendering
46 // In recording preferences, aspects of the format are locked
47 // depending on the driver used.
48 void update_driver(int driver
);
51 void reposition_window(int &init_x
, int &init_y
);
52 // Put new asset's parameters in and change asset.
53 void update(Asset
*asset
, int *strategy
);
54 // Update filename extension when format is changed.
55 void update_extension();
56 void close_format_windows();
59 // Handle change in path text. Used in BatchRender.
60 virtual int handle_event();
62 int set_audio_options();
63 int set_video_options();
66 BC_WindowBase
*window
;
69 FormatAParams
*aparams_button
;
70 FormatVParams
*vparams_button
;
71 FormatAThread
*aparams_thread
;
72 FormatVThread
*vparams_thread
;
73 BrowseButton
*path_button
;
74 FormatPathText
*path_textbox
;
75 BC_RecentList
*path_recent
;
76 PipeStatus
*pipe_status
;
77 BC_Title
*format_title
;
78 FormatFormat
*format_button
;
79 BC_TextBox
*format_text
;
80 BC_ITumbler
*channels_tumbler
;
82 BC_Title
*audio_title
;
83 BC_Title
*channels_title
;
84 FormatChannels
*channels_button
;
85 FormatAudio
*audio_switch
;
87 BC_Title
*video_title
;
88 FormatVideo
*video_switch
;
90 FormatMultiple
*multiple_files
;
92 ArrayList
<PluginServer
*> *plugindb
;
94 char *locked_compressor
;
100 int prompt_audio_channels
;
102 int prompt_video_compression
;
105 // Determines what the configuration buttons do.
111 class FormatPathText
: public BC_TextBox
114 FormatPathText(int x
, int y
, FormatTools
*format
);
123 class FormatFormat
: public FormatPopup
126 FormatFormat(int x
, int y
, FormatTools
*format
);
133 class FormatAParams
: public BC_Button
136 FormatAParams(MWindow
*mwindow
, FormatTools
*format
, int x
, int y
);
142 class FormatVParams
: public BC_Button
145 FormatVParams(MWindow
*mwindow
, FormatTools
*format
, int x
, int y
);
152 class FormatAThread
: public Thread
155 FormatAThread(FormatTools
*format
);
164 class FormatVThread
: public Thread
167 FormatVThread(FormatTools
*format
);
176 class FormatAudio
: public BC_CheckBox
179 FormatAudio(int x
, int y
, FormatTools
*format
, int default_
);
185 class FormatVideo
: public BC_CheckBox
188 FormatVideo(int x
, int y
, FormatTools
*format
, int default_
);
195 class FormatChannels
: public BC_TextBox
198 FormatChannels(int x
, int y
, FormatTools
*format
);
204 class FormatToTracks
: public BC_CheckBox
207 FormatToTracks(int x
, int y
, int *output
);
213 class FormatMultiple
: public BC_CheckBox
216 FormatMultiple(MWindow
*mwindow
, int x
, int y
, int *output
);
219 void update(int *output
);