diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-05 16:53:55 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-05 16:53:55 +0000 |
commit | 49240fe7c5fef9b7830bafd2430f9143105a6f69 (patch) | |
tree | 41b8d55e4d8ebc4b9e7047bf4f4e87bda4d9b557 /gtk2_ardour/region_gain_line.cc | |
parent | 8aa72a031a4259a32249663ab7de9358e803f75a (diff) |
Draw all automation points, rather than trying to use a heuristic to show some
at any given zoom level.
This works because (1) automation data is obtained by sampling, and we control
the sampling interval (2) automation data is filtered to remove co-linear
points before becoming part of a ControlList.
This commit removes some of the hairiest code in Ardour's GUI, which was
responsible for figuring out which invisible control points were affected by an
edit. The change is based on an experiment in mixbus done by Ben Loftis.
git-svn-id: svn://localhost/ardour2/branches/3.0@11798 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/region_gain_line.cc')
-rw-r--r-- | gtk2_ardour/region_gain_line.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gtk2_ardour/region_gain_line.cc b/gtk2_ardour/region_gain_line.cc index bc360f25d6..39e1b7fda3 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<AutomationList>(*alist.get(), &before, &alist->get_state())); trackview.editor().session()->commit_reversible_command (); |