Annotation of src/usr.bin/mixerctl/mixerctl.1, Revision 1.33
1.33 ! sobrado 1: .\" $OpenBSD: mixerctl.1,v 1.32 2008/10/19 06:11:03 jmc Exp $
1.6 provos 2: .\" $NetBSD: mixerctl.1,v 1.8 1998/05/09 12:41:16 augustss Exp $
1.5 millert 3: .\"
1.1 provos 4: .\" Copyright (c) 1997 The NetBSD Foundation, Inc.
5: .\" All rights reserved.
6: .\"
7: .\" Author: Lennart Augustsson
8: .\"
9: .\" Redistribution and use in source and binary forms, with or without
10: .\" modification, are permitted provided that the following conditions
11: .\" are met:
12: .\" 1. Redistributions of source code must retain the above copyright
13: .\" notice, this list of conditions and the following disclaimer.
14: .\" 2. Redistributions in binary form must reproduce the above copyright
15: .\" notice, this list of conditions and the following disclaimer in the
16: .\" documentation and/or other materials provided with the distribution.
17: .\"
18: .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19: .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20: .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1.6 provos 21: .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
1.1 provos 22: .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23: .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24: .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25: .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26: .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27: .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28: .\" POSSIBILITY OF SUCH DAMAGE.
29: .\"
1.33 ! sobrado 30: .Dd $Mdocdate: October 19 2008 $
1.1 provos 31: .Dt MIXERCTL 1
32: .Os
33: .Sh NAME
34: .Nm mixerctl
35: .Nd control audio mixing
36: .Sh SYNOPSIS
1.9 aaron 37: .Nm mixerctl
1.30 sobrado 38: .Op Fl anv
1.1 provos 39: .Op Fl f Ar file
1.9 aaron 40: .Nm mixerctl
1.19 jmc 41: .Op Fl nv
1.1 provos 42: .Op Fl f Ar file
1.28 sobrado 43: .Ar name ...
1.9 aaron 44: .Nm mixerctl
1.23 deraadt 45: .Op Fl qt
46: .Op Fl f Ar file
1.28 sobrado 47: .Ar name ...
1.23 deraadt 48: .Nm mixerctl
1.17 jfb 49: .Op Fl q
1.29 sobrado 50: .Op Fl f Ar file
1.19 jmc 51: .Xo
1.28 sobrado 52: .Ar name Ns = Ns Ar value ...
1.19 jmc 53: .Xc
1.1 provos 54: .Sh DESCRIPTION
1.6 provos 55: The
1.1 provos 56: .Nm
57: command displays or sets various audio system mixing variables.
1.10 aaron 58: If a list of variables is present on the command line,
1.1 provos 59: .Nm
60: prints the current value of those variables for the specified device.
1.32 jmc 61: Variables can also be set at system startup using the configuration file
62: .Xr mixerctl.conf 5 .
1.10 aaron 63: .Pp
64: The options are as follows:
1.19 jmc 65: .Bl -tag -width "-f file"
1.10 aaron 66: .It Fl a
67: Print all device variables and their current values.
1.30 sobrado 68: This is the default, if no parameters are given to
69: .Nm .
1.15 pvalchev 70: .It Fl f Ar file
71: Specify an alternative audio mixing device.
1.32 jmc 72: The default is
73: .Pa /dev/mixer .
1.15 pvalchev 74: .It Fl n
75: Suppress printing of the variable name.
1.17 jfb 76: .It Fl q
77: Suppress all printing when setting a variable.
1.23 deraadt 78: .It Fl t
1.25 jmc 79: Toggle.
80: Attempt to select the next possible value
81: of an enum
82: (see below).
1.10 aaron 83: .It Fl v
1.25 jmc 84: Show all possible values of variables.
85: Enum values are shown in
86: .Sq []
87: and values belonging to a set are shown in
88: .Sq {}
89: (see below).
1.20 tedu 90: .It Ar name Ns = Ns Ar value
1.19 jmc 91: Attempt to set the specified variable
1.15 pvalchev 92: .Ar name
93: to
94: .Ar value .
1.10 aaron 95: .El
1.5 millert 96: .Pp
1.10 aaron 97: The exact set of controls that can be manipulated depends on
98: the mixer.
1.25 jmc 99: The general format (in both getting and setting a value) is:
1.1 provos 100: .Pp
1.19 jmc 101: .D1 class.name=value
1.6 provos 102: .Pp
103: The
1.19 jmc 104: .Ar class
1.6 provos 105: can have values like
1.25 jmc 106: .Dq inputs
1.6 provos 107: or
1.25 jmc 108: .Dq outputs ,
1.19 jmc 109: indicating that the control affects the input or output, respectively,
110: to the mixer.
1.10 aaron 111: The
1.19 jmc 112: .Ar name
1.6 provos 113: indicates what part of the mixer the control affects.
1.25 jmc 114: Continuous mixer values, e.g. volume,
115: have numeric values in the range 0\-255.
1.19 jmc 116: If
117: .Ar value
118: can be set for each channel independently,
1.10 aaron 119: the values are printed separated by commas.
1.25 jmc 120: Discrete mixer values, e.g. the recording source,
121: have symbolic names.
122: .Pp
123: Variables may take one of three types,
124: again dependent on the mixer:
125: .Bl -enum
126: .It
127: Enums.
1.26 jmc 128: These may take only one out of a possible list of symbolic values
129: or the literal string
130: .Dq toggle ,
131: which toggles the value,
1.25 jmc 132: e.g. inputs.mic.source=mic0.
133: .It
134: Sets.
135: These can take one or more of a possible list of symbolic values;
136: multiple values are specified as a comma-separated list,
137: e.g. record.source=mic,cd.
138: Additionally,
139: .Ar value
140: may be omitted to specify the empty set,
141: e.g. record.source=.
142: .It
143: Numbers.
144: Numerical values may be specified in either absolute or relative forms.
145: The relative form is indicated by a prefix of
146: .Ql +
147: or
148: .Ql -
149: to denote an increase or decrease, respectively.
150: .El
1.18 jmc 151: .Sh ENVIRONMENT
1.32 jmc 152: .Bl -tag -width "MIXERDEVICEXXX"
1.18 jmc 153: .It Ev MIXERDEVICE
154: The audio mixer device to use.
155: .El
156: .Sh FILES
1.32 jmc 157: .Bl -tag -width "/etc/mixerctl.confXXX" -compact
1.33 ! sobrado 158: .It Pa /dev/mixer
1.32 jmc 159: Default mixer audio device.
1.33 ! sobrado 160: .It Pa /etc/mixerctl.conf
1.32 jmc 161: .Nm
162: configuration file.
1.18 jmc 163: .El
1.6 provos 164: .Sh EXAMPLES
1.25 jmc 165: Show possible values for all mixer variables,
166: and their current settings:
1.19 jmc 167: .Bd -literal -offset indent
1.25 jmc 168: $ mixerctl -av
1.6 provos 169: inputs.mic=0,0 volume
170: inputs.mic.mute=off [ off on ]
171: inputs.cd=220,220 volume
172: inputs.cd.mute=off [ off on ]
173: inputs.dac=220,220 volume
174: inputs.dac.mute=off [ off on ]
175: record.record=220,220 volume
176: record.record.source=mic [ mic cd dac ]
177: monitor.monitor=0 volume
1.23 deraadt 178: .Ed
179: .Pp
1.25 jmc 180: Toggle inputs.dac.mute:
1.23 deraadt 181: .Bd -literal -offset indent
1.25 jmc 182: $ mixerctl -t inputs.dac.mute
183: inputs.dac.mute: off -\*(Gt on
1.26 jmc 184: $ mixerctl inputs.dac.mute=toggle
185: inputs.dac.mute: on -\*(Gt off
1.6 provos 186: .Ed
1.1 provos 187: .Sh SEE ALSO
1.21 jmc 188: .Xr aucat 1 ,
1.1 provos 189: .Xr audioctl 1 ,
1.21 jmc 190: .Xr cdio 1 ,
1.1 provos 191: .Xr audio 4 ,
1.22 jsg 192: .Xr mixerctl.conf 5 ,
1.1 provos 193: .Xr sysctl 8
194: .Sh HISTORY
195: The
196: .Nm
197: command first appeared in
1.25 jmc 198: .Ox 2.4 .