summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-11-03 08:02:22 +0100
committerRobin Gareus <robin@gareus.org>2015-11-03 19:21:32 +0100
commit2f7c91c7da3793713482880864dded1a8cf4e820 (patch)
tree6661196dba565d82e07f2b505f813fea60db14e2 /gtk2_ardour
parentea063ade522c9a3b642816bbe0ca73bb710c626c (diff)
GUI checkbox to disable plugins
for the benefit of Windows and OSX users and everyone else who does not run Ardour from the commandline.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/session_dialog.cc17
-rw-r--r--gtk2_ardour/session_dialog.h4
2 files changed, 21 insertions, 0 deletions
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index 7ff2ad2083..017d5b9482 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -411,6 +411,17 @@ SessionDialog::setup_initial_choice_box ()
centering_vbox->pack_start (*browse_label, false, false, 12);
centering_vbox->pack_start (existing_session_chooser, false, false);
+ /* --disable plugins UI */
+
+ _disable_plugins.set_label (_("Safe Mode: Disable all Plugins"));
+ _disable_plugins.set_flags (Gtk::CAN_FOCUS);
+ _disable_plugins.set_relief (Gtk::RELIEF_NORMAL);
+ _disable_plugins.set_mode (true);
+ _disable_plugins.set_active (ARDOUR::Session::get_disable_all_loaded_plugins());
+ _disable_plugins.set_border_width(0);
+ _disable_plugins.signal_clicked().connect (sigc::mem_fun (*this, &SessionDialog::disable_plugins_clicked));
+ centering_vbox->pack_start (_disable_plugins, false, false);
+
/* pack it all up */
centering_hbox->pack_start (*centering_vbox, true, true);
@@ -1135,6 +1146,12 @@ SessionDialog::recent_row_activated (const Gtk::TreePath&, Gtk::TreeViewColumn*)
}
void
+SessionDialog::disable_plugins_clicked ()
+{
+ ARDOUR::Session::set_disable_all_loaded_plugins (_disable_plugins.get_active());
+}
+
+void
SessionDialog::existing_session_selected ()
{
_existing_session_chooser_used = true;
diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h
index 69532182a2..c2efd3ab2b 100644
--- a/gtk2_ardour/session_dialog.h
+++ b/gtk2_ardour/session_dialog.h
@@ -231,6 +231,10 @@ class SessionDialog : public ArdourDialog {
void master_bus_button_clicked ();
void setup_more_options_box ();
+ /* --disable plugins UI */
+ Gtk::CheckButton _disable_plugins;
+ void disable_plugins_clicked ();
+
/* always there */
Glib::RefPtr<Pango::Layout> layout;