}
void MWindow::queue_mixers(EDL *edl, int command, int wait_tracking,
- int use_inout, int update_refresh, int toggle_audio)
+ int use_inout, int update_refresh, int toggle_audio, int loop_play)
{
zwindows_lock->lock("MWindow::queue_mixers");
for( int vidx=0; vidx<zwindows.size(); ++vidx ) {
}
zwindow->change_source(mixer_edl);
zwindow->issue_command(command,
- wait_tracking, use_inout, update_refresh, toggle_audio);
+ wait_tracking, use_inout, update_refresh, toggle_audio, loop_play);
}
zwindows_lock->unlock();
}
void MWindow::refresh_mixers()
{
- queue_mixers(edl,CURRENT_FRAME,0,0,1,0);
+ queue_mixers(edl,CURRENT_FRAME,0,0,1,0,0);
}
void MWindow::stop_mixers()
for( int vidx=0; vidx<zwindows.size(); ++vidx ) {
ZWindow *zwindow = zwindows[vidx];
if( zwindow->idx < 0 ) continue;
- zwindow->issue_command(STOP, 0, 0, 0, 0);
+ zwindow->issue_command(STOP, 0, 0, 0, 0, 0);
}
}
void MWindow::stop_brender()
{
if( !brender ) return;
+// cannot be holding mwindow->gui display lock
brender->stop();
}
}
else {
edl->session->brender_start = edl->session->brender_end = 0;
+ gui->unlock_window();
stop_brender();
+ gui->lock_window("MWindow::set_brender_active");
}
if( update ) {
gui->update_timebar(0);
}
}
+void MWindow::stop_transport()
+{
+ gui->stop_transport(gui->get_window_lock() ? "MWindow::stop_transport" : 0);
+}
+
int MWindow::load_filenames(ArrayList<char*> *filenames,
int load_mode,
int update_filename)
const int debug = 0;
if(debug) PRINT_TRACE
- init_brender();
edl->tracks->update_y_pixels(theme);
if(debug) PRINT_TRACE
gui->update(1, 1, 1, 1, 1, 1, 1);
if(debug) PRINT_TRACE
gui->unlock_window();
+ init_brender();
cwindow->gui->lock_window("MWindow::update_project 1");
cwindow->update(0, 0, 1, 1, 1);
if( !vwindow->is_running() ) continue;
vwindow->close_window();
}
+ for( int i=0; i<edl->vwindow_edls.size(); ++i ) {
+ VWindow *vwindow = get_viewer(1, -1);
+ vwindow->change_source(i);
+ }
if(debug) PRINT_TRACE
select_zwindow(0);
close_mixers();