Browse Source

Fix a bug in backend parameter parsing.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2463 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
f1cccee1b5
3 changed files with 26 additions and 24 deletions
  1. +1
    -0
      ChangeLog
  2. +21
    -22
      common/JackDriverLoader.cpp
  3. +4
    -2
      macosx/JackCoreAudioDriver.cpp

+ 1
- 0
ChangeLog View File

@@ -24,6 +24,7 @@ Romain Moret
2008-06-05 Stephane Letz <letz@grame.fr>

* Better control of exported symbols.
* Fix a bug in backend parameter parsing.

2008-06-04 Stephane Letz <letz@grame.fr>



+ 21
- 22
common/JackDriverLoader.cpp View File

@@ -244,7 +244,7 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
const JSList * driver_params = jackctl_driver_get_parameters(driver_ptr);
if (driver_params == NULL)
return 1;
return 1;

jack_driver_desc_t * desc = jackctl_driver_get_desc(driver_ptr);

@@ -295,30 +295,30 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
}

fprintf (stderr, "Options for driver '%s':\n", desc->name);
jack_print_driver_options (desc, stderr);
exit (1);
jack_print_driver_options(desc, stderr);
return 1;
}

node_ptr = (JSList *)driver_params;
while (node_ptr) {
param = (jackctl_parameter_t*)node_ptr->data;
if (opt == jackctl_parameter_get_id(param)) {
break;
}
node_ptr = node_ptr->next;
}
param = (jackctl_parameter_t*)node_ptr->data;
if (opt == jackctl_parameter_get_id(param)) {
break;
}
node_ptr = node_ptr->next;
}

if (!optarg && optind < argc &&
strlen(argv[optind]) &&
argv[optind][0] != '-') {
strlen(argv[optind]) &&
argv[optind][0] != '-') {
optarg = argv[optind];
}

if (optarg) {
switch (jackctl_parameter_get_type(param)) {
case JackDriverParamInt:
case JackDriverParamInt:
value.i = atoi (optarg);
jackctl_parameter_set_value(param, &value);
jackctl_parameter_set_value(param, &value);
break;
case JackDriverParamUInt:
value.ui = strtoul (optarg, NULL, 10);
@@ -333,7 +333,6 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
jackctl_parameter_set_value(param, &value);
break;
case JackDriverParamBool:

/*
if (strcasecmp ("false", optarg) == 0 ||
strcasecmp ("off", optarg) == 0 ||
@@ -343,10 +342,10 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
*/
// steph
if (strcmp ("false", optarg) == 0 ||
strcmp ("off", optarg) == 0 ||
strcmp ("no", optarg) == 0 ||
strcmp ("0", optarg) == 0 ||
strcmp ("(null)", optarg) == 0 ) {
strcmp ("off", optarg) == 0 ||
strcmp ("no", optarg) == 0 ||
strcmp ("0", optarg) == 0 ||
strcmp ("(null)", optarg) == 0 ) {
value.i = false;
} else {
value.i = true;
@@ -359,13 +358,13 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[])
value.i = true;
} else {
value = jackctl_parameter_get_default_value(param);
jackctl_parameter_set_value(param, &value);
}
}
jackctl_parameter_set_value(param, &value);
}
}

free (options);
free (long_options);
free(options);
free(long_options);
return 0;
}



+ 4
- 2
macosx/JackCoreAudioDriver.cpp View File

@@ -156,6 +156,8 @@ static OSStatus DisplayDeviceNames()
return err;

jack_info("Device name = \'%s\', internal_name = \'%s\' (to be used as -C, -P, or -d parameter)", device_name, internal_name);
printf("Device name = \'%s\', internal_name = \'%s\' (to be used as -C, -P, or -d parameter)", device_name, internal_name);

}

return noErr;
@@ -1265,10 +1267,10 @@ extern "C"
jack_nframes_t systemic_input_latency = 0;
jack_nframes_t systemic_output_latency = 0;
int async_output_latency = 100;
for (node = params; node; node = jack_slist_next(node)) {
param = (const jack_driver_param_t *) node->data;
switch (param->character) {

case 'd':


Loading…
Cancel
Save