Use InlineControl Port Property
This replaces the special case of showing send-level controls inline in the mixer-strip with a generic Controllable::InlineControl property.
This commit is contained in:
parent
93180ceea9
commit
b2071bd8ed
@ -1035,7 +1035,8 @@ ProcessorEntry::Control::set_state (XMLNode const * node)
|
||||
set_visible (visible);
|
||||
}
|
||||
} else {
|
||||
set_visible (false);
|
||||
boost::shared_ptr<AutomationControl> c = _control.lock ();
|
||||
set_visible (c && (c->flags () & Controllable::InlineControl));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2896,19 +2897,8 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr<Processor> p)
|
||||
boost::shared_ptr<UnknownProcessor> stub = boost::dynamic_pointer_cast<UnknownProcessor> (processor);
|
||||
|
||||
//faders and meters are not deletable, copy/paste-able, so they shouldn't be selectable
|
||||
if (!send && !plugin_insert && !ext && !stub)
|
||||
if (!send && !plugin_insert && !ext && !stub) {
|
||||
e->set_selectable(false);
|
||||
|
||||
bool mark_send_visible = false;
|
||||
if (send && _parent_strip) {
|
||||
/* show controls of new sends by default */
|
||||
GUIObjectState& st = _parent_strip->gui_object_state ();
|
||||
XMLNode* strip = st.get_or_add_node (_parent_strip->state_id ());
|
||||
assert (strip);
|
||||
/* check if state exists, if not it must be a new send */
|
||||
if (!st.get_node(strip, e->state_id())) {
|
||||
mark_send_visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* Set up this entry's state from the GUIObjectState */
|
||||
@ -2917,10 +2907,6 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr<Processor> p)
|
||||
e->set_control_state (proc);
|
||||
}
|
||||
|
||||
if (mark_send_visible) {
|
||||
e->show_all_controls ();
|
||||
}
|
||||
|
||||
if (plugin_insert
|
||||
#ifdef MIXBUS
|
||||
&& !plugin_insert->plugin(0)->is_channelstrip()
|
||||
|
Loading…
Reference in New Issue
Block a user