version 1.101, 2010/07/10 12:28:17 |
version 1.102, 2010/07/31 08:48:01 |
|
|
char base[PATH_MAX], path[PATH_MAX]; |
char base[PATH_MAX], path[PATH_MAX]; |
unsigned mode, rate; |
unsigned mode, rate; |
const char *str; |
const char *str; |
char *legacy_path; |
int autostart; |
int autostart, legacy; |
|
struct dev *d, *dnext; |
struct dev *d, *dnext; |
unsigned active; |
unsigned active; |
unsigned nsock, nfile; |
unsigned nsock, nfile; |
|
|
d_flag = 0; |
d_flag = 0; |
l_flag = 0; |
l_flag = 0; |
n_flag = 0; |
n_flag = 0; |
legacy = 1; |
|
legacy_path = NULL; |
|
SLIST_INIT(&cfdevs); |
SLIST_INIT(&cfdevs); |
nfile = nsock = 0; |
nfile = nsock = 0; |
|
|
|
|
d_flag = 1; |
d_flag = 1; |
break; |
break; |
case 'n': |
case 'n': |
legacy = 0; |
|
n_flag = 1; |
n_flag = 1; |
break; |
break; |
case 'u': |
case 'u': |
legacy = 0; |
|
u_flag = 1; |
u_flag = 1; |
break; |
break; |
case 'U': |
case 'U': |
legacy = 0; |
|
unit = strtonum(optarg, 0, MIDI_MAXCTL, &str); |
unit = strtonum(optarg, 0, MIDI_MAXCTL, &str); |
if (str) |
if (str) |
errx(1, "%s: unit number is %s", optarg, str); |
errx(1, "%s: unit number is %s", optarg, str); |
break; |
break; |
case 'm': |
case 'm': |
legacy = 0; |
|
cs->mode = opt_mode(); |
cs->mode = opt_mode(); |
cd->mode = cs->mode; |
cd->mode = cs->mode; |
break; |
break; |
case 'h': |
case 'h': |
legacy = 0; |
|
cs->hdr = opt_hdr(); |
cs->hdr = opt_hdr(); |
break; |
break; |
case 'x': |
case 'x': |
legacy = 0; |
|
cs->xrun = opt_xrun(); |
cs->xrun = opt_xrun(); |
break; |
break; |
case 'j': |
case 'j': |
legacy = 0; |
|
cs->join = opt_onoff(); |
cs->join = opt_onoff(); |
break; |
break; |
case 't': |
case 't': |
legacy = 0; |
|
cs->mmc = opt_mmc(); |
cs->mmc = opt_mmc(); |
break; |
break; |
case 'c': |
case 'c': |
legacy = 0; |
|
opt_ch(&cs->ipar); |
opt_ch(&cs->ipar); |
cd->opar.cmin = cs->ipar.cmin; |
cd->opar.cmin = cs->ipar.cmin; |
cd->opar.cmax = cs->ipar.cmax; |
cd->opar.cmax = cs->ipar.cmax; |
break; |
break; |
case 'C': |
case 'C': |
legacy = 0; |
|
opt_ch(&cs->opar); |
opt_ch(&cs->opar); |
cd->ipar.cmin = cs->opar.cmin; |
cd->ipar.cmin = cs->opar.cmin; |
cd->ipar.cmax = cs->opar.cmax; |
cd->ipar.cmax = cs->opar.cmax; |
break; |
break; |
case 'e': |
case 'e': |
legacy = 0; |
|
opt_enc(&cs->ipar); |
opt_enc(&cs->ipar); |
aparams_copyenc(&cs->opar, &cs->ipar); |
aparams_copyenc(&cs->opar, &cs->ipar); |
break; |
break; |
case 'r': |
case 'r': |
legacy = 0; |
|
rate = strtonum(optarg, RATE_MIN, RATE_MAX, &str); |
rate = strtonum(optarg, RATE_MIN, RATE_MAX, &str); |
if (str) |
if (str) |
errx(1, "%s: rate is %s", optarg, str); |
errx(1, "%s: rate is %s", optarg, str); |
|
|
cd->ipar.rate = cd->opar.rate = rate; |
cd->ipar.rate = cd->opar.rate = rate; |
break; |
break; |
case 'v': |
case 'v': |
legacy = 0; |
|
cs->vol = strtonum(optarg, 0, MIDI_MAXCTL, &str); |
cs->vol = strtonum(optarg, 0, MIDI_MAXCTL, &str); |
if (str) |
if (str) |
errx(1, "%s: volume is %s", optarg, str); |
errx(1, "%s: volume is %s", optarg, str); |
break; |
break; |
case 'i': |
case 'i': |
legacy = 0; |
|
cfstr_add(&cd->ins, cs, optarg); |
cfstr_add(&cd->ins, cs, optarg); |
nfile++; |
nfile++; |
break; |
break; |
case 'o': |
case 'o': |
legacy = 0; |
|
cfstr_add(&cd->outs, cs, optarg); |
cfstr_add(&cd->outs, cs, optarg); |
nfile++; |
nfile++; |
break; |
break; |
case 's': |
case 's': |
legacy = 0; |
|
cfstr_add(&cd->opts, cs, optarg); |
cfstr_add(&cd->opts, cs, optarg); |
nsock++; |
nsock++; |
break; |
break; |
case 'a': |
case 'a': |
legacy = 0; |
|
cd->hold = opt_onoff(); |
cd->hold = opt_onoff(); |
break; |
break; |
case 'q': |
case 'q': |
legacy = 0; |
|
cfmid_add(&cd->mids, optarg); |
cfmid_add(&cd->mids, optarg); |
break; |
break; |
case 'b': |
case 'b': |
legacy = 0; |
|
cd->bufsz = strtonum(optarg, 1, RATE_MAX * 5, &str); |
cd->bufsz = strtonum(optarg, 1, RATE_MAX * 5, &str); |
if (str) |
if (str) |
errx(1, "%s: buffer size is %s", optarg, str); |
errx(1, "%s: buffer size is %s", optarg, str); |
break; |
break; |
case 'z': |
case 'z': |
legacy = 0; |
|
cd->round = strtonum(optarg, 1, SHRT_MAX, &str); |
cd->round = strtonum(optarg, 1, SHRT_MAX, &str); |
if (str) |
if (str) |
errx(1, "%s: block size is %s", optarg, str); |
errx(1, "%s: block size is %s", optarg, str); |
break; |
break; |
case 'f': |
case 'f': |
legacy = 0; |
|
legacy_path = optarg; |
|
if (SLIST_EMPTY(&cd->opts) && |
if (SLIST_EMPTY(&cd->opts) && |
SLIST_EMPTY(&cd->ins) && |
SLIST_EMPTY(&cd->ins) && |
SLIST_EMPTY(&cd->outs)) { |
SLIST_EMPTY(&cd->outs)) { |
|
|
cfdev_add(&cfdevs, cd, optarg); |
cfdev_add(&cfdevs, cd, optarg); |
break; |
break; |
case 'l': |
case 'l': |
legacy = 0; |
|
l_flag = 1; |
l_flag = 1; |
autostart = 0; |
autostart = 0; |
break; |
break; |
|
|
debug_level = 1; |
debug_level = 1; |
#endif |
#endif |
if (argc > 0) { |
if (argc > 0) { |
if (!legacy) { |
aucat_usage(); |
aucat_usage(); |
exit(1); |
exit(1); |
|
} |
|
for (c = 0; c < argc; c++) |
|
if (legacy_play(legacy_path, argv[c]) != 0) { |
|
errx(1, "%s: could not play\n", argv[c]); |
|
} |
|
exit(0); |
|
} |
} |
|
|
/* |
/* |