projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version update
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
keyframepopup.C
diff --git
a/cinelerra-5.1/cinelerra/keyframepopup.C
b/cinelerra-5.1/cinelerra/keyframepopup.C
index 8c8e582b8bd1d3a6a9578b240be3f0eaa377541f..b2992006c8873fea456be276ac40cbf4005cfaed 100644
(file)
--- a/
cinelerra-5.1/cinelerra/keyframepopup.C
+++ b/
cinelerra-5.1/cinelerra/keyframepopup.C
@@
-2,6
+2,7
@@
/*
* CINELERRA
* Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
/*
* CINELERRA
* Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ * 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
*
* 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
@@
-200,7
+201,7
@@
int KeyframePopupDelete::handle_event()
mwindow->undo->update_undo_before(_("delete keyframe"), 0);
mwindow->speed_before();
delete popup->keyframe_auto;
mwindow->undo->update_undo_before(_("delete keyframe"), 0);
mwindow->speed_before();
delete popup->keyframe_auto;
- mwindow->speed_after(1);
+ mwindow->speed_after(1
, 1
);
mwindow->undo->update_undo_after(_("delete keyframe"), LOAD_ALL);
mwindow->save_backup();
mwindow->undo->update_undo_after(_("delete keyframe"), LOAD_ALL);
mwindow->save_backup();
@@
-629,6
+630,7
@@
KeySpeedPatch::KeySpeedPatch(MWindow *mwindow, PatchGUI *gui,
{
this->mwindow = mwindow;
this->gui = gui;
{
this->mwindow = mwindow;
this->gui = gui;
+ need_undo = 1;
}
KeySpeedPatch::~KeySpeedPatch()
{
}
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;
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;
current->bump_value(v, gui->edge, gui->span);
if( track->is_ganged() ) {
TrackCanvas *track_canvas = gui->patchbay->pane->canvas;
@@
-702,8
+706,6
@@
void KeySpeedPatch::update_speed(float v)
track_canvas->update_ganged_autos(0, track, current);
track_canvas->clear_ganged_autos();
}
track_canvas->update_ganged_autos(0, track, current);
track_canvas->clear_ganged_autos();
}
- mwindow->undo->update_undo_after(_("speed"),
- LOAD_AUTOMATION + LOAD_EDITS + LOAD_TIMEBAR);
gui->change_source = 0;
mwindow->sync_parameters(CHANGE_PARAMS);
gui->change_source = 0;
mwindow->sync_parameters(CHANGE_PARAMS);
@@
-721,7
+723,11
@@
KeySpeedOK::KeySpeedOK(KeySpeedPatch *key_speed_patch, int x, int y, VFrame **im
int KeySpeedOK::handle_event()
{
MWindow *mwindow = key_speed_patch->mwindow;
int KeySpeedOK::handle_event()
{
MWindow *mwindow = key_speed_patch->mwindow;
- mwindow->speed_after(1);
+ mwindow->speed_after(1, 1);
+ 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;
mwindow->resync_guis();
mwindow->gui->close_keyvalue_popup();
return 1;