Browse Source

- minor change in freebob backend command line options

the -d option now takes a 'hw:port[,node]' string as 
  argument instead of a single number. More flexible and
  consistent with the alsa backend.
- version bump to 0.102.9



git-svn-id: svn+ssh://jackaudio.org/trunk/jack@967 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
pieterpalmers 19 years ago
parent
commit
2496df20fe
2 changed files with 39 additions and 10 deletions
  1. +1
    -1
      configure.ac
  2. +38
    -9
      drivers/freebob/freebob_driver.c

+ 1
- 1
configure.ac View File

@@ -15,7 +15,7 @@ dnl changes are made
dnl ---
JACK_MAJOR_VERSION=0
JACK_MINOR_VERSION=102
JACK_MICRO_VERSION=8
JACK_MICRO_VERSION=9

dnl ---
dnl HOWTO: updating the jack protocol version


+ 38
- 9
drivers/freebob/freebob_driver.c View File

@@ -997,12 +997,12 @@ driver_get_descriptor ()
desc->params = params;

i = 0;
strcpy (params[i].name, "port");
strcpy (params[i].name, "device");
params[i].character = 'd';
params[i].type = JackDriverParamUInt;
params[i].value.ui = 0;
strcpy (params[i].short_desc, "The FireWire port to use");
strcpy (params[i].long_desc, params[i].short_desc);
params[i].type = JackDriverParamString;
strcpy (params[i].value.str, "hw:0");
strcpy (params[i].short_desc, "The FireWire device to use. Format is: 'hw:port[,node]'.");
strcpy (params[i].long_desc, params[i].short_desc);
i++;
strcpy (params[i].name, "period");
@@ -1053,12 +1053,17 @@ driver_initialize (jack_client_t *client, JSList * params)
{
jack_driver_t *driver;

unsigned int port=0;
unsigned int node_id=-1;
int nbitems;
const JSList * node;
const jack_driver_param_t * param;
freebob_jack_settings_t cmlparams;
char *device_name="hw:0";
cmlparams.period_size_set=0;
cmlparams.sample_rate_set=0;
cmlparams.buffer_size_set=0;
@@ -1081,8 +1086,7 @@ driver_initialize (jack_client_t *client, JSList * params)
switch (param->character)
{
case 'd':
cmlparams.port = param->value.ui;
cmlparams.port_set=1;
device_name = strdup (param->value.str);
break;
case 'p':
cmlparams.period_size = param->value.ui;
@@ -1105,6 +1109,31 @@ driver_initialize (jack_client_t *client, JSList * params)
}
}
nbitems=sscanf(device_name,"hw:%u,%u",&port,&node_id);
if (nbitems<2) {
nbitems=sscanf(device_name,"hw:%u",&port);
if(nbitems < 1) {
free(device_name);
printError("device (-d) argument not valid\n");
return NULL;
} else {
cmlparams.port = port;
cmlparams.port_set=1;
cmlparams.node_id = -1;
cmlparams.node_id_set=0;
}
} else {
cmlparams.port = port;
cmlparams.port_set=1;
cmlparams.node_id = node_id;
cmlparams.node_id_set=1;
}

jack_error("Freebob using Firewire port %d, node %d",cmlparams.port,cmlparams.node_id);
driver=(jack_driver_t *)freebob_driver_new (client, "freebob_pcm", &cmlparams);

return driver;


Loading…
Cancel
Save