| Summary: | Improved user-interface for mixer(8) | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Tony Finch <dot> |
| Component: | bin | Assignee: | cg |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.2-STABLE | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-bugs->cg Cameron is Mr Sound State Changed From-To: open->closed Thanks for the patch, I committed cleaner code with the same functionality. |
A very common operation with mixer(8) is to change the overall sound volume. At the moment you must do this with a command like "mixer vol 75"; the patch below allows you to omit the first argument in which case it assumes "vol". Fix: --- /usr/src/usr.sbin/mixer/mixer.c 2000/10/26 14:39:35 1.11.2.2 +++ /usr/src/usr.sbin/mixer/mixer.c 2001/02/17 01:21:33 @@ -181,13 +181,9 @@ continue; } - if ((dev = res_name(*argv, devmask)) == -1) { - warnx("unknown device: %s", *argv); - dusage = 1; - break; - } - - switch(argc > 1 ? sscanf(argv[1], "%d:%d", &l, &r) : 0) { + dev = res_name(*argv, devmask); + switch(dev == -1 ? -sscanf(argv[0], "%d", &l) : + argc > 1 ? sscanf(argv[1], "%d:%d", &l, &r) : 0) { case 0: if (ioctl(baz, MIXER_READ(dev),&bar)== -1) { warn("MIXER_READ"); @@ -202,6 +198,13 @@ argc--; argv++; break; + case -1: + if ((dev = res_name("vol", devmask)) == -1) { + warnx("unknown device: %s", *argv); + dusage = 1; + break; + } + argc += 1; argv -= 1; case 1: r = l; case 2: