summaryrefslogtreecommitdiff
path: root/gtk2_ardour/location_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/location_ui.cc')
-rw-r--r--gtk2_ardour/location_ui.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc
index f0fe230b57..08d5a0b3af 100644
--- a/gtk2_ardour/location_ui.cc
+++ b/gtk2_ardour/location_ui.cc
@@ -654,9 +654,11 @@ gint LocationUI::do_location_remove (ARDOUR::Location *loc)
}
session->begin_reversible_command (_("remove marker"));
- session->add_undo (session->locations()->get_memento());
+ XMLNode &before, &after;
+ before = session->locations()->get_state();
session->locations()->remove (loc);
- session->add_redo_no_execute (session->locations()->get_memento());
+ after = session->locations()->get_state();
+ session->add_command(MementoCommand<Location>(*(session->locations()), before, after));
session->commit_reversible_command ();
return FALSE;
@@ -772,9 +774,10 @@ LocationUI::add_new_location()
jack_nframes_t where = session->audible_frame();
Location *location = new Location (where, where, "mark", Location::IsMark);
session->begin_reversible_command (_("add marker"));
- session->add_undo (session->locations()->get_memento());
+ XMLNode &before = session->locations()->get_state();
session->locations()->add (location, true);
- session->add_redo_no_execute (session->locations()->get_memento());
+ XMLNode &after = session->locations()->get_state();
+ session->add_command (MementoCommand<Locations>(*(session->locations()), before, after));
session->commit_reversible_command ();
}
@@ -788,9 +791,10 @@ LocationUI::add_new_range()
Location *location = new Location (where, where, "unnamed",
Location::IsRangeMarker);
session->begin_reversible_command (_("add range marker"));
- session->add_undo (session->locations()->get_memento());
+ XMLNode &before = session->locations()->get_state();
session->locations()->add (location, true);
- session->add_redo_no_execute (session->locations()->get_memento());
+ XMLNode &after = session->locations()->get_state();
+ session->add_command (MementoCommand<Locations>(*(session->locations()), before, after));
session->commit_reversible_command ();
}
}