From ef6b25432d9c46d71b08c0f7d5f2686df428c4e8 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 19 Nov 2006 16:45:16 +0000 Subject: Merged with trunk R1141 git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/region_gain_line.cc | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'gtk2_ardour/region_gain_line.cc') diff --git a/gtk2_ardour/region_gain_line.cc b/gtk2_ardour/region_gain_line.cc index 467f24bd94..3374d44655 100644 --- a/gtk2_ardour/region_gain_line.cc +++ b/gtk2_ardour/region_gain_line.cc @@ -50,7 +50,7 @@ AudioRegionGainLine::start_drag (ControlPoint* cp, float fraction) if (!rv.audio_region()->envelope_active()) { trackview.session().add_command(new MementoCommand(*(rv.audio_region().get()), &rv.audio_region()->get_state(), 0)); rv.audio_region()->set_envelope_active(false); - } + } } // This is an extended copy from AutomationList @@ -62,18 +62,18 @@ AudioRegionGainLine::remove_point (ControlPoint& cp) model_representation (cp, mr); trackview.editor.current_session()->begin_reversible_command (_("remove control point")); - XMLNode &before = get_state(); + XMLNode &before = alist.get_state(); if (!rv.audio_region()->envelope_active()) { - XMLNode &before = rv.audio_region()->get_state(); + XMLNode ®ion_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().get()), &before, &after)); - } - + XMLNode ®ion_after = rv.audio_region()->get_state(); + trackview.session().add_command(new MementoCommand(*(rv.audio_region().get()), ®ion_before, ®ion_after)); + } + alist.erase (mr.start, mr.end); - trackview.editor.current_session()->add_command (new MementoCommand(*this, &before, &get_state())); + trackview.editor.current_session()->add_command (new MementoCommand(alist, &before, &alist.get_state())); trackview.editor.current_session()->commit_reversible_command (); trackview.editor.current_session()->set_dirty (); } @@ -84,14 +84,8 @@ AudioRegionGainLine::end_drag (ControlPoint* cp) 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(cp); } - -// This is a copy from AutomationList -UndoAction -AudioRegionGainLine::get_memento () -{ - return alist.get_memento(); -} -- cgit v1.2.3