mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	alsa: cover "Desktop Speaker" mixer elements
As exposed by really old Microsoft USB sound systems
This commit is contained in:
		
							parent
							
								
									a631beeafb
								
							
						
					
					
						commit
						e8cb96c010
					
				
					 9 changed files with 131 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -1784,7 +1784,8 @@ static int path_verify(pa_alsa_path *p) {
 | 
			
		|||
        { "analog-output-lfe-on-mono",  N_("Analog Output (LFE)") },
 | 
			
		||||
        { "analog-output-mono",         N_("Analog Mono Output") },
 | 
			
		||||
        { "analog-output-headphones-2", N_("Analog Headphones 2") },
 | 
			
		||||
        { "analog-output-speaker",      N_("Analog Speaker") }
 | 
			
		||||
        { "analog-output-speaker",      N_("Analog Speakers") }
 | 
			
		||||
        { "analog-output-desktop-speaker", N_("Analog Speakers 2") }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    pa_alsa_element *e;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,98 @@
 | 
			
		|||
# This file is part of PulseAudio.
 | 
			
		||||
#
 | 
			
		||||
# PulseAudio is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU Lesser General Public License as
 | 
			
		||||
# published by the Free Software Foundation; either version 2.1 of the
 | 
			
		||||
# License, or (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# PulseAudio is distributed in the hope that it will be useful, but
 | 
			
		||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 | 
			
		||||
# General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU Lesser General Public License
 | 
			
		||||
# along with PulseAudio; if not, write to the Free Software Foundation,
 | 
			
		||||
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
 | 
			
		||||
 | 
			
		||||
; Path for mixers that have a 'Desktop Speaker' control
 | 
			
		||||
;
 | 
			
		||||
; See analog-output.conf.common for an explanation on the directives
 | 
			
		||||
 | 
			
		||||
[General]
 | 
			
		||||
priority = 100
 | 
			
		||||
 | 
			
		||||
[Element Hardware Master]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all
 | 
			
		||||
override-map.2 = all-left,all-right
 | 
			
		||||
 | 
			
		||||
[Element Master]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all
 | 
			
		||||
override-map.2 = all-left,all-right
 | 
			
		||||
 | 
			
		||||
[Element Master Mono]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
; This profile path is intended to control the desktop speaker, not
 | 
			
		||||
; the headphones. But it should not hurt if we leave the headphone
 | 
			
		||||
; jack enabled nonetheless.
 | 
			
		||||
[Element Headphone]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = zero
 | 
			
		||||
 | 
			
		||||
[Element Headphone2]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = zero
 | 
			
		||||
 | 
			
		||||
[Element Speaker]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
required = any
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all
 | 
			
		||||
override-map.2 = all-left,all-right
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all-front
 | 
			
		||||
override-map.2 = front-left,front-right
 | 
			
		||||
 | 
			
		||||
[Element Rear]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all-rear
 | 
			
		||||
override-map.2 = rear-left,rear-right
 | 
			
		||||
 | 
			
		||||
[Element Surround]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all-rear
 | 
			
		||||
override-map.2 = rear-left,rear-right
 | 
			
		||||
 | 
			
		||||
[Element Side]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all-side
 | 
			
		||||
override-map.2 = side-left,side-right
 | 
			
		||||
 | 
			
		||||
[Element Center]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = all-center
 | 
			
		||||
override-map.2 = all-center,all-center
 | 
			
		||||
 | 
			
		||||
[Element LFE]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
override-map.1 = lfe
 | 
			
		||||
override-map.2 = lfe,lfe
 | 
			
		||||
 | 
			
		||||
.include analog-output.conf.common
 | 
			
		||||
| 
						 | 
				
			
			@ -55,6 +55,10 @@ override-map.2 = all-left,all-right
 | 
			
		|||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,10 @@ volume = zero
 | 
			
		|||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,6 +58,10 @@ volume = merge
 | 
			
		|||
override-map.1 = all
 | 
			
		||||
override-map.2 = all-left,all-right
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,10 @@ volume = merge
 | 
			
		|||
override-map.1 = all
 | 
			
		||||
override-map.2 = all-left,all-right
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,10 @@ volume = merge
 | 
			
		|||
override-map.1 = all
 | 
			
		||||
override-map.2 = all-left,all-right
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
switch = off
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,10 @@ volume = zero
 | 
			
		|||
switch = mute
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Desktop Speaker]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = off
 | 
			
		||||
 | 
			
		||||
[Element Front]
 | 
			
		||||
switch = mute
 | 
			
		||||
volume = merge
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,42 +62,42 @@ auto-profiles = yes
 | 
			
		|||
[Mapping analog-mono]
 | 
			
		||||
device-strings = hw:%f
 | 
			
		||||
channel-map = mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
 | 
			
		||||
paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
 | 
			
		||||
priority = 1
 | 
			
		||||
 | 
			
		||||
[Mapping analog-stereo]
 | 
			
		||||
device-strings = front:%f hw:%f
 | 
			
		||||
channel-map = left,right
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
 | 
			
		||||
paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
 | 
			
		||||
priority = 10
 | 
			
		||||
 | 
			
		||||
[Mapping analog-surround-40]
 | 
			
		||||
device-strings = surround40:%f
 | 
			
		||||
channel-map = front-left,front-right,rear-left,rear-right
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
 | 
			
		||||
priority = 7
 | 
			
		||||
direction = output
 | 
			
		||||
 | 
			
		||||
[Mapping analog-surround-41]
 | 
			
		||||
device-strings = surround41:%f
 | 
			
		||||
channel-map = front-left,front-right,rear-left,rear-right,lfe
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
 | 
			
		||||
priority = 8
 | 
			
		||||
direction = output
 | 
			
		||||
 | 
			
		||||
[Mapping analog-surround-50]
 | 
			
		||||
device-strings = surround50:%f
 | 
			
		||||
channel-map = front-left,front-right,rear-left,rear-right,front-center
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
 | 
			
		||||
priority = 7
 | 
			
		||||
direction = output
 | 
			
		||||
 | 
			
		||||
[Mapping analog-surround-51]
 | 
			
		||||
device-strings = surround51:%f
 | 
			
		||||
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
 | 
			
		||||
priority = 8
 | 
			
		||||
direction = output
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ direction = output
 | 
			
		|||
device-strings = surround71:%f
 | 
			
		||||
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
 | 
			
		||||
description = Analog Surround 7.1
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
 | 
			
		||||
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
 | 
			
		||||
priority = 7
 | 
			
		||||
direction = output
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue