Simplifying the mixer

andrzej zaborowski balrogg at gmail.com
Fri Jun 13 03:01:28 CEST 2008


On 13/06/2008, Joerg Reisenweber <joerg at openmoko.org> wrote:
> Am Do  12. Juni 2008 schrieb andrzej zaborowski:
>  > Well, that's like my desktop: it has a PCM master control that
>  > controls generic playback volume no matter where it goes.
>  > Then it has
>  > one stereo control for the speakers and one for the headphones and
>  > other outputs,
>
> You simply won't see this in alsamixer for gta03. It doesn't exist, unless
>  your mixer app emulates it. THERE IS *NO* CONTROL FOR HEADPHONES *ONLY*

Great - less controls.  I tried to show with the PC example that the
controls are readable when they're named after for what sort of audio
they affect. PCM is the usual name for the source of data that is the
software (however technically correct or not).  The type of data
you're supposed to send through OUT1 will be (when used as a phone)
the incoming voice in a 2-way voice call - you don't have to but this
gives you an immediate idea of which speaker/jack is being talked
about.

>
>  Didn't I tell there's exactly one hardware level control for two outputs?!
>  You're still thinking "path" and obviously didn't look at the mixer diagram at
>
> http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf
>
>
> > the output volume is the product of all the controls on
>  > the path.
>
>
> That's pretty obvious and always true. But doesn't help.
>
>
>
>  >
>  > > What would you suggest for this very simple(!) case to name the
>  > >  control: "Speaker Vol", "Headphones Vol", "Speaker/Headphones",
>  > >  "OUT1VOL"? The first 3 names are ambiguous or even incorrect, the 4. will
>  give
>  > >  a clue to everyone who is trying to understand what is really going to
>  happen
>  > >  when this control is changed.
>  >
>  > "PCM" or "Playback" or something.
>
>
> Or something. :-P Why not "applepie"? This has ABSOLUTELY NOTHING to do with
>  PCM! BTW: PCM is already used - for PCM :-D Just we got no digital elements
>  during call, so OT.
>  And you think "Playback" is a good intuitive description for the volume of
>  your phone's earpiece???
>

Yes, from the phone point of view PCM and Playback are both wrong
names now that I think of it.

>
>  > >
>  > >  Any higher sophisticated userland app could/should use the scenario
>  services
>  > >  and knowledge about currently active "path" to rename "OUT1VOL"
>  > >  to "Speaker/Headphone Volume", or even provide two distinct
>  > >  controls "Headphone" AND "Speaker" and store the setting of the actually
>  > >  inactive one, while applying the other one to OUT1VOL mixer-element.
>  So "the
>  > >  user" never gets in contact with technical names, while "low level
>  hackers"
>  > >  aren't puzzled by wrong simple path related names.
>  >
>  > I don't know.. I use alsamixer and aumix on my desktop, they both work
>  > with the ALSA mixer controls 1:1 - no remapping, there's no reason
>  > alsamixer should be a hacker-only thing on GTA02.
>
>
> So do me a favor and use alsamixer on the ssh of GTA01/02, and then tell me
>  whether you succeeded to understand *and* *use* the controls there, the way
>  they are named right now. alsamixer is no hackertool, it is even worse, in
>  conjunction with our alsa-soundcard-driver it's a poor tool with WRONG NAMES
>  even hackers like me don't like to use.

Hence why I'm suggesting making them more readable (for a joe user).

I did have the pleasure to ssh in and try to use alsamixer.  I got the
effect I wanted but it took me 2+ minutes and was confusing.  The
brain has a great ability of filtering stuff and lets you pretty
immediately discard 85% of the controls as not affecting the
feature/path (again!) you're interested in.  This leaves you with 15
bars to try poking which is still too many.

> I tried to explain why it can't be
>  fixed when we don't abandon the "path" thinking. Obviously I failed on it, at
>  least for you. Please accept that Wolfson mixer is much more powerful but
>  also much more complex than your primitive AC97-sound-hw inside your
>  desktop-PC It has 12(!) inputs and 11(!) outputs and a complex way to connect

Part of these (OUT3, OUT4, LINE1, LINE2) are not connected on an
unmodified Neo and Linux really should know about this and not expose
them rather than just zero at init.

>  virtually everything to everything, even more than one path per 2 endpoints.
>  When I try to level the earpiece volume and start alsamixer for that purpose,
>  you really suppose I directly find "PCM"(your suggestion) to be the right one
>  of the >90(!) controls in there - even when sound during call has no PCM
>  thing at all??? :-/ Sorry, obviously you must be kidding.
>
>
>
>  >
>  > In general I think Linux is more flexible than you're thinking
>
>
> Believe me, I have a decent idea of the flexibility of unix-systems - about 18
>  years now, and I messed around with ALSA for some years. So I won't quote
>  your very common facts of the following eleven lines.

Meaning that you still think we need to not use the generic WM8753 driver?

>
>
>  > >  NB: even a cryptic technical name with register-annotation is better than
>
> > >  a completely false name, especially for "the user". It doesn't provoke
>
> > >  frustration of the kind "It's so simple to understand, but it just
>  > >  doesn't work"
>
>
> If you think about answering this mail, please first try to figure out
>  what 'Voice Sidetone Capture Volume' control is going to change exactly on
>  Wolfson mixer, and what's the difference to 'Sidetone Capture Volume'
>  control.

I'm afraid even naming these two with their WM8753-spec names (Record
Mixer Select L/R and Record Mixer Select Mono?) doesn't give you the
information you want.  I risk to say that the ALSA name as it is now
is as good as we can come up with.

Regards
-- 
Please do not print this email unless absolutely necessary. Spread
environmental awareness.



More information about the openmoko-devel mailing list