diff options
Diffstat (limited to 'gtk2_ardour/rc_option_editor.cc')
-rw-r--r-- | gtk2_ardour/rc_option_editor.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 83b3e498cd..14fca7a417 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -5,6 +5,7 @@ #include <gtkmm2ext/slider_controller.h> #include "pbd/fpu.h" +#include "pbd/cpus.h" #include "midi++/manager.h" #include "midi++/factory.h" @@ -930,6 +931,28 @@ RCOptionEditor::RCOptionEditor () { /* MISC */ + uint32_t hwcpus = hardware_concurrency (); + + if (hwcpus > 1) { + add_option (_("Misc"), new OptionEditorHeading (_("DSP CPU Utilization"))); + + ComboOption<uint32_t>* procs = new ComboOption<uint32_t> ( + "processor-usage", + _("Signal processing uses: "), + sigc::mem_fun (*_rc_config, &RCConfiguration::get_processor_usage), + sigc::mem_fun (*_rc_config, &RCConfiguration::set_processor_usage) + ); + + procs->add (-1, _("All but one")); + procs->add (0, _("All available processors")); + + for (uint32_t i = 2; i < hwcpus; ++i) { + procs->add (1, string_compose (_("%1 processors"), i)); + } + + add_option (_("Misc"), procs); + } + add_option (_("Misc"), new OptionEditorHeading (_("Metering"))); ComboOption<float>* mht = new ComboOption<float> ( |