X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fregion_gain_line.cc;h=0a4a3d29eaf48e47f9048b1e616a7c5b92c99c35;hb=5756373841675a879833f98bb4008dd0c40714d3;hp=526e8844ef930c0dc554f369e9d17c2d4fc7eb05;hpb=656d56b12d0b86f9140956badd9c9e11d791549b;p=ardour.git diff --git a/gtk2_ardour/region_gain_line.cc b/gtk2_ardour/region_gain_line.cc index 526e8844ef..0a4a3d29ea 100644 --- a/gtk2_ardour/region_gain_line.cc +++ b/gtk2_ardour/region_gain_line.cc @@ -1,8 +1,9 @@ #include #include +#include #include "region_gain_line.h" -#include "regionview.h" +#include "audio_region_view.h" #include "utils.h" #include "time_axis_view.h" @@ -46,9 +47,9 @@ void AudioRegionGainLine::start_drag (ControlPoint* cp, float fraction) { AutomationLine::start_drag(cp,fraction); - if (!rv.region.envelope_active()) { - trackview.session().add_command(MementoUndoCommand(rv.region, rv.region.get_state())); - rv.region.set_envelope_active(false); + if (!rv.audio_region().envelope_active()) { + trackview.session().add_command(new MementoUndoCommand(rv.audio_region(), rv.audio_region().get_state())); + rv.audio_region().set_envelope_active(false); } } @@ -63,16 +64,16 @@ AudioRegionGainLine::remove_point (ControlPoint& cp) trackview.editor.current_session()->begin_reversible_command (_("remove control point")); XMLNode &before = get_state(); - if (!rv.region.envelope_active()) { - XMLNode &before = rv.region.get_state(); - rv.region.set_envelope_active(true); - XMLNode &after = rv.region.get_state(); - trackview.session().add_command(MementoCommand(rv.region, before, after)); + if (!rv.audio_region().envelope_active()) { + XMLNode &before = rv.audio_region().get_state(); + rv.audio_region().set_envelope_active(true); + XMLNode &after = rv.audio_region().get_state(); + trackview.session().add_command(new MementoCommand(rv.audio_region(), before, after)); } alist.erase (mr.start, mr.end); - trackview.editor.current_session()->add_command (MementoCommand(*this, before, get_state())); + trackview.editor.current_session()->add_command (new MementoCommand(*this, before, get_state())); trackview.editor.current_session()->commit_reversible_command (); trackview.editor.current_session()->set_dirty (); } @@ -80,9 +81,9 @@ AudioRegionGainLine::remove_point (ControlPoint& cp) void AudioRegionGainLine::end_drag (ControlPoint* cp) { - if (!rv.region.envelope_active()) { - trackview.session().add_redo( bind( mem_fun(rv.region, &AudioRegion::set_envelope_active), true) ); - rv.region.set_envelope_active(true); + if (!rv.audio_region().envelope_active()) { + rv.audio_region().set_envelope_active(true); + trackview.session().add_command(new MementoRedoCommand(rv.audio_region(), rv.audio_region().get_state())); } AutomationLine::end_drag(cp); }