diff options
author | Nedko Arnaudov <nedko@arnaudov.name> | 2014-03-10 21:43:40 +0200 |
---|---|---|
committer | Nedko Arnaudov <nedko@arnaudov.name> | 2014-03-10 22:01:13 +0200 |
commit | ba28a2ca3f12889d9127b1e4b756bcae96a39df9 (patch) | |
tree | 81ab1f1a85f253fb0634b0c84826013b511aa093 /example-clients | |
parent | ca69e2936f91c755c8813413335e3e791c5bf94f (diff) | |
download | jack2-ba28a2ca3f12889d9127b1e4b756bcae96a39df9.tar.gz |
jack_control: display constraints (range and enum)
If available, constraints are now displayed along with the parameter
long description.
Diffstat (limited to 'example-clients')
-rwxr-xr-x | example-clients/jack_control | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/example-clients/jack_control b/example-clients/jack_control index f6abba48..bafb9407 100755 --- a/example-clients/jack_control +++ b/example-clients/jack_control @@ -131,6 +131,24 @@ def print_help(): print " eps <param> <value> - set engine parameter" print " epr <param> - reset engine parameter to its default value" +def maybe_print_param_constraint(iface, param): + is_range, is_strict, is_fake, values = iface.GetParameterConstraint(param) + if is_range: + print + print("allowed range: %s to %s (inclusive)" % (values[0][0], values[1][0])) + elif len(values): + print + if is_strict: + print("allowed values:") + else: + print("suggested values:") + + max_len = 0 + for value in values: + if len(str(value[0])) > max_len: + max_len = len(str(value[0])) + for value in values: + print("%*s'%s' - %s" % (1 + max_len - len(str(value[0])), "", str(value[0]), str(value[1]))) def main(): if len(sys.argv) == 1 or sys.argv[1] in ["-h", "--help", "help"]: @@ -206,7 +224,8 @@ def main(): print "--- get driver parameter description (%s)" % param type_char, name, short_descr, long_descr = configure_iface.GetParameterInfo(['driver', param]) - print long_descr, + print long_descr + maybe_print_param_constraint(configure_iface, ['driver', param]) elif arg == 'dps': if index + 1 >= len(sys.argv): print "driver parameter set command requires parameter name and value arguments" @@ -245,7 +264,8 @@ def main(): print "--- get engine parameter description (%s)" % param_name type_char, name, short_descr, long_descr = configure_iface.GetParameterInfo(['engine', param_name]) - print long_descr, + print long_descr + maybe_print_param_constraint(configure_iface, ['engine', param_name]) elif arg == 'eps': if index + 1 >= len(sys.argv): print "engine parameter set command requires parameter name and value arguments" |