diff options
author | Robin Gareus <robin@gareus.org> | 2016-07-14 17:46:34 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-07-14 17:47:22 +0200 |
commit | d8a97789c10c8fb264b5c31ed1334471bbda1772 (patch) | |
tree | d48aef472602075fe02a36726259c2e96bc62e71 /libs/ardour/plugin_insert.cc | |
parent | 205fbb99ad65b899a5047165422f442d9930103a (diff) |
fix plugin analysis for variable i/o plugins
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 6720b41f93..11117e720c 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -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(); |