X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowgui.C;h=7f5ddf5fa87ef189fc4d7e05474ce94129e77e78;hb=48a6854a1ca58aa291ffc6fe3a48807492dfbef7;hp=1aff4d6c172fa10c3c27cf3aedd2dd7c2c83c557;hpb=6e880be00673eac08e9463e3ce752aaf4c18085b;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index 1aff4d6c..7f5ddf5f 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -760,7 +760,8 @@ CWindowEditing::CWindowEditing(MWindow *mwindow, CWindow *cwindow) 0, // use_commerical 0, // use_goto 1, // use_clk2play - 1) // use_scope + 1, // use_scope + 0) // use_gang_tracks { this->mwindow = mwindow; this->cwindow = cwindow; @@ -825,6 +826,7 @@ void panel_btn(set_editing_mode,(int mode), set_editing_mode(mode)) void panel_btn(set_auto_keyframes,(int v), set_auto_keyframes(v)) void panel_btn(set_span_keyframes,(int v), set_span_keyframes(v)) void panel_btn(set_labels_follow_edits,(int v), set_labels_follow_edits(v)) +void panel_btn(set_gang_tracks,(int v), set_gang_tracks(v)) CWindowMeters::CWindowMeters(MWindow *mwindow, @@ -1095,14 +1097,21 @@ int CWindowCanvas::do_scroll(EDL *edl, float cursor_x, float cursor_y) int CWindowCanvas::scope_on() { - return !gui->edit_panel->scope_dialog ? 0 : - gui->edit_panel->scope_dialog->running(); + 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 CWindowCanvas::draw_scope(VFrame *output) +void CWindowCanvas::draw_scope(VFrame *output, int refresh) { - if( gui->edit_panel->scope_dialog && output ) - gui->edit_panel->scope_dialog->process(output); + 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); } void CWindowCanvas::draw_refresh(int flush) @@ -3337,6 +3346,9 @@ int CWindowCanvas::button_release_event() { int result = 0; const char *undo_label = 0; + BC_WindowBase *window = get_canvas(); + if( window && !window->get_video_on() ) + draw_scope(refresh_frame, -1); switch( gui->current_operation ) { case CWINDOW_SCROLL: