summaryrefslogtreecommitdiff
path: root/gtk2_ardour/rc_option_editor.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-03-23 14:20:17 +0100
committerRobin Gareus <robin@gareus.org>2015-03-23 14:20:17 +0100
commitfb015b1be9d929d7dce18fdb6a033c8afad565c0 (patch)
tree16651f13bb3c79c2dae29d7ed6aa5cfdcf91c0eb /gtk2_ardour/rc_option_editor.cc
parent4b05417d2fac2bf42a7b6b89fdb121ba170570d7 (diff)
fix “Denormal Dropdown” inconsistency
Diffstat (limited to 'gtk2_ardour/rc_option_editor.cc')
-rw-r--r--gtk2_ardour/rc_option_editor.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index a3402072e8..b2cf7f0ae4 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -1885,20 +1885,34 @@ RCOptionEditor::RCOptionEditor ()
sigc::mem_fun (*_rc_config, &RCConfiguration::set_denormal_model)
);
+ int dmsize = 1;
dm->add (DenormalNone, _("no processor handling"));
FPU fpu;
if (fpu.has_flush_to_zero()) {
+ ++dmsize;
dm->add (DenormalFTZ, _("use FlushToZero"));
+ } else if (_rc_config->get_denormal_model() == DenormalFTZ) {
+ _rc_config->set_denormal_model(DenormalNone);
}
if (fpu.has_denormals_are_zero()) {
+ ++dmsize;
dm->add (DenormalDAZ, _("use DenormalsAreZero"));
+ } else if (_rc_config->get_denormal_model() == DenormalDAZ) {
+ _rc_config->set_denormal_model(DenormalNone);
}
if (fpu.has_flush_to_zero() && fpu.has_denormals_are_zero()) {
+ ++dmsize;
dm->add (DenormalFTZDAZ, _("use FlushToZero and DenormalsAreZero"));
+ } else if (_rc_config->get_denormal_model() == DenormalFTZDAZ) {
+ _rc_config->set_denormal_model(DenormalNone);
+ }
+
+ if (dmsize == 1) {
+ dm->set_sensitive(false);
}
add_option (_("Audio"), dm);