tweak GUI for backends where nperiods is driver dependent.
authorRobin Gareus <robin@gareus.org>
Sat, 5 Dec 2015 12:55:37 +0000 (13:55 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 5 Dec 2015 12:55:37 +0000 (13:55 +0100)
gtk2_ardour/engine_dialog.cc

index 06736622088c144aef3d4bb53eb66efe6cb566c2..ef19aa871446c282c6f8c38d892c0ecb4162009a 100644 (file)
@@ -852,9 +852,6 @@ EngineControl::update_sensitivity ()
                }
        } else {
                nperiods_combo.set_sensitive (false);
-               if (backend->can_set_period_size()) {
-                       valid = false;
-               }
        }
 
        if (_have_control) {
@@ -2281,7 +2278,8 @@ EngineControl::push_state_to_backend (bool start)
                                change_bufsize = true;
                        }
 
-                       if (backend->can_set_period_size() && get_nperiods() != backend->period_size()) {
+                       if (backend->can_set_period_size() && get_popdown_string_count (nperiods_combo) > 0
+                                       && get_nperiods() != backend->period_size()) {
                                change_nperiods = true;
                        }
 
@@ -2324,7 +2322,7 @@ EngineControl::push_state_to_backend (bool start)
                        change_channels = true;
                        change_latency = true;
                        change_midi = true;
-                       change_nperiods = backend->can_set_period_size();
+                       change_nperiods = backend->can_set_period_size() && get_popdown_string_count (nperiods_combo) > 0;
                }
 
        } else {