format_button = 0;
format_text = 0;
audio_title = 0;
- audio_switch = 0;
video_title = 0;
- video_switch = 0;
channels_title = 0;
channels_button = 0;
multiple_files = 0;
- file_entries = 0;
w = window->get_w();
recording = 0;
if(vparams_thread) delete vparams_thread;
SET_TRACE
if(channels_tumbler) delete channels_tumbler;
-SET_TRACE
- if(file_entries)
- {
- file_entries->remove_all_objects();
- delete file_entries;
- }
}
-void FormatTools::create_objects(int &init_x,
- int &init_y,
- int do_audio, // Include support for audio
- int do_video, // Include support for video
- int prompt_audio, // Include checkbox for audio
- int prompt_video,
- int prompt_audio_channels,
- int prompt_video_compression,
- const char *locked_compressor,
- int recording,
- int *strategy,
- int brender,
- int horizontal_layout)
+void FormatTools::create_objects(
+ int &init_x, int &init_y,
+ int do_audio, int do_video, // Include support for audio, video
+ int prompt_audio, int prompt_video, // Include checkbox for audio, video
+ int prompt_audio_channels,
+ int prompt_video_compression,
+ const char *locked_compressor,
+ int recording,
+ int *strategy,
+ int brender,
+ int horizontal_layout)
{
int x = init_x;
int y = init_y;
int ylev = init_y;
+ int margin = mwindow->theme->widget_border;
this->locked_compressor = locked_compressor;
this->recording = recording;
this->prompt_video_compression = prompt_video_compression;
this->strategy = strategy;
-
- file_entries = new ArrayList<BC_ListBoxItem*>;
- FileSystem fs;
- char string[BCTEXTLEN];
-// Load current directory
- fs.update(getcwd(string, BCTEXTLEN));
- for(int i = 0; i < fs.total_files(); i++)
- {
- file_entries->append(
- new BC_ListBoxItem(
- fs.get_entry(i)->get_name()));
- }
-
//printf("FormatTools::create_objects 1\n");
// Modify strategy depending on render farm
path_textbox, 10, px, y, 300, 100);
window->add_subwindow(path_recent);
path_recent->load_items(File::formattostr(asset->format));
- px += path_recent->get_w() + 8;
+ px += path_recent->get_w();
window->add_subwindow(path_button = new BrowseButton(
- mwindow, window, path_textbox, px, y, asset->path,
+ mwindow->theme, window, path_textbox, px, y, asset->path,
_("Output to file"), _("Select a file to write to:"), 0));
// Set w for user.
x = init_x;
window->add_subwindow(format_title = new BC_Title(x, y, _("File Format:")));
- x += 90;
+ x += format_title->get_w() + margin;
window->add_subwindow(format_text = new BC_TextBox(x, y, 160, 1,
File::formattostr(asset->format)));
- x += format_text->get_w();
+ x += format_text->get_w() + margin;
//printf("FormatTools::create_objects %d %p\n", __LINE__, window);
window->add_subwindow(format_button = new FormatFormat(x, y, this));
format_button->create_objects();
format_ffmpeg->create_objects();
x = init_x;
y += format_button->get_h() + 10;
- if(do_audio)
- {
- window->add_subwindow(audio_title = new BC_Title(x, y, _("Audio:"), LARGEFONT, BC_WindowBase::get_resources()->audiovideo_color));
- x += 80;
+ if( do_audio ) {
+ window->add_subwindow(audio_title = new BC_Title(x, y, _("Audio:"), LARGEFONT,
+ BC_WindowBase::get_resources()->audiovideo_color));
+ x += audio_title->get_w() + margin;
window->add_subwindow(aparams_button = new FormatAParams(mwindow, this, x, y));
- x += aparams_button->get_w() + 10;
- if(prompt_audio)
- {
+ x += aparams_button->get_w() + margin;
+ if(prompt_audio) {
window->add_subwindow(audio_switch = new FormatAudio(x, y, this, asset->audio_data));
}
x = init_x;
}
//printf("FormatTools::create_objects 7\n");
- if(do_video)
- {
- if(horizontal_layout && do_audio){
+ if( do_video ) {
+ if( horizontal_layout && do_audio ) {
x += 370;
y = ylev;
}
//printf("FormatTools::create_objects 8\n");
- window->add_subwindow(video_title = new BC_Title(x, y, _("Video:"), LARGEFONT, BC_WindowBase::get_resources()->audiovideo_color));
- x += 80;
- if(prompt_video_compression)
- {
+ window->add_subwindow(video_title = new BC_Title(x, y, _("Video:"), LARGEFONT,
+ BC_WindowBase::get_resources()->audiovideo_color));
+ x += video_title->get_w() + margin;
+ if(prompt_video_compression) {
window->add_subwindow(vparams_button = new FormatVParams(mwindow, this, x, y));
- x += vparams_button->get_w() + 10;
+ x += vparams_button->get_w() + margin;
}
//printf("FormatTools::create_objects 9\n");
- if(prompt_video)
- {
+ if(prompt_video) {
window->add_subwindow(video_switch = new FormatVideo(x, y, this, asset->video_data));
y += video_switch->get_h();
}
- else
- {
+ else {
y += vparams_button->get_h();
}
{
if( do_audio && prompt_audio && audio_switch ) {
audio_switch->update(asset->audio_data);
- if( !asset->audio_data )
- audio_switch->disable();
- else
+ if( File::renders_audio(asset) )
audio_switch->enable();
+ else
+ audio_switch->disable();
}
if( do_video && prompt_video && video_switch ) {
video_switch->update(asset->video_data);
- if( !asset->video_data )
- video_switch->disable();
- else
+ if( File::renders_video(asset) )
video_switch->enable();
+ else
+ video_switch->disable();
}
if( asset->format == FILE_FFMPEG ) {
ffmpeg_type->show();
if(path_textbox)
path_textbox->update(asset->path);
- format_text->update(File::formattostr(plugindb, asset->format));
- if(do_audio && prompt_audio && audio_switch)
- audio_switch->update(asset->audio_data);
- if(do_video && prompt_video && video_switch)
- video_switch->update(asset->video_data);
+ format_text->update(File::formattostr(asset->format));
+ update_format();
if(strategy)
{
multiple_files->update(strategy);
}
int FormatPathText::handle_event()
{
-// Suggestions
- calculate_suggestions(format->file_entries);
-
-
-
+ calculate_suggestions();
strcpy(format->asset->path, get_text());
format->handle_event();
return 1;
FormatFormat::FormatFormat(int x, int y, FormatTools *format)
- : FormatPopup(format->plugindb, x, y, format->use_brender)
+ : FormatPopup(x, y, format->do_audio, format->do_video, format->use_brender)
{
this->format = format;
}
{
BC_ListBoxItem *selection = get_selection(0, 0);
if( selection ) {
- int new_format = File::strtoformat(format->plugindb, get_selection(0, 0)->get_text());
+ int new_format = File::strtoformat(get_selection(0, 0)->get_text());
// if(new_format != format->asset->format)
{
Asset *asset = format->asset;
asset->format = new_format;
- asset->audio_data = File::supports_audio(asset->format);
- asset->video_data = File::supports_video(asset->format);
+ asset->audio_data = File::renders_audio(asset);
+ asset->video_data = File::renders_video(asset);
asset->ff_audio_options[0] = 0;
asset->ff_video_options[0] = 0;
format->format_text->update(selection->get_text());
- format->update_extension();
+ if( !format->use_brender )
+ format->update_extension();
format->close_format_windows();
if (format->path_recent) format->path_recent->
load_items(File::formattostr(format->asset->format));