git: 75be886e58dc - main - mixer(8): Allow full PCM device names as input for the -d option
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 12 Feb 2024 11:00:20 UTC
The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=75be886e58dc237b633104fc9cf8d7d1285e4003 commit 75be886e58dc237b633104fc9cf8d7d1285e4003 Author: Christos Margiolis <christos@FreeBSD.org> AuthorDate: 2024-02-12 10:59:02 +0000 Commit: Christos Margiolis <christos@FreeBSD.org> CommitDate: 2024-02-12 11:00:05 +0000 mixer(8): Allow full PCM device names as input for the -d option The -d option is a wrapper around hw.snd.default_unit. Currently mixer(8) expects the option argument to be just the unit's number (e.g pcm0 -> 0). To avoid confusion, allow full device names of the form "pcmN" as well. While here, improve the -d option's description in the man page. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: dev_submerge.ch, imp Differential Revision: https://reviews.freebsd.org/D43794 --- usr.sbin/mixer/mixer.8 | 23 ++++++++++++++--------- usr.sbin/mixer/mixer.c | 6 ++++-- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/usr.sbin/mixer/mixer.8 b/usr.sbin/mixer/mixer.8 index 10a461d91693..5750b81c98c5 100644 --- a/usr.sbin/mixer/mixer.8 +++ b/usr.sbin/mixer/mixer.8 @@ -19,7 +19,7 @@ .\" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN .\" THE SOFTWARE. .\" -.Dd January 12, 2024 +.Dd February 8, 2024 .Dt MIXER 8 .Os .Sh NAME @@ -28,12 +28,11 @@ .Sh SYNOPSIS .Nm .Op Fl f Ar device -.Op Fl d Ar unit +.Op Fl d Ar pcmN | N .Op Fl os .Op Ar dev Ns Op Cm \&. Ns Ar control Ns Op Cm \&= Ns Ar value .Ar ... .Nm -.Op Fl d Ar unit .Op Fl os .Fl a .Nm @@ -44,16 +43,17 @@ The utility is used to set and display soundcard mixer device controls. .Pp The options are as follows: -.Bl -tag -width "-f device" +.Bl -tag -width "-d pcmN | N" .It Fl a Print the values for all mixer devices available in the system .Pq see Sx FILES . -.It Fl d Ar unit +.It Fl d Ar pcmN | N Change the default audio card to -.Ar unit . -The unit has to be an integer value. -To see what unit values are available, look at the number each mixer device has by running -.Nm . +.Ar pcmN , +where N is the unit number (e.g for pcm0, the unit number is 0). +See +.Sx EXAMPLES +on how to list all available audio devices in the system. .It Fl f Ar device Open .Ar device @@ -218,6 +218,11 @@ opens when the option has not been specified. .El .Sh EXAMPLES +List all available audio devices in the system: +.Bd -literal -offset indent +$ mixer -a | grep ^pcm +.Ed +.Pp Increase the volume for the .Cm vol device of the first mixer found by 5%: diff --git a/usr.sbin/mixer/mixer.c b/usr.sbin/mixer/mixer.c index 043c8c412857..0c0c37ccb2bc 100644 --- a/usr.sbin/mixer/mixer.c +++ b/usr.sbin/mixer/mixer.c @@ -66,6 +66,8 @@ main(int argc, char *argv[]) aflag = 1; break; case 'd': + if (strncmp(optarg, "pcm", 3) == 0) + optarg += 3; errno = 0; dunit = strtol(optarg, NULL, 10); if (errno == EINVAL || errno == ERANGE) @@ -194,8 +196,8 @@ next: static void __dead2 usage(void) { - fprintf(stderr, "usage: %1$s [-f device] [-d unit] [-os] [dev[.control[=value]]] ...\n" - " %1$s [-d unit] [-os] -a\n" + fprintf(stderr, "usage: %1$s [-f device] [-d pcmN | N] [-os] [dev[.control[=value]]] ...\n" + " %1$s [-os] -a\n" " %1$s -h\n", getprogname()); exit(1); }