Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Oct 2021 10:48:03 +0200
From:      Mateusz Piotrowski <0mp@FreeBSD.org>
To:        Hans Petter Selasky <hps@selasky.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Cc:        Christos Margiolis <christos@freebsd.org>
Subject:   Re: git: 903873ce1560 - main - Implement and use new mixer(3) library for FreeBSD.
Message-ID:  <e48b1538-db29-50a4-9cf2-57615144132d@FreeBSD.org>
In-Reply-To: <487fa0f2-d845-438f-a035-8b7ccba4285a@selasky.org>
References:  <202109221803.18MI3gdA013391@gitrepo.freebsd.org> <3d6a23c3-ad2c-4c5b-849e-1ef12dbf8955@FreeBSD.org> <487fa0f2-d845-438f-a035-8b7ccba4285a@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Hans,

On 03/10/2021 21:08, Hans Petter Selasky wrote:
> On 10/3/21 6:03 PM, Mateusz Piotrowski wrote:
>> On 22/09/2021 20:03, Hans Petter Selasky wrote:
>>> The branch main has been updated by hselasky:
>>>
>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D903873ce15600fc02a0ea4=
2cbf888cff232b411d
>>>
>>> commit 903873ce15600fc02a0ea42cbf888cff232b411d
>>> Author:=C2=A0=C2=A0=C2=A0=C2=A0 Hans Petter Selasky <hselasky@FreeBSD=
=2Eorg>
>>> AuthorDate: 2021-09-22 13:42:51 +0000
>>> Commit:=C2=A0=C2=A0=C2=A0=C2=A0 Hans Petter Selasky <hselasky@FreeBSD=
=2Eorg>
>>> CommitDate: 2021-09-22 17:43:56 +0000
>>>
>>> =C2=A0=C2=A0=C2=A0=C2=A0 Implement and use new mixer(3) library for F=
reeBSD.
>>> =C2=A0=C2=A0=C2=A0=C2=A0 Wiki article: https://wiki.freebsd.org/Summe=
rOfCode2021Projects/SoundMixerImprovements
>>> =C2=A0=C2=A0=C2=A0=C2=A0 This project was part of Google Summer of Co=
de 2021.
>>
>> This may be a bit late to discuss but the new mixer has a completely d=
ifferent
>> set of options and command-line arguments. In addition to that,
>> the output of the command is different.
>>
>> Shouldn't we keep supporting the previous way of interacting with mixe=
r?
>> I know that people are scripting mixer and its output in production
>> in order to control soundcards. Are there any good reasons to keep the=
 new
>> mixer(8) as it is now while keeping the old name? Perhaps we could cha=
nge
>> the name of the new mixer to, e.g., newmixer. Users are going to have =
to
>> rewrite their scripts for mixer(8) anyway for 14.0.
>>
>
> It depends what level of compatibility you need.
>
> If you have a script parsing mixer output, then it needs to be binary c=
ompatible so to speak. That=20
> means some new features like "mute" won't work.
Hmm, I agree that mute and volume controls in the new CLI interface are v=
ery consistent. However, in=20
case of the old CLI interface, the mute functionality could also be added=
 without a problem (at=20
least by looking at the manual pages, the "mute" command could look like =
this: "mixer mute vol"). My=20
point is that I feel that the CLI interface should be backwards-compatibl=
e in this case.
>
> Would it help to make a port, like "oldmixer", under "audio" ?

That's a good idea. I've committed the "old" mixer to the ports tree:=20
https://cgit.freebsd.org/ports/commit/?id=3De9a0efe4509b8dbdef0b4e4b5b94a=
bf0aebd78a9.

However, I feel that it is a solution to a problem that could have been a=
voided. The mixer=20
improvements should have been introduced in a way that users do not have =
to do anything to keep=20
their scripts working. At the moment, it does not really matter if a user=
 has to install an=20
additional port or patch their scripts. In the end, it's extra work and p=
otential bugs.

On the other hand, from what I understand so far, mixer(8) needed a redes=
ign. Also, usually people=20
don't script mixer(8) too heavily so the changes in the interface are goi=
ng to be only a minor=20
annoyance when FreeBSD 14.0 is released. An entry in the release notes an=
d the availability of the=20
old mixer in the ports tree should be enough.

Best,

Mateusz Piotrowski





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e48b1538-db29-50a4-9cf2-57615144132d>