fix plugin analysis for variable i/o plugins
authorRobin Gareus <robin@gareus.org>
Thu, 14 Jul 2016 15:46:34 +0000 (17:46 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 14 Jul 2016 15:47:22 +0000 (17:47 +0200)
libs/ardour/plugin_insert.cc

index 6720b41f9321105ad189e730522cad5c64286461..11117e720c445588940df9f39059d51c86fca3c6 100644 (file)
@@ -2862,7 +2862,14 @@ PluginInsert::get_impulse_analysis_plugin()
                // during init() -- most notably block_size..
                // not great.
                ret = plugin_factory(_plugins[0]);
-               ret->configure_io (internal_input_streams (), internal_output_streams ());
+               ChanCount out (internal_output_streams ());
+               if (ret->get_info ()->reconfigurable_io ()) {
+                       // populate get_info ()->n_inputs and ->n_outputs
+                       ChanCount useins;
+                       ret->can_support_io_configuration (internal_input_streams (), out, &useins);
+                       assert (out == internal_output_streams ());
+               }
+               ret->configure_io (internal_input_streams (), out);
                _impulseAnalysisPlugin = ret;
        } else {
                ret = _impulseAnalysisPlugin.lock();