Date: Wed, 22 Jul 2026 02:25:08 +0300 From: "Christos Margiolis" <christos@freebsd.org> To: "Shawn Webb" <shawn.webb@hardenedbsd.org> Cc: "Matthew Grooms" <mgrooms@shrew.net>, <freebsd-current@freebsd.org> Subject: Re: Tragic State of FreeBSD Audio/Sound Message-ID: <DK4MY9JRTNIS.1JEZ7YUN2Q1M0@freebsd.org> In-Reply-To: <al_4DXATypQygeQP@mutt-hbsd> References: <hkttyyfmuguexmliuhmg@ewtn> <sirudbjwrqwlhpzjpfqf@abqv> <20260720202746.45869b21@rimwks.local> <qwepsnprfvciwlmciezl@sxog> <bbcc6833-6af0-4dba-ba6a-155aad5fafd5@shrew.net> <DK4LJJXHW21L.8WEP2JENAWZN@freebsd.org> <al_4DXATypQygeQP@mutt-hbsd>
index | next in thread | previous in thread | raw e-mail
On Wed Jul 22, 2026 at 1:55 AM EEST, Shawn Webb wrote:
> On Wed, Jul 22, 2026 at 01:18:54AM +0300, Christos Margiolis wrote:
>> On Mon Jul 20, 2026 at 8:59 PM EEST, Matthew Grooms wrote:
>> > On 7/20/26 12:38, vermaden wrote:
>> >>>> I will not even start about PITA syntax of mixer(1) which went into
>> >>>> this:
>> >>>>
>> >>>> % mixer -f ${DEV} vol.volume=+0.05
>> >>> Just use gtk-mixer, avail in ports.
>> >>>
>> >>> In recent years, I haven't noticed any bugs
>> >>> in the operation of the OSS.
>> >> I do it by scripts anyway ... but I needed to rewrite all my scripts because of these changes ... and this change in syntax was bad from at least three perspectives:
>> >>
>> >> 1. It happened in 'point' release (like from .2 to .3) - not in new major release - breaking stuff for EVERYONE.
>> >>
>> >> 2. It happened without any reason - the tool could do the same with old syntax underneath - the new syntax does not introduce anything new - it just has different syntax.
>> >>
>> >> 3. As FreeBSD (at least up to some time ago) cherished the POLA principle WHY the old syntax could not been also kept and accepted?
>> >>
>> >> ... and yes - I also think that 'gtk-mixer' works well - so is 'dsbmixer' tool.
>> >
>> >
>> > It offered something new to me: Confusion. In the past, I'd need to
>> > fiddle with the mixer once a year and it was more or less obvious how it
>> > worked. The last time, I just gave up.
>> >
>> > -Matthew
>>
>> I am genuinely curious. What is so confusing, and even worse, more
>> obvious with old syntax than the new, to the point that you would give
>> up?
>
> Another anecdotal data point:
>
> I, too, was impacted by the mixer(8) syntax change. I wrote my own
> volume control scripts for my i3wm environment. I found the syntax
> change to be somewhat confusing, whereas the old syntax seemed the
> more straightforward of the two.
>
> I was able to adjust my script, but it definitely was an impactful
> change that actually caught me somewhat off-guard at the time. Minor
> annoyance, but doable for me.
>
> Thanks,
I do not object to the fact that the change was invasive and broke
scripts, but I do disagree completely that the new syntax is more
confusing or worse. It can naturally support more functionality and is
structured in a well-known format: foo.bar=value.
Old syntax:
$ mixer vol 80
New syntax, which offers a couple of ways to do volume setting, because
for volume setting there is also a shorthand (see last 2 examples):
$ mixer vol.volume=0.80
$ mixer vol.volume=80%
$ mixer vol=0.80
$ mixer vol=80%
Especially given the last example, what exactly is so different or
confusing?
The other functionality (of the two) of the old syntax, recording source
setting, was used like this: {^|+|-|=}rec <dev>.
For example, old syntax:
$ mixer ^rec monitor
New syntax:
$ mixer monitor.recsrc=toggle
The new syntax also supports mixing different functionalities in one
command:
$ mixer vol.volume=100% rec.mute=on monitor.recsrc=toggle
Apart from the fact that old syntax did not, and could not, support
muting (unless a new interface was introduced), this would need 3
separate commands.
The new syntax is more verbose, but I find it impossible to believe that
the old one is more "obvious" or better.
Christos
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DK4MY9JRTNIS.1JEZ7YUN2Q1M0>
