Deleted Added
full compact
mixer.c (124830) mixer.c (144999)
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#include <sys/cdefs.h>
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#include <sys/cdefs.h>
15__FBSDID("$FreeBSD: head/usr.sbin/mixer/mixer.c 124830 2004-01-22 07:23:36Z grehan $");
15__FBSDID("$FreeBSD: head/usr.sbin/mixer/mixer.c 144999 2005-04-13 07:11:54Z mdodd $");
16
17#include <err.h>
18#include <fcntl.h>
19#include <stdio.h>
20#include <string.h>
21#include <stdlib.h>
22#include <unistd.h>
23#include <sys/soundcard.h>

--- 4 unchanged lines hidden (view full) ---

28int res_name(const char *name, int mask);
29void print_recsrc(int recsrc);
30
31void
32usage(int devmask, int recmask)
33{
34 int i, n;
35
16
17#include <err.h>
18#include <fcntl.h>
19#include <stdio.h>
20#include <string.h>
21#include <stdlib.h>
22#include <unistd.h>
23#include <sys/soundcard.h>

--- 4 unchanged lines hidden (view full) ---

28int res_name(const char *name, int mask);
29void print_recsrc(int recsrc);
30
31void
32usage(int devmask, int recmask)
33{
34 int i, n;
35
36 printf("usage: mixer [-f device] [-s] [dev [+|-][voll[:[+|-]volr]] ...\n"
37 " mixer [-f device] [-s] recsrc ...\n"
38 " mixer [-f device] [-s] {^|+|-|=}rec rdev ... \n");
36 printf("usage: mixer [-f device] [-s | -S] [dev [+|-][voll[:[+|-]volr]] ...\n"
37 " mixer [-f device] [-s | -S] recsrc ...\n"
38 " mixer [-f device] [-s | -S] {^|+|-|=}rec rdev ... \n");
39 printf(" devices: ");
40 for (i = 0, n = 0; i < SOUND_MIXER_NRDEVICES; i++)
41 if ((1 << i) & devmask) {
42 if (n)
43 printf(", ");
44 printf("%s", names[i]);
45 n = 1;
46 }

--- 37 unchanged lines hidden (view full) ---

84 fprintf(stderr, "\n");
85}
86
87int
88main(int argc, char *argv[])
89{
90 int foo, bar, baz, dev;
91 int devmask = 0, recmask = 0, recsrc = 0, orecsrc;
39 printf(" devices: ");
40 for (i = 0, n = 0; i < SOUND_MIXER_NRDEVICES; i++)
41 if ((1 << i) & devmask) {
42 if (n)
43 printf(", ");
44 printf("%s", names[i]);
45 n = 1;
46 }

--- 37 unchanged lines hidden (view full) ---

84 fprintf(stderr, "\n");
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;
92 int dusage = 0, drecsrc = 0, shortflag = 0, Shortflag = 0;
93 int l = 0, r = 0, t = 0;
94 char lstr[5], rstr[5];
95 int n = 0, lrel = 0, rrel = 0;
96 int ch;
97
98 char *name;
99
100 name = strdup("/dev/mixer");
101
102 if (!strcmp(argv[0], "mixer2"))
103 name = strdup("/dev/mixer1");
104 else if (!strcmp(argv[0], "mixer3"))
105 name = strdup("/dev/mixer2");
106
93 int l = 0, r = 0, t = 0;
94 char lstr[5], rstr[5];
95 int n = 0, lrel = 0, rrel = 0;
96 int ch;
97
98 char *name;
99
100 name = strdup("/dev/mixer");
101
102 if (!strcmp(argv[0], "mixer2"))
103 name = strdup("/dev/mixer1");
104 else if (!strcmp(argv[0], "mixer3"))
105 name = strdup("/dev/mixer2");
106
107 while ((ch = getopt(argc, argv, "f:s")) != -1)
107 while ((ch = getopt(argc, argv, "f:sS")) != -1)
108 switch (ch) {
109 case 'f':
110 name = strdup(optarg);
111 break;
112 case 's':
113 shortflag = 1;
114 break;
108 switch (ch) {
109 case 'f':
110 name = strdup(optarg);
111 break;
112 case 's':
113 shortflag = 1;
114 break;
115 case 'S':
116 Shortflag = 1;
117 break;
115 default:
116 dusage = 1;
117 }
118 argc -= (optind - 1);
119 argv += (optind - 1);
120
121 if ((baz = open(name, O_RDWR)) < 0)
122 err(1, "%s", name);

--- 9 unchanged lines hidden (view full) ---

132 if ((argc == 1) && (dusage == 0)) {
133 for (foo = 0; foo < SOUND_MIXER_NRDEVICES; foo++) {
134 if (!((1 << foo) & devmask))
135 continue;
136 if (ioctl(baz, MIXER_READ(foo),&bar)== -1) {
137 warn("MIXER_READ");
138 continue;
139 }
118 default:
119 dusage = 1;
120 }
121 argc -= (optind - 1);
122 argv += (optind - 1);
123
124 if ((baz = open(name, O_RDWR)) < 0)
125 err(1, "%s", name);

--- 9 unchanged lines hidden (view full) ---

135 if ((argc == 1) && (dusage == 0)) {
136 for (foo = 0; foo < SOUND_MIXER_NRDEVICES; foo++) {
137 if (!((1 << foo) & devmask))
138 continue;
139 if (ioctl(baz, MIXER_READ(foo),&bar)== -1) {
140 warn("MIXER_READ");
141 continue;
142 }
140 if (shortflag)
143 if (Shortflag)
144 printf("%s:%d:%d ", names[foo], bar & 0x7f,
145 (bar >> 8) & 0x7f);
146 else if (shortflag)
141 printf("%s %d:%d ", names[foo], bar & 0x7f,
142 (bar >> 8) & 0x7f);
143 else
144 printf("Mixer %-8s is currently set to %3d:%d\n",
145 names[foo], bar & 0x7f, (bar >> 8) & 0x7f);
146 }
147 if (ioctl(baz, SOUND_MIXER_READ_RECSRC, &recsrc) == -1)
148 err(1, "SOUND_MIXER_READ_RECSRC");

--- 67 unchanged lines hidden (view full) ---

216
217 switch(argc > 1 ? n : t) {
218 case 0:
219 if (ioctl(baz, MIXER_READ(dev),&bar)== -1) {
220 warn("MIXER_READ");
221 argc--; argv++;
222 continue;
223 }
147 printf("%s %d:%d ", names[foo], bar & 0x7f,
148 (bar >> 8) & 0x7f);
149 else
150 printf("Mixer %-8s is currently set to %3d:%d\n",
151 names[foo], bar & 0x7f, (bar >> 8) & 0x7f);
152 }
153 if (ioctl(baz, SOUND_MIXER_READ_RECSRC, &recsrc) == -1)
154 err(1, "SOUND_MIXER_READ_RECSRC");

--- 67 unchanged lines hidden (view full) ---

222
223 switch(argc > 1 ? n : t) {
224 case 0:
225 if (ioctl(baz, MIXER_READ(dev),&bar)== -1) {
226 warn("MIXER_READ");
227 argc--; argv++;
228 continue;
229 }
224 if (shortflag)
230 if (Shortflag)
231 printf("%s:%d:%d ", names[dev], bar & 0x7f,
232 (bar >> 8) & 0x7f);
233 else if (shortflag)
225 printf("%s %d:%d ", names[dev], bar & 0x7f,
226 (bar >> 8) & 0x7f);
227 else
228 printf("Mixer %-8s is currently set to %3d:%d\n",
229 names[dev], bar & 0x7f, (bar >> 8) & 0x7f);
230
231 argc--; argv++;
232 break;

--- 15 unchanged lines hidden (view full) ---

248 l = 0;
249 else if (l > 100)
250 l = 100;
251 if (r < 0)
252 r = 0;
253 else if (r > 100)
254 r = 100;
255
234 printf("%s %d:%d ", names[dev], bar & 0x7f,
235 (bar >> 8) & 0x7f);
236 else
237 printf("Mixer %-8s is currently set to %3d:%d\n",
238 names[dev], bar & 0x7f, (bar >> 8) & 0x7f);
239
240 argc--; argv++;
241 break;

--- 15 unchanged lines hidden (view full) ---

257 l = 0;
258 else if (l > 100)
259 l = 100;
260 if (r < 0)
261 r = 0;
262 else if (r > 100)
263 r = 100;
264
256 printf("Setting the mixer %s from %d:%d to %d:%d.\n",
257 names[dev], bar & 0x7f, (bar >> 8) & 0x7f, l, r);
265 if (!Shortflag)
266 printf("Setting the mixer %s from %d:%d to %d:%d.\n",
267 names[dev], bar & 0x7f, (bar >> 8) & 0x7f, l, r);
258
259 l |= r << 8;
260 if (ioctl(baz, MIXER_WRITE(dev), &l) == -1)
261 warn("WRITE_MIXER");
262
263 argc -= 2; argv += 2;
264 break;
265 }

--- 22 unchanged lines hidden ---
268
269 l |= r << 8;
270 if (ioctl(baz, MIXER_WRITE(dev), &l) == -1)
271 warn("WRITE_MIXER");
272
273 argc -= 2; argv += 2;
274 break;
275 }

--- 22 unchanged lines hidden ---