X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fplugin_eq_gui.cc;h=631fb7be716f50d17993048ce134b3e51cc8b7f5;hb=60e4598aec090810f105d0e8cbcd578bc67043a9;hp=f4e5922cb5a745df3c8e109386a5bd0b6d0fc98d;hpb=baa4de40ed5e251ad3b5807ec84f18323d511679;p=ardour.git diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc index f4e5922cb5..631fb7be71 100644 --- a/gtk2_ardour/plugin_eq_gui.cc +++ b/gtk2_ardour/plugin_eq_gui.cc @@ -35,8 +35,9 @@ #include #include +#include "i18n.h" + using namespace ARDOUR; -using std::cerr; PluginEqGui::PluginEqGui(boost::shared_ptr pluginInsert) : _min_dB(-12.0) @@ -114,8 +115,6 @@ PluginEqGui::PluginEqGui(boost::shared_ptr pluginInsert) PluginEqGui::~PluginEqGui() { - cerr << "PEG::delete\n"; - stop_listening (); if (_analysis_scale_surface) { @@ -142,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 @@ -187,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)); } @@ -312,13 +311,15 @@ PluginEqGui::signal_collect_callback(ARDOUR::BufferSet *in, ARDOUR::BufferSet *o _signal_analysis_running = false; // This signals calls expose_analysis_area() - cerr << "PEG::queue_draw\n"; _analysis_area->queue_draw(); } 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(); @@ -408,6 +409,8 @@ PluginEqGui::run_impulse_analysis() // This signals calls expose_analysis_area() _analysis_area->queue_draw(); + + ARDOUR_UI::instance()->drop_process_buffers (); } bool