diff options
author | Hans Fugal <hans@fugal.net> | 2006-07-27 00:19:12 +0000 |
---|---|---|
committer | Hans Fugal <hans@fugal.net> | 2006-07-27 00:19:12 +0000 |
commit | 656d56b12d0b86f9140956badd9c9e11d791549b (patch) | |
tree | 295a9cfa1e8e983516cb3bb1cfafc8e17390509c /gtk2_ardour/route_ui.cc | |
parent | ed31a9a262bcda7ac2ae390793f2302247ddca94 (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.cc | 12 |
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 (); } |