git: 903873ce1560 - main - Implement and use new mixer(3) library for FreeBSD.
Mateusz Piotrowski
0mp at FreeBSD.org
Mon Oct 4 08:48:10 UTC 2021
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=903873ce15600fc02a0ea42cbf888cff232b411d
>>>
>>> commit 903873ce15600fc02a0ea42cbf888cff232b411d
>>> Author: Hans Petter Selasky <hselasky at FreeBSD.org>
>>> AuthorDate: 2021-09-22 13:42:51 +0000
>>> Commit: Hans Petter Selasky <hselasky at FreeBSD.org>
>>> CommitDate: 2021-09-22 17:43:56 +0000
>>>
>>> Implement and use new mixer(3) library for FreeBSD.
>>> Wiki article: https://wiki.freebsd.org/SummerOfCode2021Projects/SoundMixerImprovements
>>> This project was part of Google Summer of Code 2021.
>>
>> This may be a bit late to discuss but the new mixer has a completely different
>> 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 mixer?
>> 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 change
>> 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 compatible so to speak. That
> means some new features like "mute" won't work.
Hmm, I agree that mute and volume controls in the new CLI interface are very consistent. However, in
case of the old CLI interface, the mute functionality could also be added without a problem (at
least by looking at the manual pages, the "mute" command could look like this: "mixer mute vol"). My
point is that I feel that the CLI interface should be backwards-compatible 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:
https://cgit.freebsd.org/ports/commit/?id=e9a0efe4509b8dbdef0b4e4b5b94abf0aebd78a9.
However, I feel that it is a solution to a problem that could have been avoided. The mixer
improvements should have been introduced in a way that users do not have to do anything to keep
their scripts working. At the moment, it does not really matter if a user has to install an
additional port or patch their scripts. In the end, it's extra work and potential bugs.
On the other hand, from what I understand so far, mixer(8) needed a redesign. Also, usually people
don't script mixer(8) too heavily so the changes in the interface are going to be only a minor
annoyance when FreeBSD 14.0 is released. An entry in the release notes and the availability of the
old mixer in the ports tree should be enough.
Best,
Mateusz Piotrowski
More information about the dev-commits-src-all
mailing list