diff options
author | Hans Fugal <hans@fugal.net> | 2006-08-04 03:42:34 +0000 |
---|---|---|
committer | Hans Fugal <hans@fugal.net> | 2006-08-04 03:42:34 +0000 |
commit | 5756373841675a879833f98bb4008dd0c40714d3 (patch) | |
tree | 5ab9e96d4e4314554a818b541bbc8e0e5f0c3e70 /gtk2_ardour/audio_region_view.cc | |
parent | 79986643c0c904f6574bb5323e2233a43a9e622e (diff) |
Really fixed conflicts. Ready to merge into trunk.
git-svn-id: svn://localhost/ardour2/branches/undo@757 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_region_view.cc')
-rw-r--r-- | gtk2_ardour/audio_region_view.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index feb8f4fd0b..bdea3d39a2 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -30,6 +30,7 @@ #include <ardour/audioregion.h> #include <ardour/audiosource.h> #include <ardour/audio_diskstream.h> +#include <pbd/memento_command.h> #include "streamview.h" #include "audio_region_view.h" @@ -898,18 +899,20 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev) gain_line->view_to_model_y (y); trackview.session().begin_reversible_command (_("add gain control point")); - trackview.session().add_undo (audio_region().envelope().get_memento()); + XMLNode &before = audio_region().envelope().get_state(); if (!audio_region().envelope_active()) { - trackview.session().add_undo( bind( mem_fun(audio_region(), &AudioRegion::set_envelope_active), false) ); + XMLNode &before = audio_region().get_state(); audio_region().set_envelope_active(true); - trackview.session().add_redo( bind( mem_fun(audio_region(), &AudioRegion::set_envelope_active), true) ); + XMLNode &after = audio_region().get_state(); + trackview.session().add_command (new MementoCommand<AudioRegion>(audio_region(), before, after)); } audio_region().envelope().add (fx, y); - trackview.session().add_redo_no_execute (audio_region().envelope().get_memento()); + XMLNode &after = audio_region().envelope().get_state(); + trackview.session().add_command (new MementoCommand<Curve>(audio_region().envelope(), before, after)); trackview.session().commit_reversible_command (); } |