diff --git a/common/Jackdmp.cpp b/common/Jackdmp.cpp index f28ea614..a758df17 100644 --- a/common/Jackdmp.cpp +++ b/common/Jackdmp.cpp @@ -183,8 +183,13 @@ static void print_server_internals(jackctl_server_t *server, FILE* file) fprintf(file, "\n"); } -static void usage(FILE* file, jackctl_server_t *server) +static void usage(FILE* file, jackctl_server_t *server, bool full = true) { + jackctl_parameter_t * param; + const JSList * server_parameters; + uint32_t i; + union jackctl_parameter_value value; + fprintf(file, "\n" "Usage: jackdmp [ --no-realtime OR -r ]\n" " [ --realtime OR -R [ --realtime-priority OR -P priority ] ]\n" @@ -199,6 +204,24 @@ static void usage(FILE* file, jackctl_server_t *server) #ifdef __linux__ " [ --clocksource OR -c [ c(ycle) | h(pet) | s(ystem) ]\n" #endif + " [ --autoconnect OR -a ]\n"); + + server_parameters = jackctl_server_get_parameters(server); + param = jackctl_get_parameter(server_parameters, "self-connect-mode"); + fprintf(file, + " where is one of:\n"); + for (i = 0; i < jackctl_parameter_get_enum_constraints_count(param); i++) + { + value = jackctl_parameter_get_enum_constraint_value(param, i); + fprintf(file, " '%c' - %s", value.c, jackctl_parameter_get_enum_constraint_description(param, i)); + if (value.c == JACK_DEFAULT_SELF_CONNECT_MODE) + { + fprintf(file, " (default)"); + } + fprintf(file, "\n"); + } + + fprintf(file, " [ --replace-registry ]\n" " [ --silent OR -s ]\n" " [ --sync OR -S ]\n" @@ -208,7 +231,7 @@ static void usage(FILE* file, jackctl_server_t *server) " jackdmp -d master-backend-name --help\n" " to display options for each master backend\n\n"); - if (server) { + if (full) { print_server_drivers(server, file); print_server_internals(server, file); } @@ -312,7 +335,7 @@ int main(int argc, char** argv) value.ui = JACK_TIMER_SYSTEM_CLOCK; jackctl_parameter_set_value(param, &value); } else { - usage(stdout, NULL); + usage(stdout, server_ctl); goto destroy_server; } } @@ -333,7 +356,7 @@ int main(int argc, char** argv) value.c = optarg[0]; jackctl_parameter_set_value(param, &value); } else { - usage(stdout, NULL); + usage(stdout, server_ctl); goto destroy_server; } } @@ -468,7 +491,7 @@ int main(int argc, char** argv) } if (!master_driver_name) { - usage(stderr, NULL); + usage(stderr, server_ctl, false); goto destroy_server; }