Don't A/B en/disable invisible processors, nor MB channelstrip
authorRobin Gareus <robin@gareus.org>
Thu, 13 Apr 2017 22:32:51 +0000 (00:32 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 13 Apr 2017 22:32:51 +0000 (00:32 +0200)
libs/ardour/route.cc

index b27d8f6847327fb84ea2b9732909b5af5d04c056..3f6d9e2629dedc93cb88eb0fd8bbd2aaa0509336 100644 (file)
@@ -1176,6 +1176,14 @@ Route::ab_plugins (bool forward)
                        if (!boost::dynamic_pointer_cast<PluginInsert> (*i)) {
                                continue;
                        }
+                       if (!(*i)->display_to_user ()) {
+                               continue;
+                       }
+#ifdef MIXBUS
+                       if (boost::dynamic_pointer_cast<PluginInsert> (*i)->is_channelstrip()) {
+                               continue;
+                       }
+#endif
 
                        if ((*i)->enabled ()) {
                                (*i)->enable (false);
@@ -1190,10 +1198,17 @@ Route::ab_plugins (bool forward)
                /* backward = if the redirect was marked to go active on the next ab, do so */
 
                for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
-
                        if (!boost::dynamic_pointer_cast<PluginInsert> (*i)) {
                                continue;
                        }
+                       if (!(*i)->display_to_user ()) {
+                               continue;
+                       }
+#ifdef MIXBUS
+                       if (boost::dynamic_pointer_cast<PluginInsert> (*i)->is_channelstrip()) {
+                               continue;
+                       }
+#endif
 
                        (*i)->enable ((*i)->get_next_ab_is_active ());
                }