X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fkeyframepopup.C;h=b2992006c8873fea456be276ac40cbf4005cfaed;hb=03bf11ec3f2c7a2077c8f521722d97b9e2eeb383;hp=830867929e6b4d1ecbd32a2913ee356907845a17;hpb=6ad20126d5f82618e5dd4dd2d14b0682a5529d17;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/keyframepopup.C b/cinelerra-5.1/cinelerra/keyframepopup.C index 83086792..b2992006 100644 --- a/cinelerra-5.1/cinelerra/keyframepopup.C +++ b/cinelerra-5.1/cinelerra/keyframepopup.C @@ -2,6 +2,7 @@ /* * CINELERRA * Copyright (C) 2008 Adam Williams + * Copyright (C) 2003-2016 Cinelerra CV contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -629,6 +630,7 @@ KeySpeedPatch::KeySpeedPatch(MWindow *mwindow, PatchGUI *gui, { this->mwindow = mwindow; this->gui = gui; + need_undo = 1; } KeySpeedPatch::~KeySpeedPatch() { @@ -693,8 +695,10 @@ void KeySpeedPatch::update_speed(float v) float change = v - current->get_value(gui->edge); if( !change ) return; gui->change_source = 1; - int need_undo = !speed_autos->auto_exists_for_editing(position); - mwindow->undo->update_undo_before(_("speed"), need_undo ? 0 : this); + if( need_undo ) { + need_undo = 0; + mwindow->undo->update_undo_before(_("speed"), this); + } current->bump_value(v, gui->edge, gui->span); if( track->is_ganged() ) { TrackCanvas *track_canvas = gui->patchbay->pane->canvas; @@ -720,8 +724,10 @@ int KeySpeedOK::handle_event() { MWindow *mwindow = key_speed_patch->mwindow; mwindow->speed_after(1, 1); - mwindow->undo->update_undo_after(_("speed"), + if( !key_speed_patch->need_undo ) { + mwindow->undo->update_undo_after(_("speed"), LOAD_AUTOMATION + LOAD_EDITS + LOAD_TIMEBAR); + } mwindow->resync_guis(); mwindow->gui->close_keyvalue_popup(); return 1;