make MIDI rubber band selects use the correct canvas item so that event processing...
[ardour.git] / gtk2_ardour / plugin_eq_gui.cc
index 013edd61971f7d1cc0e6547b43eee2be6f3247b9..631fb7be716f50d17993048ce134b3e51cc8b7f5 100644 (file)
@@ -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