for( int i=channels; --i>=0; ) delete samples[i];
delete render_engine;
- delete cache;
+ cache->remove_user();
delete canvas->refresh_frame;
canvas->refresh_frame = vframe;
canvas->refresh(1);
mwindow->theme->vtransport_x,
mwindow->theme->vtransport_y);
transport->create_objects();
+ transport->set_transport(LOOP_MODE);
//printf("VWindowGUI::create_objects 1\n");
// add_subwindow(fps_title = new BC_Title(mwindow->theme->vedit_x, y, ""));
0, // use_cut
0, // use_commerical
0, // use_goto
- 1) // use_clk2play
+ 1, // use_clk2play
+ 1, // use_scope
+ 0, // use_gang_tracks
+ 0) // use_timecode
{
this->mwindow = mwindow;
this->vwindow = vwindow;
void VWindowEditing::panel_set_auto_keyframes(int v) {}
void VWindowEditing::panel_set_span_keyframes(int v) {}
void VWindowEditing::panel_set_labels_follow_edits(int v) {}
+void VWindowEditing::panel_set_gang_tracks(int v) {}
VWindowSource::VWindowSource(MWindow *mwindow, VWindowGUI *vwindow, int x, int y)
gui->vwindow->delete_source(1, 1);
}
+int VWindowCanvas::scope_on()
+{
+ EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog;
+ if( !scope_dialog || !scope_dialog->scope_gui ) return 0;
+ if( scope_dialog->scope_gui->use_refresh ) return 0;
+ if( scope_dialog->scope_gui->use_release ) return 0;
+ return scope_dialog->running();
+}
+
+void VWindowCanvas::draw_scope(VFrame *output, int refresh)
+{
+ if( !output ) return;
+ EditPanelScopeDialog *scope_dialog = gui->edit_panel->scope_dialog;
+ if( !scope_dialog || !scope_dialog->scope_gui ) return;
+ if( scope_dialog->scope_gui->use_refresh && !refresh ) return;
+ if( scope_dialog->scope_gui->use_release && refresh >= 0 ) return;
+ scope_dialog->process(output);
+}
+
+int VWindowCanvas::button_release_event()
+{
+ BC_WindowBase *window = get_canvas();
+ if( window && !window->get_video_on() )
+ draw_scope(refresh_frame, -1);
+ return Canvas::button_release_event();
+}
void VWindowCanvas::draw_refresh(int flush)
{