diff options
author | Robin Gareus <robin@gareus.org> | 2018-04-13 23:19:13 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-04-13 23:19:13 +0200 |
commit | cc5e758a08b537c711df49549369d1675e183c94 (patch) | |
tree | 2ca455ce083fb0f84c696bd59b1b300d7741d627 | |
parent | 4983eb565db219412d09b898286660e298a0176f (diff) |
Fix plugin analysis for some VST and AU Plugins.
set_block_size() implies plugin deactivate(), activate() calls
to re-initialize AU and VST plugins. So plugins will reset the
internal state and not immediately respond correctly.
Some plugins zero the output or ramp up internally, leading the analyzer
to show invalid or random/uncorrelated information.
This avoid periodic calls to de/activate()
-rw-r--r-- | gtk2_ardour/plugin_eq_gui.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc index 274cf014da..31e220555a 100644 --- a/gtk2_ardour/plugin_eq_gui.cc +++ b/gtk2_ardour/plugin_eq_gui.cc @@ -164,6 +164,7 @@ PluginEqGui::start_listening () _plugin->activate(); set_buffer_size(4096, 16384); + _plugin->set_block_size (_buffer_size); // Connect the realtime signal collection callback _plugin_insert->AnalysisDataGathered.connect (analysis_connection, invalidator (*this), boost::bind (&PluginEqGui::signal_collect_callback, this, _1, _2), gui_context()); } @@ -364,7 +365,6 @@ PluginEqGui::run_impulse_analysis() // map output buffers after input buffers (no inplace for VST) out_map.offset_to (DataType::AUDIO, inputs); - _plugin->set_block_size (_buffer_size); _plugin->connect_and_run(_bufferset, 0, _buffer_size, 1.0, in_map, out_map, _buffer_size, 0); samplecnt_t f = _plugin->signal_latency (); // Adding user_latency() could be interesting |