The Great Pulseaudio Mixer Debate: a modest (productive) proposal

Adam Williamson awilliam at redhat.com
Fri Apr 24 18:03:26 UTC 2009


So, in the spirit of light rather than heat, here's my proposal, again,
rescued from the depths of the flamefest, with some actual work
attached.

g-v-c is clearly intending to be an abstracted and simplified volume
control app / applet to cover the most common use cases in a friendly
way. Great.

It's clear, though, that some users have needs beyond this, which are
likely only going to be satisfied in a sensible way by access direct to
the ALSA mixer elements. Bastien and Lennart don't want some kind of
hack to expose these via g-v-c, and I'd tend to agree, that's clearly
not what it's designed for.

So my proposal is that we include by default an alternative GUI app
which allows direct access to the mixer channels. This won't be an
applet or anything else persistent, just an application that you can
choose to run if you need that level of access. Basically the same as
Lennart's "just use alsamixer" suggestion, only a GUI app that will be
more discoverable and easier for most people to use (it's a bit tricky
to figure out 'alsamixer -c0 -Vcapture', for instance).

At first I suggested including the XFCE mixer for this purpose, but now
that feels a bit awkward. It's really part of XFCE, its menu entry is
just named 'Mixer' and renaming it to something appropriate for GNOME
might not be appropriate for XFCE. And it has a slightly odd interface
rather than the 'immediate screenful o' sliders' that people are used to
from the old g-v-c.

So I suggest what we should do is resurrect gnome-alsamixer. It's still
technically part of GNOME - it's even got moved to the new GNOME git.
Other distributions still package it (Debian, for e.g.) It's even had a
few commits within the last year or so. It was more or less deprecated
in favour of g-v-c, but now we have a case where it may make sense to
have two clearly differentiated apps, and gnome-alsamixer is the obvious
choice.

I just pulled the latest code out of git and threw together a package
(based on the spec from Mandriva, since I had it lying around). It
builds and works fine - you get the kind of interface most people will
be expected, a tabbed window with each of your available output devices
on a tab, and the typical 'bunch o' sliders' layout for each device. In
the package I've added a menu entry with the name "Advanced Volume
Control" and the comment "Full hardware access volume control
application".

The package is available here:
http://adamwill.fedorapeople.org/gnome-alsamixer/ (the SRPM, spec file,
and an x86-64 build for current Rawhide). Please take a look at it if
you're interested.

Just to reinforce this, gnome-alsamixer shouldn't interfere with Pulse
or g-v-c at all; it doesn't run persistently, it doesn't mess anything
up in gconf or anywhere else that would affect those. All it does is let
you poke the raw mixer elements, just like alsamixer only graphically.

I know the GNOME folks are generally opposed to having two apps that do
'the same thing', but it's very clear from the long threads on this list
and elsewhere that g-v-c really doesn't do the things that many people
need it to do as of yet. If we ship with just g-v-c as a graphical
'mixer' available by default we will wind up telling many many people to
drop to a console and use alsamixer - and annoying a lot more people who
don't ask, find the release notes, or figure out how to use alsamixer on
their own. I really don't see how providing an alternative graphical
mixer app is worse than that.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Fedora Talk: adamwill AT fedoraproject DOT org
http://www.happyassassin.net




More information about the fedora-devel-list mailing list