summaryrefslogtreecommitdiff
path: root/gtk2_ardour/monitor_section.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-05-25 00:12:55 +0200
committerRobin Gareus <robin@gareus.org>2019-05-25 00:12:55 +0200
commit92cfed14cf3ab5cdf2d0f5b0c5d8662aaeb73c5c (patch)
treea353d38b2e942af4e30e78c6ae89f8f884e4776d /gtk2_ardour/monitor_section.cc
parentce8740cf5e45b57e4d3551689ac144076b08e336 (diff)
Re-use the Mixer's PluginManager (singleton)
Previously there were three plugin-manager instances (two of which were never destroyed). There were also 3 sets of context-menus (favorites, by tag, by author..), all of which were re-built when plugin stati changed. Since the Plugin-manager is a modal dialog, it can be re-used in all contexts (route-ui, monitor-section, mixer).
Diffstat (limited to 'gtk2_ardour/monitor_section.cc')
-rw-r--r--gtk2_ardour/monitor_section.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc
index e618b3a7a0..b1924eafae 100644
--- a/gtk2_ardour/monitor_section.cc
+++ b/gtk2_ardour/monitor_section.cc
@@ -108,7 +108,6 @@ MonitorSection::MonitorSection ()
channel_size_group = SizeGroup::create (SIZE_GROUP_HORIZONTAL);
- _plugin_selector = new PluginSelector (PluginManager::instance());
insert_box = new ProcessorBox (0, boost::bind (&MonitorSection::plugin_selector, this), _rr_selection, 0);
insert_box->set_no_show_all ();
insert_box->show ();
@@ -587,7 +586,6 @@ void
MonitorSection::set_session (Session* s)
{
RouteUI::set_session (s);
- _plugin_selector->set_session (_session);
insert_box->set_session (_session);
Glib::RefPtr<ActionGroup> global_monitor_actions = ActionManager::get_action_group (X_("Monitor Section"));
@@ -1613,6 +1611,12 @@ MonitorSection::processors_changed (ARDOUR::RouteProcessorChange)
update_processor_box ();
}
+PluginSelector*
+MonitorSection::plugin_selector ()
+{
+ return Mixer_UI::instance()->plugin_selector ();
+}
+
void
MonitorSection::use_others_actions ()
{