summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
authorHans Fugal <hans@fugal.net>2006-07-27 00:19:12 +0000
committerHans Fugal <hans@fugal.net>2006-07-27 00:19:12 +0000
commit656d56b12d0b86f9140956badd9c9e11d791549b (patch)
tree295a9cfa1e8e983516cb3bb1cfafc8e17390509c /gtk2_ardour/route_ui.cc
parented31a9a262bcda7ac2ae390793f2302247ddca94 (diff)
r205@gandalf: fugalh | 2006-07-26 18:11:47 -0600
More Command conversions git-svn-id: svn://localhost/ardour2/branches/undo@697 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r--gtk2_ardour/route_ui.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 4559058b8d..84aeb9c73b 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -570,8 +570,10 @@ void
RouteUI::reversibly_apply_route_boolean (string name, void (Route::*func)(bool, void *), bool yn, void *arg)
{
_session.begin_reversible_command (name);
- _session.add_undo (bind (mem_fun (_route, func), !yn, (void *) arg));
- _session.add_redo (bind (mem_fun (_route, func), yn, (void *) arg));
+ XMLNode &before = _route.get_state();
+ bind(mem_fun(_route, func), yn, arg)();
+ XMLNode &after = _route.get_state();
+ _session.add_command (MementoCommand<Route>(_route, before, after));
_session.commit_reversible_command ();
}
@@ -579,8 +581,10 @@ void
RouteUI::reversibly_apply_audio_track_boolean (string name, void (AudioTrack::*func)(bool, void *), bool yn, void *arg)
{
_session.begin_reversible_command (name);
- _session.add_undo (bind (mem_fun (*audio_track(), func), !yn, (void *) arg));
- _session.add_redo (bind (mem_fun (*audio_track(), func), yn, (void *) arg));
+ XMLNode &before = audio_track()->get_state();
+ bind (mem_fun (*audio_track(), func), yn, arg)();
+ XMLNode &after = audio_track()->get_state();
+ _session.add_command (MementoCommand<AudioTrack>(*audio_track(), before, after));
_session.commit_reversible_command ();
}