diff options
author | David Robillard <d@drobilla.net> | 2009-10-22 17:17:34 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-10-22 17:17:34 +0000 |
commit | 155338d168b362dd135597695aaa1e419831a277 (patch) | |
tree | c2f97ff4b99366b72418765cb4a69ccbd4c45065 /gtk2_ardour/processor_box.cc | |
parent | 525da3281674a92ff00150098ef1be7a403555dd (diff) |
Defer plugin discovery until actually needed (significant startup time improvement, especially with LV2).
git-svn-id: svn://localhost/ardour2/branches/3.0@5859 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index aba5abe294..b21ce633da 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -93,13 +93,13 @@ bool ProcessorBox::get_colors = true; Gdk::Color* ProcessorBox::active_processor_color; Gdk::Color* ProcessorBox::inactive_processor_color; -ProcessorBox::ProcessorBox (Session& sess, PluginSelector &plugsel, - RouteRedirectSelection & rsel, MixerStrip* parent, bool owner_is_mixer) +ProcessorBox::ProcessorBox (ARDOUR::Session& sess, sigc::slot<PluginSelector&> get_plugin_selector, + RouteRedirectSelection& rsel, MixerStrip* parent, bool owner_is_mixer) : _session(sess) , _parent_strip (parent) , _owner_is_mixer (owner_is_mixer) + , _get_plugin_selector (get_plugin_selector) , _placement(PreFader) - , _plugin_selector(plugsel) , _rr_selection(rsel) { if (get_colors) { @@ -309,7 +309,7 @@ ProcessorBox::show_processor_menu (gint arg) Gtk::MenuItem* plugin_menu_item = dynamic_cast<Gtk::MenuItem*>(ActionManager::get_widget("/processormenu/newplugin")); if (plugin_menu_item) { - plugin_menu_item->set_submenu (_plugin_selector.plugin_menu()); + plugin_menu_item->set_submenu (_get_plugin_selector().plugin_menu()); } paste_action->set_sensitive (!_rr_selection.processors.empty()); @@ -469,7 +469,7 @@ ProcessorBox::processor_button_press_event (GdkEventButton *ev) } else if (!processor && ev->button == 1 && ev->type == GDK_2BUTTON_PRESS) { choose_plugin (); - _plugin_selector.show_manager (); + _get_plugin_selector().show_manager (); } @@ -572,7 +572,7 @@ ProcessorBox::deselect_all_processors () void ProcessorBox::choose_plugin () { - _plugin_selector.set_interested_object (*this); + _get_plugin_selector().set_interested_object (*this); } void |