line->add_visibility (AutomationLine::Line);
}
+bool
+AutomationTimeAxisView::propagate_time_selection () const
+{
+ /* MIDI automation is part of the MIDI region. It is always
+ * implicily selected with the parent, regardless of TAV selection
+ */
+ if (_parameter.type() >= MidiCCAutomation &&
+ _parameter.type() <= MidiChannelPressureAutomation) {
+ return true;
+ }
+ return false;
+}
+
void
AutomationTimeAxisView::entered()
{
bool ignore_state_request;
bool ignore_mode_request;
+ bool propagate_time_selection () const;
+
void automation_state_changed ();
void set_interpolation (ARDOUR::AutomationList::InterpolationStyle);
}
add_automation_child (param, track, show);
+ if (selected ()) {
+ reshow_selection (_editor.get_selection().time);
+ }
+
break;
case PanWidthAutomation:
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
+ if (!(*i)->selected () && !(*i)->propagate_time_selection ()) {
+ continue;
+ }
(*i)->show_selection (ts);
}
show_selection (ts);
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
+ if (!(*i)->selected () && !(*i)->propagate_time_selection ()) {
+ continue;
+ }
(*i)->show_selection (ts);
}
}
Children children;
bool is_child (TimeAxisView*);
+ virtual bool propagate_time_selection () const { return false; }
virtual void remove_child (boost::shared_ptr<TimeAxisView>);
void add_child (boost::shared_ptr<TimeAxisView>);