BatchRenderGUI::~BatchRenderGUI()
{
lock_window("BatchRenderGUI::~BatchRenderGUI");
+ loadlist_batch->stop();
+ savelist_batch->stop();
delete format_tools;
unlock_window();
}
}
BatchRenderSaveList::~BatchRenderSaveList()
+{
+ stop();
+ delete startup_lock;
+}
+
+void BatchRenderSaveList::stop()
{
startup_lock->lock("BatchRenderSaveList::~BrowseButton");
- if( gui ) {
- gui->lock_window();
- gui->set_done(1);
- gui->unlock_window();
- }
+ if( gui ) gui->set_done(1);
startup_lock->unlock();
Thread::join();
- delete startup_lock;
}
int BatchRenderSaveList::handle_event()
thread->save_jobs(thread->batch_path);
}
- this->thread->gui->flush();
startup_lock->lock("BatchRenderLoadList::run");
gui = 0;
startup_lock->unlock();
}
BatchRenderLoadList::~BatchRenderLoadList()
+{
+ stop();
+ delete startup_lock;
+}
+
+void BatchRenderLoadList::stop()
{
startup_lock->lock("BatchRenderLoadList::~BrowseButton");
- if( gui ) {
- gui->lock_window();
- gui->set_done(1);
- gui->unlock_window();
- }
+ if( gui ) gui->set_done(1);
startup_lock->unlock();
Thread::join();
- delete startup_lock;
}
int BatchRenderLoadList::handle_event()
thread->gui->change_job();
}
- thread->gui->flush();
startup_lock->lock("BatchRenderLoadList::run");
gui = 0;
startup_lock->unlock();
BatchRenderThread *thread;
BC_FileBox *gui;
void run();
+ void stop();
virtual int keypress_event();
Mutex *startup_lock;
};
BatchRenderThread *thread;
BC_FileBox *gui;
void run();
+ void stop();
virtual int keypress_event();
Mutex *startup_lock;
};
{
FileXML file;
+ LocalSession *src = source->local_session;
double src_start = all ? 0 :
- source->local_session->get_selectionstart();
- double overwrite_len = all ? source->tracks->total_length() :
- source->local_session->get_selectionend() - src_start;
+ src->inpoint_valid() ? src->get_inpoint() :
+ src->outpoint_valid() ? 0 :
+ src->get_selectionstart();
+ double src_end = all ? source->tracks->total_length() :
+ src->outpoint_valid() ? src->get_outpoint() :
+ src->inpoint_valid() ? source->tracks->total_length() :
+ src->get_selectionend();
+ double overwrite_len = src_end - src_start;
double dst_start = edl->local_session->get_selectionstart();
double dst_len = edl->local_session->get_selectionend() - dst_start;
void MWindow::splice(EDL *source, int all)
{
FileXML file;
+ LocalSession *src = source->local_session;
undo->update_undo_before();
double source_start = all ? 0 :
- source->local_session->get_selectionstart();
+ src->inpoint_valid() ? src->get_inpoint() :
+ src->outpoint_valid() ? 0 : src->get_selectionstart();
double source_end = all ? source->tracks->total_length() :
- source->local_session->get_selectionend();
+ src->outpoint_valid() ? src->get_outpoint() :
+ src->inpoint_valid() ? source->tracks->total_length() :
+ src->get_selectionend();
source->copy(source_start, source_end, 1, &file, "", 1);
//file.dump();
double start = edl->local_session->get_selectionstart();
int PreferencesApply::handle_event()
{
thread->apply_settings();
+ mwindow->save_defaults();
return 1;
}
int PreferencesApply::resize_event(int w, int h)
BC_FileBoxFilterText::BC_FileBoxFilterText(int x, int y, BC_FileBox *filebox)
- : BC_TextBox(x, y, filebox->get_w() - 50, 1, filebox->get_resources()->filebox_filter)
+ : BC_TextBox(x, y, filebox->get_w() - x - 50, 1, filebox->get_resources()->filebox_filter)
{
this->filebox = filebox;
}
column_type = new int[columns];
column_width = new int[columns];
+ filter_title = 0;
filter_text = 0;
filter_popup = 0;
usethis_button = 0;
y += textbox->get_h() + 10;
if(!want_directory) {
- add_subwindow(filter_text = new BC_FileBoxFilterText(x, y, this));
+ add_subwindow(filter_title = new BC_Title(x, y, _("Specify filter:")));
+ int x1 = x + filter_title->get_w() + 10;
+ add_subwindow(filter_text = new BC_FileBoxFilterText(x1, y, this));
add_subwindow(filter_popup =
- new BC_FileBoxFilterMenu(x + filter_text->get_w(), y, this));;
+ new BC_FileBoxFilterMenu(x1 + filter_text->get_w(), y, this));
}
// listbox has to be active because refresh might be called from newfolder_thread
w - 30,
0);
-
+ if(filter_title) filter_title->reposition_window(filter_title->get_x(),
+ h - (get_h() - filter_title->get_y()));
if(filter_text) filter_text->reposition_window(filter_text->get_x(),
h - (get_h() - filter_text->get_y()),
w - (get_w() - filter_text->get_w()),
BC_FileBoxRecent *recent_popup;
BC_FileBoxTextBox *textbox;
BC_FileBoxListBox *listbox;
+ BC_Title *filter_title;
BC_FileBoxFilterText *filter_text;
BC_FileBoxFilterMenu *filter_popup;
BC_TextBox *directory_title;