+ PluginInfoPtr info = _plugins.front()->get_info();
+ ChanCount in; in += inx;
+ midi_bypass.reset();
+
+ if (info->reconfigurable_io()) {
+ /* Plugin has flexible I/O, so delegate to it */
+ bool const r = _plugins.front()->can_support_io_configuration (in, out);
+ if (!r) {
+ return Match (Impossible, 0);
+ }
+
+ return Match (Delegate, 1);
+ }
+
+ ChanCount inputs = info->n_inputs;
+ ChanCount outputs = info->n_outputs;
+
+ if (in.get(DataType::MIDI) == 1 && outputs.get(DataType::MIDI) == 0) {
+ DEBUG_TRACE ( DEBUG::Processors, string_compose ("bypassing midi-data around %1\n", name()));
+ midi_bypass.set(DataType::MIDI, 1);
+ }
+ if (in.get(DataType::MIDI) == 1 && inputs.get(DataType::MIDI) == 0) {
+ DEBUG_TRACE ( DEBUG::Processors, string_compose ("hiding midi-port from plugin %1\n", name()));
+ in.set(DataType::MIDI, 0);
+ }