diff options
author | Carl Hetherington <carl@carlh.net> | 2010-06-28 02:40:09 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-06-28 02:40:09 +0000 |
commit | ed19559ece9c2420a2d590f1e9c3c6c9c62e90ab (patch) | |
tree | 397f797024fa4cd6dfa24e7242dd5c13878643a2 /gtk2_ardour/crossfade_edit.cc | |
parent | c8e07653daab1b8d5e77aada9ed9a351907c71f1 (diff) |
Generate undo record for crossfade edits, and provide signalling to update the view when such things are undone. Partially fixes #3257.
git-svn-id: svn://localhost/ardour2/branches/3.0@7309 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/crossfade_edit.cc')
-rw-r--r-- | gtk2_ardour/crossfade_edit.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/crossfade_edit.cc b/gtk2_ardour/crossfade_edit.cc index 382f6afd09..43a1c741df 100644 --- a/gtk2_ardour/crossfade_edit.cc +++ b/gtk2_ardour/crossfade_edit.cc @@ -27,6 +27,7 @@ #include <libgnomecanvasmm/line.h> +#include "pbd/memento_command.h" #include "ardour/automation_list.h" #include "evoral/Curve.hpp" #include "ardour/crossfade.h" @@ -783,7 +784,14 @@ CrossfadeEditor::apply_preset (Preset *preset) void CrossfadeEditor::apply () { + _session->begin_reversible_command (_("Edit crossfade")); + + XMLNode& before = xfade->get_state (); + _apply_to (xfade); + + _session->add_command (new MementoCommand<Crossfade> (*xfade.get(), &before, &xfade->get_state())); + _session->commit_reversible_command (); } void |