X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fregion_gain_line.cc;h=8dfbdeeff49edbea1c774102a98605e72d645d99;hb=25eb9f406960aa8e36ccd90e2cd4397f372bd0fa;hp=bc360f25d602025a80cfa03b1e80eb1ffaa956ef;hpb=3120bae8b41f3eecad25534ab6953e1b123ab9de;p=ardour.git diff --git a/gtk2_ardour/region_gain_line.cc b/gtk2_ardour/region_gain_line.cc index bc360f25d6..8dfbdeeff4 100644 --- a/gtk2_ardour/region_gain_line.cc +++ b/gtk2_ardour/region_gain_line.cc @@ -24,6 +24,7 @@ #include "ardour/audioregion.h" #include "ardour/session.h" +#include "control_point.h" #include "region_gain_line.h" #include "audio_region_view.h" #include "utils.h" @@ -69,10 +70,6 @@ AudioRegionGainLine::start_drag_single (ControlPoint* cp, double x, float fracti void AudioRegionGainLine::remove_point (ControlPoint& cp) { - ModelRepresentation mr; - - model_representation (cp, mr); - trackview.editor().session()->begin_reversible_command (_("remove control point")); XMLNode &before = alist->get_state(); @@ -82,7 +79,7 @@ AudioRegionGainLine::remove_point (ControlPoint& cp) trackview.session()->add_command(new StatefulDiffCommand (rv.audio_region())); } - alist->erase (mr.start, mr.end); + alist->erase (cp.model()); trackview.editor().session()->add_command (new MementoCommand(*alist.get(), &before, &alist->get_state())); trackview.editor().session()->commit_reversible_command (); @@ -90,13 +87,13 @@ AudioRegionGainLine::remove_point (ControlPoint& cp) } void -AudioRegionGainLine::end_drag () +AudioRegionGainLine::end_drag (bool with_push, uint32_t final_index) { if (!rv.audio_region()->envelope_active()) { rv.audio_region()->set_envelope_active(true); trackview.session()->add_command(new MementoCommand(*(rv.audio_region().get()), 0, &rv.audio_region()->get_state())); } - AutomationLine::end_drag (); + AutomationLine::end_drag (with_push, final_index); }