summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_eq_gui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-04-13 23:19:13 +0200
committerRobin Gareus <robin@gareus.org>2018-04-13 23:19:13 +0200
commitcc5e758a08b537c711df49549369d1675e183c94 (patch)
tree2ca455ce083fb0f84c696bd59b1b300d7741d627 /gtk2_ardour/plugin_eq_gui.cc
parent4983eb565db219412d09b898286660e298a0176f (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()
Diffstat (limited to 'gtk2_ardour/plugin_eq_gui.cc')
-rw-r--r--gtk2_ardour/plugin_eq_gui.cc2
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