summaryrefslogtreecommitdiff
path: root/gtk2_ardour/rc_option_editor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/rc_option_editor.cc')
-rw-r--r--gtk2_ardour/rc_option_editor.cc23
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> (