summaryrefslogtreecommitdiff
path: root/libs/surfaces
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-06-30 02:31:36 +0200
committerRobin Gareus <robin@gareus.org>2017-06-30 02:31:36 +0200
commit1fe1d17ef80c7bfcb7d267cb81fadf3b9afc651d (patch)
treeb6321a0d7a73e650b349080132271a4e404e2926 /libs/surfaces
parent773c31afc070caeaa3753bfdbbe818339884ae54 (diff)
FP8: don't allow to toggle Channelstrip bypass/enable
Diffstat (limited to 'libs/surfaces')
-rw-r--r--libs/surfaces/faderport8/faderport8.cc15
1 files 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<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);