summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-29 15:57:07 +0100
committerRobin Gareus <robin@gareus.org>2019-03-29 15:57:07 +0100
commitd8571e2572e750f5cbe4f439ba3d6f9655713bc9 (patch)
tree47aed35b4370d9d1aa79b3c18de3aad1cac7ec2f /gtk2_ardour/editor_drag.cc
parent932892f794ef9eebd24caab10d472086b63a9cea (diff)
cont'd AutomationRangeDrag updates -- safety commit
This is work in progress towards fixing stacked region's region-gain and multiple discontinuous regions spanning multiple tracks. AutomationRangeDrag::setup() still does not collect all AutomationLine points for certain overlap scenarios. There's more to come...
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r--gtk2_ardour/editor_drag.cc11
1 files changed, 3 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index a2cc145ad0..1c89f7ad20 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -6223,10 +6223,10 @@ AutomationRangeDrag::AutomationRangeDrag (Editor* editor, AutomationTimeAxisView
}
/** Make an AutomationRangeDrag for region gain lines or MIDI controller regions */
-AutomationRangeDrag::AutomationRangeDrag (Editor* editor, RegionView* rv, list<RegionView*> const & v, list<AudioRange> const & r)
- : Drag (editor, rv->get_canvas_group ())
+AutomationRangeDrag::AutomationRangeDrag (Editor* editor, list<RegionView*> const & v, list<AudioRange> const & r, double y_origin)
+ : Drag (editor, v.front()->get_canvas_group ())
, _ranges (r)
- , _y_origin (rv->get_time_axis_view().y_position())
+ , _y_origin (y_origin)
, _nothing_to_drag (false)
, _integral (false)
{
@@ -6234,11 +6234,7 @@ AutomationRangeDrag::AutomationRangeDrag (Editor* editor, RegionView* rv, list<R
list<boost::shared_ptr<AutomationLine> > lines;
- bool found_primary = false;
for (list<RegionView*>::const_iterator i = v.begin(); i != v.end(); ++i) {
- if (*i == rv) {
- found_primary = true;
- }
if (AudioRegionView* audio_view = dynamic_cast<AudioRegionView*>(*i)) {
lines.push_back (audio_view->get_gain_line ());
} else if (AutomationRegionView* automation_view = dynamic_cast<AutomationRegionView*>(*i)) {
@@ -6248,7 +6244,6 @@ AutomationRangeDrag::AutomationRangeDrag (Editor* editor, RegionView* rv, list<R
error << _("Automation range drag created for invalid region type") << endmsg;
}
}
- assert (found_primary);
setup (lines);
}