|
|
|
@@ -28,6 +28,61 @@ |
|
|
|
|
|
|
|
jackctl_server_t * server; |
|
|
|
|
|
|
|
static void print_value(union jackctl_parameter_value value, jackctl_param_type_t type) |
|
|
|
{ |
|
|
|
switch (type) { |
|
|
|
|
|
|
|
case JackParamInt: |
|
|
|
printf("parameter value = %d\n", value.i); |
|
|
|
break; |
|
|
|
|
|
|
|
case JackParamUInt: |
|
|
|
printf("parameter value = %u\n", value.ui); |
|
|
|
break; |
|
|
|
|
|
|
|
case JackParamChar: |
|
|
|
printf("parameter value = %c\n", value.c); |
|
|
|
break; |
|
|
|
|
|
|
|
case JackParamString: |
|
|
|
printf("parameter value = %s\n", value.str); |
|
|
|
break; |
|
|
|
|
|
|
|
case JackParamBool: |
|
|
|
printf("parameter value = %d\n", value.b); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void print_parameters(const JSList * node_ptr) |
|
|
|
{ |
|
|
|
while (node_ptr != NULL) { |
|
|
|
jackctl_parameter_t * parameter = (jackctl_parameter_t *)node_ptr->data; |
|
|
|
printf("\nparameter name = %s\n", jackctl_parameter_get_name(parameter)); |
|
|
|
printf("parameter id = %c\n", jackctl_parameter_get_id(parameter)); |
|
|
|
printf("parameter short decs = %s\n", jackctl_parameter_get_short_description(parameter)); |
|
|
|
printf("parameter long decs = %s\n", jackctl_parameter_get_long_description(parameter)); |
|
|
|
print_value(jackctl_parameter_get_default_value(parameter), jackctl_parameter_get_type(parameter)); |
|
|
|
node_ptr = jack_slist_next(node_ptr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void print_driver(jackctl_driver_t * driver) |
|
|
|
{ |
|
|
|
printf("\n--------------------------\n"); |
|
|
|
printf("driver = %s\n", jackctl_driver_get_name(driver)); |
|
|
|
printf("-------------------------- \n"); |
|
|
|
print_parameters(jackctl_driver_get_parameters(driver)); |
|
|
|
} |
|
|
|
|
|
|
|
static void print_internal(jackctl_internal_t * internal) |
|
|
|
{ |
|
|
|
printf("\n-------------------------- \n"); |
|
|
|
printf("internal = %s\n", jackctl_internal_get_name(internal)); |
|
|
|
printf("-------------------------- \n"); |
|
|
|
print_parameters(jackctl_internal_get_parameters(internal)); |
|
|
|
} |
|
|
|
|
|
|
|
int main(int argc, char *argv[]) |
|
|
|
{ |
|
|
|
const JSList * drivers; |
|
|
|
@@ -36,17 +91,25 @@ int main(int argc, char *argv[]) |
|
|
|
|
|
|
|
server = jackctl_server_create(); |
|
|
|
|
|
|
|
printf("\n========================== \n"); |
|
|
|
printf("List of drivers \n"); |
|
|
|
printf("========================== \n"); |
|
|
|
|
|
|
|
drivers = jackctl_server_get_drivers_list(server); |
|
|
|
node_ptr = drivers; |
|
|
|
while (node_ptr != NULL) { |
|
|
|
printf("driver = %s\n", jackctl_driver_get_name((jackctl_driver_t *)node_ptr->data)); |
|
|
|
print_driver((jackctl_driver_t *)node_ptr->data); |
|
|
|
node_ptr = jack_slist_next(node_ptr); |
|
|
|
} |
|
|
|
|
|
|
|
printf("\n========================== \n"); |
|
|
|
printf("List of internal clients \n"); |
|
|
|
printf("========================== \n"); |
|
|
|
|
|
|
|
internals = jackctl_server_get_internals_list(server); |
|
|
|
node_ptr = internals; |
|
|
|
while (node_ptr != NULL) { |
|
|
|
printf("internal client = %s\n", jackctl_internal_get_name((jackctl_internal_t *)node_ptr->data)); |
|
|
|
print_internal((jackctl_internal_t *)node_ptr->data); |
|
|
|
node_ptr = jack_slist_next(node_ptr); |
|
|
|
} |
|
|
|
|
|
|
|
|