FP8/16: Update Plugin List when Selection changes.
[ardour.git] / libs / surfaces / faderport8 / faderport8.cc
index 9cde77a2ff355f142bbc6167a00befadac08e404..b10868aeede66b2ae0d5d14ca446c51f442090a8 100644 (file)
@@ -1438,12 +1438,14 @@ FaderPort8::spill_plugins ()
 
        for (uint32_t i = 0; 0 != (proc = r->nth_plugin (i)); ++i) {
                if (!proc->display_to_user ()) {
+                       continue;
+               }
 #ifdef MIXBUS
-                       boost::shared_ptr<PluginInsert> pi = boost::dynamic_pointer_cast<PluginInsert> (proc);
-                       if (pi->is_channelstrip ()) // don't skip MB PRE
-#endif
+               /* don't show channelstrip plugins, use "well known" */
+               if (boost::dynamic_pointer_cast<PluginInsert> (proc)->is_channelstrip ()) {
                        continue;
                }
+#endif
                int n_controls = 0;
                set<Evoral::Parameter> p = proc->what_can_be_automated ();
                for (set<Evoral::Parameter>::iterator j = p.begin(); j != p.end(); ++j) {
@@ -1844,6 +1846,9 @@ FaderPort8::stripable_selection_changed ()
                                int wk = _showing_well_known;
                                drop_ctrl_connections ();
                                select_plugin (wk);
+                       } else if (_proc_params.size() == 0) {
+                               /* selecting plugin, update available */
+                               spill_plugins ();
                        }
                        return;
                case ModeSend: