Annotation of src/usr.bin/sndioctl/sndioctl.1, Revision 1.5
1.5 ! ratchov 1: .\" $OpenBSD: sndioctl.1,v 1.4 2020/02/26 15:36:27 ratchov Exp $
1.1 ratchov 2: .\"
3: .\" Copyright (c) 2014-2020 Alexandre Ratchov <alex@caoua.org>
4: .\"
5: .\" Permission to use, copy, modify, and distribute this software for any
6: .\" purpose with or without fee is hereby granted, provided that the above
7: .\" copyright notice and this permission notice appear in all copies.
8: .\"
9: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16: .\"
1.2 ratchov 17: .Dd $Mdocdate: February 26 2020 $
1.1 ratchov 18: .Dt SNDIOCTL 1
19: .Os
20: .Sh NAME
21: .Nm sndioctl
22: .Nd control audio parameters
23: .Sh SYNOPSIS
24: .Nm
25: .Bk -words
1.5 ! ratchov 26: .Op Fl dimnv
1.1 ratchov 27: .Op Fl f Ar device
28: .Op Ar command ...
29: .Ek
30: .Sh DESCRIPTION
31: The
32: .Nm
33: utility can display or change parameters of
34: .Xr sndio 7
35: audio devices.
36: The options are as follows:
37: .Bl -tag -width Ds
38: .It Fl d
39: Dump the raw list of available parameters and exit.
40: Useful as a debugging tool.
41: .It Fl f Ar device
42: Use this
43: .Xr sndio 7
44: audio device.
45: .It Fl i
46: Display characteristics of requested parameters
47: instead of their values.
48: .It Fl m
49: Monitor and display audio parameter changes.
1.5 ! ratchov 50: .It Fl n
! 51: Suppress printing of the variable name.
1.1 ratchov 52: .It Fl v
53: Enable verbose mode, a.k.a. multi-channel mode.
54: By default parameters affecting different channels
55: of the same stream are disguised as a single mono
56: parameter to hide details that are not essential.
57: .El
58: .Pp
59: If no commands are specified all valid parameters are displayed on
60: .Em stdout .
61: Unless
62: .Fl d ,
63: .Fl m ,
1.5 ! ratchov 64: .Fl n ,
1.1 ratchov 65: or
66: .Fl i
67: are used, displayed parameters are valid commands.
68: The set of available controls depends on the control device.
69: .Pp
70: Commands use the following two formats to display and set
71: parameters respectively:
72: .Pp
73: .Dl group/stream[channel].function
74: .Dl group/stream[channel].function=value
75: .Pp
76: On the left-hand side are specified the optional parameter group,
77: the affected stream name, and the optional channel number.
78: Examples of left-hand side terms:
79: .Pp
80: .Dl output.level
81: .Dl hw/spkr[6].mute
82: .Pp
83: There are 4 parameter types: switches, numbers, selectors, and vectors.
84: .Pp
1.4 ratchov 85: Values are numbers between 0 and 1.
1.1 ratchov 86: Two-state controls (switches) take either 0 or 1 as value,
87: typically corresponding to the
88: .Em off
89: and
90: .Em on
91: states respectively.
92: .Pp
93: If a decimal is prefixed by the plus (minus) sign then
94: the given value is added to (subtracted from) the
95: current value of the control.
96: If
97: .Qq \&!
98: is used instead of a number, then the switch is toggled.
99: Examples:
100: .Pp
1.4 ratchov 101: .Dl hw/spkr.level=0.85
102: .Dl hw/spkr.level=+0.1
1.1 ratchov 103: .Dl hw/spkr.mute=0
104: .Dl hw/spkr.mute=!
105: .Pp
106: Selector values are substreams; they are specified
107: as the stream name followed by an optional channel
108: number.
109: If no channel number is specified, the same
110: number as the stream specified on the left-hand side is used.
111: For instance the following are equivalent:
112: .Pp
113: .Dl hw/record[1].source=mic
114: .Dl hw/record[1].source=mic1
115: .Pp
116: Vectors are arrays of numbers.
117: Values are specified as comma-separated components.
118: Each component is a substream, followed by
119: a colon, followed by a number.
1.4 ratchov 120: If the colon and the number are omitted, then 1 is assumed.
1.1 ratchov 121: If a component is missing, then 0 is assumed.
122: Example:
123: .Pp
1.4 ratchov 124: .Dl hw/monitor.mix=play:0.12,linein:0.85
1.1 ratchov 125: .Dl hw/record.source=mic,linein
126: .Pp
127: Numbers are specified as discussed above.
128: Note that a vector of switches is equivalent to
129: a list.
130: .Sh EXAMPLES
131: The following will set all
132: .Ar level
133: parameters that control the
134: .Ar spkr
1.3 ratchov 135: stream to zero:
1.1 ratchov 136: .Pp
137: .Dl $ sndioctl hw/spkr.level=0
138: .Pp
139: The following commands are equivalent:
140: .Pp
141: .Dl $ sndioctl hw/record[0].source=mic0 hw/record[1].source=mic1
142: .Dl $ sndioctl hw/record.source=mic
143: .Sh SEE ALSO
144: .Xr sioctl_open 3