[alsa-devel] [RFC, alsa-utils] RFC: alsamixer: Improve description of playback switches

Kirill Marinushkin k.marinushkin at gmail.com
Mon Mar 26 20:32:10 CEST 2018


On 03/26/18 09:38, Takashi Iwai wrote:
> On Mon, 26 Mar 2018 07:11:44 +0200,
> Kirill Marinushkin wrote:
>> Currently, all playback switches are described as mute. It is shown as:
>>
>> [OO] == sound is on (left and right channels)
>> [MM] == sound is muted (left and right channels)
>>
>> But cards can have different kinds of switch controls, not only mute. At
>> least usb-audio provides boolean controls as playback switches for:
>>
>> * clock source validity (read only switch)
>> * processing features on/off (rw switch)
>> * potentially other similar use-cases
>>
>> It becames confusing, because it is shown as:
>>
>> [OO] == clock source is valid
>> [MM] == clock source is invalid
>>
>> [OO] == processing feature is on
>> [MM] == processing feature is off
>>
>> And from the help, it is not clear how to toggle such switches.
>>
>> In this RFC, I suggest to show switches more generic:
>>
>> [yy] == sound on    / clock source is valid   / processing feature is on
>> [nn] == sound muted / clock source is invalid / processing feature is off
> I don't think it's better solution, sorry.  The current symbol isn't
> the best of the best, I admit.  But yy/nn isn't better from the
> visibility POV, and what's worse is the sudden change of user
> experience on such a long-living application.  Also, you can't expect
> every user understanding English.

You are right. Change of symbols will complicate the experience. I agree that we better keep the current ones.

>
> If the problem is about the mismatch of mute/non-mute symbol against
> the switch state, we may blacklist / whitelist the element names.
> At easiest, we can keep using mute symbol for "xxx Playback Switch".
> This is very likely a mute control.  The rest is neutral, so something
> more generic symbol can be used for on/off instead of 'M'.

I faced 2 problems:

* the clock source validity was displayed as [O]. I thought it is a zero, which is the opposite from the real state
* I couldn't find how to turn the processing feature on. The help doesn't say anything about it

I agree that we better keep the symbol unchanged. But in the help we need to clarify the use-case.
Below is an alternative way to make it clear. What do you think about this?

--- a/alsamixer/mixer_widget.c
+++ b/alsamixer/mixer_widget.c
@@ -210,9 +210,11 @@ static void show_help(void)
                _("Z X C      Decrease left/both/right volumes"),
                _("B          Balance left and right volumes"),
                "",
-               _("M          Toggle mute"),
+               _("M          Toggle mute/switch"),
                /* TRANSLATORS: or , . */
-               _("< >        Toggle left/right mute"),
+               _("< >        Toggle left/right mute/switch"),
+               _("           [O] == playback on / switch on"),
+               _("           [M] == playback muted / switch off"),
                "",
                _("Space      Toggle capture"),
                /* TRANSLATORS: or Insert Delete */

> thanks,
>
> Takashi



More information about the Alsa-devel mailing list