Page MenuHomeFreeBSD

D43796.id134004.diff
No OneTemporary

D43796.id134004.diff

diff --git a/usr.sbin/mixer/mixer.8 b/usr.sbin/mixer/mixer.8
--- a/usr.sbin/mixer/mixer.8
+++ b/usr.sbin/mixer/mixer.8
@@ -115,7 +115,9 @@
.Oo Cm \&: Oo Cm \&+ | Cm \&- Oc Ar rvol Oo % Oc Oc
.Xc
.It Ar dev Cm .mute Ta Cm 0 | 1 | ^
+.It Ar dev Cm .mute Ta Cm off | on | toggle
.It Ar dev Cm .recsrc Ta Cm ^ | + | - | =
+.It Ar dev Cm .recsrc Ta Cm toggle | add | remove | set
.El
.Sm on
.Pp
@@ -151,14 +153,14 @@
.Ar dev Ns Cm .mute
control (un)mutes a device.
The following values are available:
-.Bl -tag -width = -offset indent
-.It Cm 0
+.Bl -tag -width "xxxxxxxxxx" -offset indent
+.It Cm 0 | off
unmutes
.Ar dev
-.It Cm 1
+.It Cm 1 | on
mutes
.Ar dev
-.It Cm ^
+.It Cm ^ | toggle
toggles the mute of
.Ar dev
.El
@@ -175,22 +177,23 @@
on a
.Sy rec
device:
-.Bl -tag -width = -offset indent
-.It Cm ^
+.Bl -tag -width "xxxxxxxxxx" -offset indent
+.It Cm ^ | toggle
toggles
.Ar dev
of possible recording devices
-.It Cm +
+.It Cm + | add
adds
.Ar dev
to possible recording devices
-.It Cm -
+.It Cm - | remove
removes
.Ar dev
from possible recording devices
-.It Cm =
-sets the recording device to
+.It Cm = | set
+makes
.Ar dev
+the only recording device.
.El
.Sh FILES
.Bl -tag -width /dev/mixerN -compact
@@ -251,16 +254,16 @@
Toggle the mute for
.Cm vol :
.Bd -literal -offset indent
-$ mixer vol.mute=^
+$ mixer vol.mute=toggle
.Ed
.Pp
-Set
+Add
.Cm mic
-and toggle
+and remove
.Cm line
-recording sources:
+from the recording devices:
.Bd -literal -offset indent
-$ mixer mic.recsrc=+ line.recsrc=^
+$ mixer mic.recsrc=add line.recsrc=remove
.Ed
.Pp
Dump
diff --git a/usr.sbin/mixer/mixer.c b/usr.sbin/mixer/mixer.c
--- a/usr.sbin/mixer/mixer.c
+++ b/usr.sbin/mixer/mixer.c
@@ -412,26 +412,36 @@
m = d->parent_mixer;
cp = mixer_get_ctl(m->dev, C_MUT);
val = p;
- switch (*val) {
- case '0':
+ if (strncmp(val, "off", strlen(val)) == 0)
opt = MIX_UNMUTE;
- break;
- case '1':
+ else if (strncmp(val, "on", strlen(val)) == 0)
opt = MIX_MUTE;
- break;
- case '^':
+ else if (strncmp(val, "toggle", strlen(val)) == 0)
opt = MIX_TOGGLEMUTE;
- break;
- default:
- warnx("%c: no such modifier", *val);
- return (-1);
+ else {
+ switch (*val) {
+ case '0':
+ opt = MIX_UNMUTE;
+ break;
+ case '1':
+ opt = MIX_MUTE;
+ break;
+ case '^':
+ opt = MIX_TOGGLEMUTE;
+ break;
+ default:
+ warnx("%s: no such modifier", val);
+ return (-1);
+ }
}
n = MIX_ISMUTE(m, m->dev->devno);
if (mixer_set_mute(m, opt) < 0)
- warn("%s.%s=%c", m->dev->name, cp->name, *val);
+ warn("%s.%s=%s", m->dev->name, cp->name, val);
else
- printf("%s.%s: %d -> %d\n",
- m->dev->name, cp->name, n, MIX_ISMUTE(m, m->dev->devno));
+ printf("%s.%s: %s -> %s\n",
+ m->dev->name, cp->name,
+ n ? "on" : "off",
+ MIX_ISMUTE(m, m->dev->devno) ? "on" : "off");
return (0);
}
@@ -447,29 +457,41 @@
m = d->parent_mixer;
cp = mixer_get_ctl(m->dev, C_SRC);
val = p;
- switch (*val) {
- case '+':
+ if (strncmp(val, "add", strlen(val)) == 0)
opt = MIX_ADDRECSRC;
- break;
- case '-':
+ else if (strncmp(val, "remove", strlen(val)) == 0)
opt = MIX_REMOVERECSRC;
- break;
- case '=':
+ else if (strncmp(val, "set", strlen(val)) == 0)
opt = MIX_SETRECSRC;
- break;
- case '^':
+ else if (strncmp(val, "toggle", strlen(val)) == 0)
opt = MIX_TOGGLERECSRC;
- break;
- default:
- warnx("%c: no such modifier", *val);
- return (-1);
+ else {
+ switch (*val) {
+ case '+':
+ opt = MIX_ADDRECSRC;
+ break;
+ case '-':
+ opt = MIX_REMOVERECSRC;
+ break;
+ case '=':
+ opt = MIX_SETRECSRC;
+ break;
+ case '^':
+ opt = MIX_TOGGLERECSRC;
+ break;
+ default:
+ warnx("%s: no such modifier", val);
+ return (-1);
+ }
}
n = MIX_ISRECSRC(m, m->dev->devno);
if (mixer_mod_recsrc(m, opt) < 0)
- warn("%s.%s=%c", m->dev->name, cp->name, *val);
+ warn("%s.%s=%s", m->dev->name, cp->name, val);
else
- printf("%s.%s: %d -> %d\n",
- m->dev->name, cp->name, n, MIX_ISRECSRC(m, m->dev->devno));
+ printf("%s.%s: %s -> %s\n",
+ m->dev->name, cp->name,
+ n ? "add" : "remove",
+ MIX_ISRECSRC(m, m->dev->devno) ? "add" : "remove");
return (0);
}
@@ -492,7 +514,8 @@
struct mixer *m = d->parent_mixer;
const char *ctl_name = p;
- printf("%s.%s=%d\n", m->dev->name, ctl_name, MIX_ISMUTE(m, m->dev->devno));
+ printf("%s.%s=%s\n", m->dev->name, ctl_name,
+ MIX_ISMUTE(m, m->dev->devno) ? "on" : "off");
return (0);
}
@@ -505,7 +528,7 @@
if (!MIX_ISRECSRC(m, m->dev->devno))
return (-1);
- printf("%s.%s=+\n", m->dev->name, ctl_name);
+ printf("%s.%s=add\n", m->dev->name, ctl_name);
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 7, 6:07 AM (19 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36149294
Default Alt Text
D43796.id134004.diff (4 KB)

Event Timeline