From b2071bd8ed5307451f3df77dfd94a855aeb256f5 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 14 Dec 2019 15:47:45 +0100 Subject: 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. --- gtk2_ardour/processor_box.cc | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'gtk2_ardour/processor_box.cc') diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 5caa426646..c1d67cffca 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -1035,7 +1035,8 @@ ProcessorEntry::Control::set_state (XMLNode const * node) set_visible (visible); } } else { - set_visible (false); + boost::shared_ptr c = _control.lock (); + set_visible (c && (c->flags () & Controllable::InlineControl)); } } @@ -2896,19 +2897,8 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr p) boost::shared_ptr stub = boost::dynamic_pointer_cast (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 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() -- cgit v1.2.3