static int getopts(sox_effect_t * effp, int argc, char **argv) { priv_t * p = (priv_t *)effp->priv; int c; p->time_constant = .05; p->scale = 1; while ((c = lsx_getopt(argc, argv, "+x:b:w:s:")) != -1) switch (c) { GETOPT_NUMERIC('x', hex_bits , 2 , 32) GETOPT_NUMERIC('b', scale_bits , 2 , 32) GETOPT_NUMERIC('w', time_constant , .01 , 10) GETOPT_NUMERIC('s', scale , -99, 99) default: lsx_fail("invalid option `-%c'", optopt); return lsx_usage(effp); } if (p->hex_bits) p->scale_bits = p->hex_bits; return lsx_optind != argc? lsx_usage(effp) : SOX_SUCCESS; }
static int create(sox_effect_t * effp, int argc, char * * argv) { priv_t * p = (priv_t *)effp->priv; dft_filter_priv_t * b = &p->base; char * parse_ptr = argv[0]; int i = 0; b->filter_ptr = &b->filter; p->phase = 50; p->beta = -1; while (i < 2) { int c = 1; while (c && (c = lsx_getopt(argc, argv, "+ra:b:p:MILt:n:")) != -1) switch (c) { char * parse_ptr; case 'r': p->round = sox_true; break; GETOPT_NUMERIC('a', att, 40 , 180) GETOPT_NUMERIC('b', beta, 0 , 256) GETOPT_NUMERIC('p', phase, 0, 100) case 'M': p->phase = 0; break; case 'I': p->phase = 25; break; case 'L': p->phase = 50; break; GETOPT_NUMERIC('n', num_taps[1], 11, 32767) case 't': p->tbw1 = lsx_parse_frequency(lsx_optarg, &parse_ptr); if (p->tbw1 < 1 || *parse_ptr) return lsx_usage(effp); break; default: c = 0; } if ((p->att && p->beta >= 0) || (p->tbw1 && p->num_taps[1])) return lsx_usage(effp); if (!i || !p->Fc1) p->tbw0 = p->tbw1, p->num_taps[0] = p->num_taps[1]; if (!i++ && lsx_optind < argc) { if (*(parse_ptr = argv[lsx_optind++]) != '-') p->Fc0 = lsx_parse_frequency(parse_ptr, &parse_ptr); if (*parse_ptr == '-') p->Fc1 = lsx_parse_frequency(parse_ptr + 1, &parse_ptr); } } return lsx_optind != argc || p->Fc0 < 0 || p->Fc1 < 0 || *parse_ptr ? lsx_usage(effp) : SOX_SUCCESS; }
static int create(sox_effect_t * effp, int argc, char **argv) { priv_t *p = (priv_t *) effp->priv; char const * opts = "f:o:"; int c; lsx_getopt_t optstate; lsx_getopt_init(argc, argv, opts, NULL, lsx_getopt_flag_none, 1, &optstate); p->frame_rate = 25; p->ovsamp = 16; while ((c = lsx_getopt(&optstate)) != -1) switch (c) { GETOPT_NUMERIC(optstate, 'f', frame_rate, 10 , 80) GETOPT_NUMERIC(optstate, 'o', ovsamp, 4 , 32) default: lsx_fail("unknown option `-%c'", optstate.opt); return lsx_usage(effp); } argc -= optstate.ind, argv += optstate.ind; p->nbends = argc; p->bends = lsx_calloc(p->nbends, sizeof(*p->bends)); return parse(effp, argv, 0.); /* No rate yet; parse with dummy */ }