Carl uses his laptop for private use and work. He works at home, while travelling on a train, or at the office. He uses the following hardware:
When Carl does home-office he uses Skype, a SIP application, and a H.323 application (e.g. Ekiga for both SIP and H.323) to provide VoIP connectivity to his collegues and be reachable via a phone number that is not his private phone number. To provide the best sound quality he wants to use his USB headset when it's connected. If the headset is not connected he wants to be able to answer calls with the built-in speakers and microphone. When he then connects the headset, while in a call, he wants the sound to migrate automatically to the headset.
When at work, he wants to use the microphone and speakers of the monitor for VoIP applications. If he plugs a headphone in the 3.5mm jack of the laptop, he'd like to use that as the output device. On unplugging the headphone jack the output should migrate to the monitor again.
Event sounds (this includes ringing sounds of VoIP applications when being called) should go to
Sometimes Carl uses his laptop to play a short round of Wesnoth against his friend, while talking to him on Skype. Thus he uses the USB headset for communication and wants Wesnoth to use the USB headset for sound output as well. Since the Wesnoth action is not always very high ;) Carl also starts up Amarok in the background and wants it to play to the headset, too. This requires to have the Skype output louder than the Amarok and Wesnoth "noise", because talking to his friend is most important to him.
Ami has her desktop computer on a desk in the living room. The internal HDA soundcard is connected to the monitor speakers via the 3.5mm front output jack and to high quality active speakers via the 3.5mm back output jack. She also has headphones with 3.5mm connectors which she can plug into either the headphone jack of the desktop or the headphone jack of the monitor. A USB webcam with built-in microphone is attached, providing the only microphone of this system, for use with Skype. The nearby TV is attached to the graphics card via an HDMI cable and can provide stereo audio output.
For most of her time at the computer, she only requires event sounds and the audio of web videos on her monitor speakers. If she wants to switch to higher quality playback, she turns on the active speakers and migrates the music and video audio to the active speakers while event sounds stay on the monitor speakers. To watch a DVD or some of her videos she uses the TV and either wants to use the TV speakers or the active speakers.
When using Skype, she wants to capture from the webcam and use the monitor speakers. But sometimes she'd rather move over to the couch and TV for a longer chat.
Generally the system should be as smart as possible and provide the best defaults possible to minimize configuration tasks. What the computer can't recognize:
The following special events are possibly interesting for a smart audio device management to monitor and handle:
That leaves the following setup changes to manual intervention: