return true;
// XXX SHAREDPTR delete plugin here .. do we even need to care?
} else if (plugins.size() == 1 && Config->get_open_gui_after_adding_plugin()) {
- if (_session->engine().connected () && processor_can_be_edited (processor)) {
+ if (boost::dynamic_pointer_cast<PluginInsert>(processor)->plugin()->has_inline_display() && Config->get_prefer_inline_over_gui()) {
+ ;
+ } else if (_session->engine().connected () && processor_can_be_edited (processor)) {
if ((*p)->has_editor ()) {
edit_processor (processor);
} else {
#ifdef LV2_SUPPORT
add_option (_("Plugins"),
new BoolOption (
- "show-inline-display-by-default,",
+ "show-inline-display-by-default",
_("Show Plugin Inline Display on Mixerstrip by default"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_show_inline_display_by_default),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_show_inline_display_by_default)
));
+
+ _plugin_prefer_inline = new BoolOption (
+ "prefer-inline-over-gui",
+ _("Don't automatically open the plugin GUI when the plugin has an inline display mode"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_prefer_inline_over_gui),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_prefer_inline_over_gui)
+ );
+ add_option (_("Plugins"), _plugin_prefer_inline);
#endif
#endif
bool const s = Config->get_send_ltc ();
_ltc_send_continuously->set_sensitive (s);
_ltc_volume_slider->set_sensitive (s);
+ } else if (p == "open-gui-after-adding-plugin" || p == "show-inline-display-by-default") {
+#ifdef LV2_SUPPORT
+ _plugin_prefer_inline->set_sensitive (Config->get_open_gui_after_adding_plugin() && Config->get_show_inline_display_by_default());
+#endif
}
}
HSliderOption* _ltc_volume_slider;
Gtk::Adjustment* _ltc_volume_adjustment;
BoolOption* _ltc_send_continuously;
+ BoolOption* _plugin_prefer_inline;
PBD::ScopedConnection parameter_change_connection;
PBD::ScopedConnection engine_started_connection;