diff options
author | Robin Gareus <robin@gareus.org> | 2016-03-15 00:27:03 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-03-15 00:27:03 +0100 |
commit | cb4f15ff434bfbdd99e2615418ea63bfb4a257b3 (patch) | |
tree | b806b1d401fbf6576d162041d1d2e10931310c97 /gtk2_ardour | |
parent | 2b77d6ba85113f0276847d67ca4e63a6ae1b4fed (diff) |
implementation for "prefer inline over GUI"
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/processor_box.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/rc_option_editor.cc | 14 | ||||
-rw-r--r-- | gtk2_ardour/rc_option_editor.h | 1 |
3 files changed, 17 insertions, 2 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 471fc5d463..f5a84ba878 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -2040,7 +2040,9 @@ ProcessorBox::use_plugins (const SelectedPlugins& plugins) 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 { diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 5e5e7ca7fb..736a1ab8b5 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -2912,11 +2912,19 @@ if (!Profile->get_mixbus()) { #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 @@ -3242,6 +3250,10 @@ RCOptionEditor::parameter_changed (string const & p) 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 } } diff --git a/gtk2_ardour/rc_option_editor.h b/gtk2_ardour/rc_option_editor.h index fe47fbbcd6..8a445ed49f 100644 --- a/gtk2_ardour/rc_option_editor.h +++ b/gtk2_ardour/rc_option_editor.h @@ -58,6 +58,7 @@ private: 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; |