FP8: don't allow to toggle Channelstrip bypass/enable
authorRobin Gareus <robin@gareus.org>
Fri, 30 Jun 2017 00:31:36 +0000 (02:31 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 30 Jun 2017 00:31:36 +0000 (02:31 +0200)
libs/surfaces/faderport8/faderport8.cc

index 4365b17446932571a67f08216027dc0e9d5580b8..10ca9027e0f4b90ccb7765e0b793642d1ae8dae0 100644 (file)
@@ -1065,7 +1065,12 @@ FaderPort8::select_plugin (int num)
        if (shift_mod ()) {
                if (num >= 0) {
                        boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (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<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (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<ARDOUR::PluginInsert> (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);