summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-07-07 14:47:36 +0200
committerRobin Gareus <robin@gareus.org>2017-07-07 14:47:36 +0200
commit68c106eab521ecbf85ac1d93b168b5814dda0df1 (patch)
tree6c2aaab5f1ea786a45e95b42cffc077310b23230
parentf2c7f2fdcbecb432c0a5e985ff512b0d830a0b12 (diff)
Fix VCA Automation Lane selection
This moves child-selection API up into TAV (Superclass of StripableTAV which actually owns the children)
-rw-r--r--gtk2_ardour/route_time_axis.cc20
-rw-r--r--gtk2_ardour/time_axis_view.cc24
-rw-r--r--gtk2_ardour/time_axis_view.h2
3 files changed, 24 insertions, 22 deletions
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 045dffa20f..c1fa5e26ba 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -1345,9 +1345,7 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev)
void
RouteTimeAxisView::set_selected_points (PointSelection& points)
{
- for (Children::iterator i = children.begin(); i != children.end(); ++i) {
- (*i)->set_selected_points (points);
- }
+ StripableTimeAxisView::set_selected_points (points);
AudioStreamView* asv = dynamic_cast<AudioStreamView*>(_view);
if (asv) {
asv->set_selected_points (points);
@@ -1382,12 +1380,7 @@ RouteTimeAxisView::get_selectables (framepos_t start, framepos_t end, double top
}
/* pick up visible automation tracks */
-
- for (Children::iterator i = children.begin(); i != children.end(); ++i) {
- if (!(*i)->hidden()) {
- (*i)->get_selectables (start_adjusted, end_adjusted, top, bot, results, within);
- }
- }
+ StripableTimeAxisView::get_selectables (start_adjusted, end_adjusted, top, bot, results, within);
}
void
@@ -1396,14 +1389,7 @@ RouteTimeAxisView::get_inverted_selectables (Selection& sel, list<Selectable*>&
if (_view) {
_view->get_inverted_selectables (sel, results);
}
-
- for (Children::iterator i = children.begin(); i != children.end(); ++i) {
- if (!(*i)->hidden()) {
- (*i)->get_inverted_selectables (sel, results);
- }
- }
-
- return;
+ StripableTimeAxisView::get_inverted_selectables (sel, results);
}
RouteGroup*
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index c1ec7767e5..05d93f696c 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -1017,15 +1017,31 @@ TimeAxisView::remove_child (boost::shared_ptr<TimeAxisView> child)
* @param result Filled in with selectable things.
*/
void
-TimeAxisView::get_selectables (framepos_t /*start*/, framepos_t /*end*/, double /*top*/, double /*bot*/, list<Selectable*>& /*result*/, bool /*within*/)
+TimeAxisView::get_selectables (framepos_t start, framepos_t end, double top, double bot, list<Selectable*>& results, bool within)
{
- return;
+ for (Children::iterator i = children.begin(); i != children.end(); ++i) {
+ if (!(*i)->hidden()) {
+ (*i)->get_selectables (start, end, top, bot, results, within);
+ }
+ }
+}
+
+void
+TimeAxisView::set_selected_points (PointSelection& points)
+{
+ for (Children::iterator i = children.begin(); i != children.end(); ++i) {
+ (*i)->set_selected_points (points);
+ }
}
void
-TimeAxisView::get_inverted_selectables (Selection& /*sel*/, list<Selectable*>& /*result*/)
+TimeAxisView::get_inverted_selectables (Selection& sel, list<Selectable*>& results)
{
- return;
+ for (Children::iterator i = children.begin(); i != children.end(); ++i) {
+ if (!(*i)->hidden()) {
+ (*i)->get_inverted_selectables (sel, results);
+ }
+ }
}
void
diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h
index f33379e4d6..7f9e562ee1 100644
--- a/gtk2_ardour/time_axis_view.h
+++ b/gtk2_ardour/time_axis_view.h
@@ -189,7 +189,7 @@ class TimeAxisView : public virtual AxisView
const int32_t sub_num) { return false; }
virtual void set_selected_regionviews (RegionSelection&) {}
- virtual void set_selected_points (PointSelection&) {}
+ virtual void set_selected_points (PointSelection&);
virtual void fade_range (TimeSelection&) {}