From Fedora Project Wiki
No edit summary
(Change 'best effort' to 'best try' for legal reasons. - See spot for details.)
 
(15 intermediate revisions by 2 users not shown)
Line 12: Line 12:
== Current status ==
== Current status ==
* Targeted release: [[Releases/12 | Fedora 12]]  
* Targeted release: [[Releases/12 | Fedora 12]]  
* Last updated: 2009-07-27
* Last updated: 2009-09-24
* Percentage of completion: 80%
* Percentage of completion: 100%


The necessary infrastructure for profile switching is available in PulseAudio, and can be tested with pavucontrol. Upstream PA has gained an additional concept of 'ports' and a way to describe the alsa setup in a way that PA can make sense of, see https://tango.0pointer.de/pipermail/pulseaudio-discuss/2009-June/004229.html
The necessary infrastructure for profile switching is available in PulseAudio, and can be tested with pavucontrol. Upstream PA has gained an additional concept of 'ports' and a way to describe the alsa setup in a way that PA can make sense of, see https://tango.0pointer.de/pipermail/pulseaudio-discuss/2009-June/004229.html
Line 20: Line 20:


The UI for device selection and profile switching 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.
The speaker setup dialog has been punted to the next release.


== Detailed Description ==
== Detailed Description ==
Line 26: Line 30:


* 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.
* 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.
* 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 try at figuring this out itself.
* Fade control. Similar to the existing balance slider, but for front/back.
* 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.
* Volume control problems. In many cases, these problems can be solved by populating the alsa device database with suitable settings.
Line 56: Line 60:
# The last selected device and profile should be remembered across logouts/reboots
# The last selected device and profile should be remembered across logouts/reboots


To test input switching: TBD
To test output switching:
# Select a sound device that has multiple outputs (such as speakers and headphones)
# Switch to the output tab of gnome-volume-control
# Verify that changing the selected output in the "Connector" control has the desired effect
 
To test input switching:
# Select a sound device that has multiple inputs (such as internal microphone and line-in)
# Switch to the input tab of gnome-volume-control
# Verify that changing the selected input in the "Connector" control has the desired effect


== User Experience ==
== User Experience ==
Line 62: Line 74:


Here is how the new hardware tab looks:
Here is how the new hardware tab looks:
[[File:HardwareTab.png]]
[[File:HardwareTab.png]]
Here is how input switching works:
[[File:InputSwitching.png]]


== Dependencies ==
== Dependencies ==
Line 72: Line 89:


== Documentation ==
== Documentation ==
None yet.
* '''FIXME''' None yet.


== Release Notes ==
== 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.
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 select the input source when recording.


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/VolumeControlContinued]]   
* See [[Talk:Features/VolumeControlContinued]]   


[[Category:FeatureReadyForFesco]]
[[Category:FeatureAcceptedF12]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 14:17, 20 October 2011

Feature Name

Volume Control

Summary

Make volume control versatile enough to handle most common uses.

Owner

  • Email: lpoetter@redhat.com, bnocera@redhat.com

Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-09-24
  • Percentage of completion: 100%

The necessary infrastructure for profile switching is available in PulseAudio, and can be tested with pavucontrol. Upstream PA has gained an additional concept of 'ports' and a way to describe the alsa setup in a way that PA can make sense of, see https://tango.0pointer.de/pipermail/pulseaudio-discuss/2009-June/004229.html

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.

The speaker setup dialog has been punted to the next release.

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 try 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

This feature requires changes to PulseAudio (input switching), gnome-media (UI for profiles, input switching and fading) and alsa (database entries for cards/drivers).

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.

  1. Play some audio, e.g. in rhythmbox
  2. Open the output tab of gnome-volume-control
  3. Check that the fade slider is visible and enabled
  4. Move the fade slider, verify that the sound is changed as indicated by the labels
  5. Check that balance and fade interact as expected
  6. Switch to an audio setup that does not support surround sound (either by using different hardware or by selecting a different profile)
  7. Open the output tab of gnome-volume-control
  8. Check that the fade slider is not enabled

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

  1. Open the hardware tab of gnome-volume-control
  2. Select the sound device that you want to test
  3. When the device is selected, a combobox with available profiles for this device will appear below the list of devices
  4. 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.
  5. The last selected device and profile should be remembered across logouts/reboots

To test output switching:

  1. Select a sound device that has multiple outputs (such as speakers and headphones)
  2. Switch to the output tab of gnome-volume-control
  3. Verify that changing the selected output in the "Connector" control has the desired effect

To test input switching:

  1. Select a sound device that has multiple inputs (such as internal microphone and line-in)
  2. Switch to the input tab of gnome-volume-control
  3. Verify that changing the selected input in the "Connector" control has the desired effect

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:

HardwareTab.png

Here is how input switching works:

InputSwitching.png

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

  • FIXME 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 select the input source when recording.

Comments and Discussion