X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowgui.C;h=560b079e448b4eb7e0cffbd7fee30532e9fc2bdb;hb=166867a58d74619aa11aeb562a994cc364d62231;hp=006d6ddc59f148e764d5d55d8af2eb44242fc86b;hpb=205a66f9f2abd6eac72076f773ce5d75921fa151;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index 006d6ddc..560b079e 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -760,7 +760,9 @@ 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 + 0) // use_timecode { this->mwindow = mwindow; this->cwindow = cwindow; @@ -825,6 +827,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, @@ -1098,6 +1101,7 @@ int CWindowCanvas::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(); } @@ -1107,6 +1111,7 @@ void CWindowCanvas::draw_scope(VFrame *output, int refresh) 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); } @@ -3049,9 +3054,13 @@ int CWindowCanvas::test_bezier(int button_press, redraw = 1; } - float x_val = gui->affected_x->get_value(); - float y_val = gui->affected_y->get_value(); - float z_val = gui->affected_z->get_value(); + CWindowToolGUI *tool_gui = !gui->tool_panel ? 0 : gui->tool_panel->tool_gui; + int edge = tool_gui ? tool_gui->edge : 0; + int span = tool_gui ? tool_gui->span : 0; + + float x_val = gui->affected_x->get_value(edge); + float y_val = gui->affected_y->get_value(edge); + float z_val = gui->affected_z->get_value(edge); if( gui->translating_zoom ) { float z = gui->center_z + (cursor_y - gui->y_origin) / yS(128); @@ -3061,7 +3070,7 @@ int CWindowCanvas::test_bezier(int button_press, redraw = 1; redraw_canvas = 1; } - gui->affected_z->set_value(z); + gui->affected_z->bump_value(z, edge, span); } else { float dx = cursor_x - gui->x_origin; @@ -3072,8 +3081,8 @@ int CWindowCanvas::test_bezier(int button_press, } float x = gui->center_x + dx; float y = gui->center_y + dy; - gui->affected_x->set_value(x); - gui->affected_y->set_value(y); + gui->affected_x->bump_value(x, edge, span); + gui->affected_y->bump_value(y, edge, span); if( !EQUIV(x_val, x) || !EQUIV(y_val, y) ) { rerender = 1; redraw = 1; @@ -3342,6 +3351,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: