Fading control (ie front/back balance in >2 channel setups) is available in rawhide.

The UI for device selection and profile switching is available in rawhide.

The UI for input switching (port selection) is also available in rawhide.

Detailed Description

In the run-up to Fedora 11, a number of shortcomings with the Features/VolumeControl feature were identified and lead to some heated discussions. This is a follow-up feature to address these points in Fedora 12.
In particular, the following things will be addressed:

Profile support. Profiles are PulseAudios way of grouping alsa devices that can be used together in meaningful ways. Typical profiles are 'Output Analog Stereo + Input Analog Stereo' or 'Output Digital Stereo (IEC958)'. Pavucontrol already supports profile selection in F11.

Input switching. People need a way to switch between internal microphone, external microphone, line in, etc, as source for recording audio. Since alsa does not offer good support for this, PulseAudio will have to make a best effort at figuring this out itself.

Fade control. Similar to the existing balance slider, but for front/back.

Volume control problems. In many cases, these problems can be solved by populating the alsa device database with suitable settings.

Benefit to Fedora

Fedora gains a volume control that 'just works' in most cases, which should greatly reduce the need to fall back to raw Alsa controls.

Scope

How To Test

The GNOME sound properties dialog that is being tested here (/usr/bin/gnome-volume-control) is available in the menus under System → Preferences → Sound.

To test fade control, you need an audio setup that supports surround sound.

Play some audio, e.g. in rhythmbox

Open the output tab of gnome-volume-control

Check that the fade slider is visible and enabled

Move the fade slider, verify that the sound is changed as indicated by the labels

Check that balance and fade interact as expected

Switch to an audio setup that does not support surround sound (either by using different hardware or by selecting a different profile)

Open the output tab of gnome-volume-control

Check that the fade slider is not enabled

To test profiles, you need one or more sound devices that support multiple profiles.

Open the hardware tab of gnome-volume-control

Select the sound device that you want to test

When the device is selected, a combobox with available profiles for this device will appear below the list of devices

Select various profiles from the list and verify that the changes are reflected on the the input and output tabs, as well as respected by applications that are playing sound.

The last selected device and profile should be remembered across logouts/reboots

To test input switching: TBD

User Experience

The changes to the user experience should be small, compared to the Fedora 11 volume control. The Input and Output tabs in gnome-volume-control will gain a way to select profiles and switch input devices, and the Output tab will have a Fade slider below the Balance slider, if the selected output device supports it.

Here is how the new hardware tab looks:

Here is how input switching works:

Dependencies

Updates to the alsa database need to land in the alsa packages.

Contingency Plan

The listed parts of this feature can be deployed partially, if some are not completed in time (e.g. allow input switching, but leave out fade control).
If profile support is not completed in time, we can just fall back to pavucontrol for that. The additions to the alsa database are incremental in nature.

Documentation

None yet.

Release Notes

The GNOME sound properties dialog (in the menus under System → Preferences → Sound) has been enhanced to allow control of multiple sound devices and their profiles. It has also gained a simple way to configure surround sound setups with balance and fade controls.