From 1fe1d17ef80c7bfcb7d267cb81fadf3b9afc651d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 30 Jun 2017 02:31:36 +0200 Subject: [PATCH] FP8: don't allow to toggle Channelstrip bypass/enable --- libs/surfaces/faderport8/faderport8.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libs/surfaces/faderport8/faderport8.cc b/libs/surfaces/faderport8/faderport8.cc index 4365b17446..10ca9027e0 100644 --- a/libs/surfaces/faderport8/faderport8.cc +++ b/libs/surfaces/faderport8/faderport8.cc @@ -1065,7 +1065,12 @@ FaderPort8::select_plugin (int num) if (shift_mod ()) { if (num >= 0) { boost::shared_ptr pi = boost::dynamic_pointer_cast (r->nth_plugin (num)); - if (pi) { +#ifdef MIXBUS + if (pi && !pi->is_channelstrip () && pi->display_to_user ()) +#else + if (pi && pi->display_to_user ()) +#endif + { pi->enable (! pi->enabled ()); } } @@ -1092,15 +1097,17 @@ FaderPort8::select_plugin (int num) boost::shared_ptr pi = boost::dynamic_pointer_cast (proc); assert (pi); // nth_plugin() always returns a PI. + /* _plugin_insert is used for Bypass/Enable */ #ifdef MIXBUS - if (!pi->is_channelstrip ()) + if (!pi->is_channelstrip () && pi->display_to_user ()) +#else + if (pi->display_to_user ()) #endif { _plugin_insert = boost::weak_ptr (pi); + pi->ActiveChanged.connect (processor_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_plugin_active_changed, this), this); } - pi->ActiveChanged.connect (processor_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_plugin_active_changed, this), this); - // switching to "Mode Track" -> calls FaderPort8::notify_fader_mode_changed() // which drops the references, disconnects the signal and re-spills tracks proc->DropReferences.connect (processor_connections, MISSING_INVALIDATOR, boost::bind (&FP8Controls::set_fader_mode, &_ctrls, ModeTrack), this);