X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fplugin_eq_gui.cc;h=631fb7be716f50d17993048ce134b3e51cc8b7f5;hb=b604dd24139b4c84f20521af91ec4c0cd721bd13;hp=013edd61971f7d1cc0e6547b43eee2be6f3247b9;hpb=110311e1860d6fb18b1985ca47f33126ae69f678;p=ardour.git diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc index 013edd6197..631fb7be71 100644 --- a/gtk2_ardour/plugin_eq_gui.cc +++ b/gtk2_ardour/plugin_eq_gui.cc @@ -141,7 +141,7 @@ PluginEqGui::start_listening () _plugin->activate(); set_buffer_size(4096, 16384); // Connect the realtime signal collection callback - _plugin_insert->AnalysisDataGathered.connect (analysis_connection, invalidator (*this), ui_bind (&PluginEqGui::signal_collect_callback, this, _1, _2), gui_context()); + _plugin_insert->AnalysisDataGathered.connect (analysis_connection, invalidator (*this), boost::bind (&PluginEqGui::signal_collect_callback, this, _1, _2), gui_context()); } void @@ -186,7 +186,7 @@ PluginEqGui::on_show() if (!_window_unmap_connection.connected()) { _window_unmap_connection = toplevel->signal_unmap().connect( sigc::mem_fun(this, &PluginEqGui::stop_updating)); } - + if (!_window_map_connection.connected()) { _window_map_connection = toplevel->signal_map().connect( sigc::mem_fun(this, &PluginEqGui::start_updating)); } @@ -317,6 +317,9 @@ PluginEqGui::signal_collect_callback(ARDOUR::BufferSet *in, ARDOUR::BufferSet *o void PluginEqGui::run_impulse_analysis() { + /* Allocate some thread-local buffers so that Plugin::connect_and_run can use them */ + ARDOUR_UI::instance()->get_process_buffers (); + uint32_t inputs = _plugin->get_info()->n_inputs.n_audio(); uint32_t outputs = _plugin->get_info()->n_outputs.n_audio(); @@ -406,6 +409,8 @@ PluginEqGui::run_impulse_analysis() // This signals calls expose_analysis_area() _analysis_area->queue_draw(); + + ARDOUR_UI::instance()->drop_process_buffers (); } bool