summaryrefslogtreecommitdiff
path: root/gtk2_ardour/rc_option_editor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-06-24 14:13:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-06-24 14:13:45 +0000
commit0f5bdd666fa66bd279f8629a670d8058780a613d (patch)
tree2456f101d56c9d2f091631293f8b85645389f031 /gtk2_ardour/rc_option_editor.cc
parentfe229a830e0164e56d3aceaf3d539e4148f322a6 (diff)
use JACK thread creation functions to create process-graph threads; provide GUI control over number of threads-relative-to-number-of-CPUS
git-svn-id: svn://localhost/ardour2/branches/3.0@7296 d708f5d6-7413-0410-9779-e7cbd77b26cf
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> (