mixer.c (69258) | mixer.c (75334) |
---|---|
1/* 2 * This is an example of a mixer program for Linux 3 * 4 * updated 1/1/93 to add stereo, level query, broken 5 * devmask kludge - cmetz@thor.tjhsst.edu 6 * 7 * (C) Craig Metz and Hannu Savolainen 1993. 8 * 9 * You may do anything you wish with this program. 10 * 11 * ditto for my modifications (John-Mark Gurney, 1997) 12 */ 13 14#ifndef lint 15static const char rcsid[] = | 1/* 2 * This is an example of a mixer program for Linux 3 * 4 * updated 1/1/93 to add stereo, level query, broken 5 * devmask kludge - cmetz@thor.tjhsst.edu 6 * 7 * (C) Craig Metz and Hannu Savolainen 1993. 8 * 9 * You may do anything you wish with this program. 10 * 11 * ditto for my modifications (John-Mark Gurney, 1997) 12 */ 13 14#ifndef lint 15static const char rcsid[] = |
16 "$FreeBSD: head/usr.sbin/mixer/mixer.c 69258 2000-11-27 07:57:44Z kris $"; | 16 "$FreeBSD: head/usr.sbin/mixer/mixer.c 75334 2001-04-09 11:10:34Z greid $"; |
17#endif /* not lint */ 18 19#include <err.h> 20#include <fcntl.h> 21#include <stdio.h> 22#include <string.h> 23#include <stdlib.h> 24#include <unistd.h> --- 60 unchanged lines hidden (view full) --- 85} 86 87int 88main(int argc, char *argv[]) 89{ 90 int foo, bar, baz, dev; 91 int devmask = 0, recmask = 0, recsrc = 0, orecsrc; 92 int dusage = 0, drecsrc = 0, shortflag = 0; | 17#endif /* not lint */ 18 19#include <err.h> 20#include <fcntl.h> 21#include <stdio.h> 22#include <string.h> 23#include <stdlib.h> 24#include <unistd.h> --- 60 unchanged lines hidden (view full) --- 85} 86 87int 88main(int argc, char *argv[]) 89{ 90 int foo, bar, baz, dev; 91 int devmask = 0, recmask = 0, recsrc = 0, orecsrc; 92 int dusage = 0, drecsrc = 0, shortflag = 0; |
93 int l, r; | 93 int l = 0, r = 0, t = 0; |
94 char ch; 95 96 char *name; 97 98 name = strdup("/dev/mixer"); 99 100 if (!strcmp(argv[0], "mixer2")) 101 name = strdup("/dev/mixer1"); --- 38 unchanged lines hidden (view full) --- 140 else 141 printf("Mixer %-8s is currently set to %3d:%d\n", names[foo], bar & 0x7f, (bar >> 8) & 0x7f); 142 } 143 return(0); 144 } 145 146 argc--; argv++; 147 | 94 char ch; 95 96 char *name; 97 98 name = strdup("/dev/mixer"); 99 100 if (!strcmp(argv[0], "mixer2")) 101 name = strdup("/dev/mixer1"); --- 38 unchanged lines hidden (view full) --- 140 else 141 printf("Mixer %-8s is currently set to %3d:%d\n", names[foo], bar & 0x7f, (bar >> 8) & 0x7f); 142 } 143 return(0); 144 } 145 146 argc--; argv++; 147 |
148 while ((argc) && (dusage == 0)) { | 148 while ((argc > 0) && (dusage == 0)) { |
149 if (!strcmp("recsrc", *argv)) { 150 drecsrc = 1; 151 argc--; argv++; 152 continue; 153 } else if (argc > 1 && !strcmp("rec", *argv + 1)) { 154 if (**argv != '+' && **argv != '-' && 155 **argv != '=' && **argv != '^') { 156 warnx("unknown modifier: %c", **argv); --- 19 unchanged lines hidden (view full) --- 176 recsrc ^= (1 << dev); 177 break; 178 } 179 drecsrc = 1; 180 argc -= 2; argv += 2; 181 continue; 182 } 183 | 149 if (!strcmp("recsrc", *argv)) { 150 drecsrc = 1; 151 argc--; argv++; 152 continue; 153 } else if (argc > 1 && !strcmp("rec", *argv + 1)) { 154 if (**argv != '+' && **argv != '-' && 155 **argv != '=' && **argv != '^') { 156 warnx("unknown modifier: %c", **argv); --- 19 unchanged lines hidden (view full) --- 176 recsrc ^= (1 << dev); 177 break; 178 } 179 drecsrc = 1; 180 argc -= 2; argv += 2; 181 continue; 182 } 183 |
184 if ((dev = res_name(*argv, devmask)) == -1) { | 184 if ((t = sscanf(*argv, "%d:%d", &l, &r)) > 0) { 185 dev = 0; 186 } 187 else if((dev = res_name(*argv, devmask)) == -1) { |
185 warnx("unknown device: %s", *argv); 186 dusage = 1; 187 break; 188 } 189 | 188 warnx("unknown device: %s", *argv); 189 dusage = 1; 190 break; 191 } 192 |
190 switch(argc > 1 ? sscanf(argv[1], "%d:%d", &l, &r) : 0) { | 193 switch(argc > 1 ? sscanf(argv[1], "%d:%d", &l, &r) : t) { |
191 case 0: 192 if (ioctl(baz, MIXER_READ(dev),&bar)== -1) { 193 warn("MIXER_READ"); 194 argc--; argv++; 195 continue; 196 } 197 if (shortflag) 198 printf("%s %d:%d ", names[dev], bar & 0x7f, (bar >> 8) & 0x7f); --- 50 unchanged lines hidden --- | 194 case 0: 195 if (ioctl(baz, MIXER_READ(dev),&bar)== -1) { 196 warn("MIXER_READ"); 197 argc--; argv++; 198 continue; 199 } 200 if (shortflag) 201 printf("%s %d:%d ", names[dev], bar & 0x7f, (bar >> 8) & 0x7f); --- 50 unchanged lines hidden --- |