mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	Peter Zubaj <pzad@pobox.sk>:
- Added surround71 and side pcm definitions. - Added the support of side speakers on Audigy 2 ZS.
This commit is contained in:
		
							parent
							
								
									43cee7b8c1
								
							
						
					
					
						commit
						b9a25e2ac8
					
				
					 5 changed files with 202 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -59,6 +59,8 @@ defaults.pcm.rear.card defaults.pcm.card
 | 
			
		|||
defaults.pcm.rear.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.center_lfe.card defaults.pcm.card
 | 
			
		||||
defaults.pcm.center_lfe.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.side.card defaults.pcm.card
 | 
			
		||||
defaults.pcm.side.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.surround40.card defaults.pcm.card
 | 
			
		||||
defaults.pcm.surround40.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.surround41.card defaults.pcm.card
 | 
			
		||||
| 
						 | 
				
			
			@ -67,6 +69,8 @@ defaults.pcm.surround50.card defaults.pcm.card
 | 
			
		|||
defaults.pcm.surround50.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.surround51.card defaults.pcm.card
 | 
			
		||||
defaults.pcm.surround51.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.surround71.card defaults.pcm.card
 | 
			
		||||
defaults.pcm.surround71.device defaults.pcm.device
 | 
			
		||||
defaults.pcm.iec958.card defaults.pcm.card
 | 
			
		||||
defaults.pcm.iec958.device defaults.pcm.device
 | 
			
		||||
defaults.rawmidi.card 0
 | 
			
		||||
| 
						 | 
				
			
			@ -316,10 +320,12 @@ pcm.cards cards.pcm
 | 
			
		|||
pcm.front cards.pcm.front
 | 
			
		||||
pcm.rear cards.pcm.rear
 | 
			
		||||
pcm.center_lfe cards.pcm.center_lfe
 | 
			
		||||
pcm.side cards.pcm.side
 | 
			
		||||
pcm.surround40 cards.pcm.surround40
 | 
			
		||||
pcm.surround41 cards.pcm.surround41
 | 
			
		||||
pcm.surround50 cards.pcm.surround50
 | 
			
		||||
pcm.surround51 cards.pcm.surround51
 | 
			
		||||
pcm.surround71 cards.pcm.surround71
 | 
			
		||||
pcm.iec958 cards.pcm.iec958
 | 
			
		||||
pcm.spdif cards.pcm.iec958
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,6 +94,38 @@ Audigy2.pcm.center_lfe.0 {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/side.conf>
 | 
			
		||||
 | 
			
		||||
Audigy2.pcm.side.0 {
 | 
			
		||||
	@args [ CARD ]
 | 
			
		||||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	type hooks
 | 
			
		||||
	slave.pcm {
 | 
			
		||||
		type hw
 | 
			
		||||
		card $CARD
 | 
			
		||||
		device 0
 | 
			
		||||
	}
 | 
			
		||||
	hooks.0 {
 | 
			
		||||
		type ctl_elems
 | 
			
		||||
		hook_args [
 | 
			
		||||
			{
 | 
			
		||||
				name "EMU10K1 PCM Send Volume"
 | 
			
		||||
				index { @func private_pcm_subdevice }
 | 
			
		||||
				lock true
 | 
			
		||||
				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "EMU10K1 PCM Send Routing"
 | 
			
		||||
				index { @func private_pcm_subdevice }
 | 
			
		||||
				lock true
 | 
			
		||||
				value [ 14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0 ]
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/surround40.conf>
 | 
			
		||||
<confdir:pcm/surround41.conf>
 | 
			
		||||
<confdir:pcm/surround50.conf>
 | 
			
		||||
| 
						 | 
				
			
			@ -179,6 +211,64 @@ Audigy2.pcm.surround51.0 {
 | 
			
		|||
	]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/surround71.conf>
 | 
			
		||||
 | 
			
		||||
Audigy2.pcm.surround71.0 {
 | 
			
		||||
	@args [ CARD ]
 | 
			
		||||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	type multi
 | 
			
		||||
	slaves [
 | 
			
		||||
		{
 | 
			
		||||
			pcm {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards.Audigy2.pcm.front.0:CARD=" $CARD
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			channels 2
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			pcm {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards.Audigy2.pcm.rear.0:CARD=" $CARD
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			channels 2
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			pcm {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			channels 2
 | 
			
		||||
		}
 | 
			
		||||
		{
 | 
			
		||||
			pcm {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards.Audigy2.pcm.side.0:CARD=" $CARD
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			channels 2
 | 
			
		||||
		}
 | 
			
		||||
	]
 | 
			
		||||
	bindings [
 | 
			
		||||
		{ slave 0 channel 0 }
 | 
			
		||||
		{ slave 0 channel 1 }
 | 
			
		||||
		{ slave 1 channel 0 }
 | 
			
		||||
		{ slave 1 channel 1 }
 | 
			
		||||
		{ slave 2 channel 0 }
 | 
			
		||||
		{ slave 2 channel 1 }
 | 
			
		||||
		{ slave 3 channel 0 }
 | 
			
		||||
		{ slave 3 channel 1 }
 | 
			
		||||
	]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/iec958.conf>
 | 
			
		||||
 | 
			
		||||
Audigy2.pcm.iec958.0 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
cfg_files = front.conf rear.conf center_lfe.conf \
 | 
			
		||||
cfg_files = front.conf rear.conf center_lfe.conf side.conf\
 | 
			
		||||
	    surround40.conf surround41.conf \
 | 
			
		||||
	    surround50.conf surround51.conf \
 | 
			
		||||
	    iec958.conf
 | 
			
		||||
	    surround71.conf iec958.conf
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = $(cfg_files)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										47
									
								
								src/conf/pcm/side.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/conf/pcm/side.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,47 @@
 | 
			
		|||
#
 | 
			
		||||
# Hardware output from side speakers
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
pcm.!side {
 | 
			
		||||
	@args [ CARD DEV ]
 | 
			
		||||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
		default {
 | 
			
		||||
			@func getenv
 | 
			
		||||
			vars [
 | 
			
		||||
				ALSA_SIDE_CARD
 | 
			
		||||
				ALSA_PCM_CARD
 | 
			
		||||
				ALSA_CARD
 | 
			
		||||
			]
 | 
			
		||||
			default {
 | 
			
		||||
				@func refer
 | 
			
		||||
				name defaults.pcm.side.card
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@args.DEV {
 | 
			
		||||
		type integer
 | 
			
		||||
		default {
 | 
			
		||||
			@func igetenv
 | 
			
		||||
			vars [
 | 
			
		||||
				ALSA_SIDE_DEVICE
 | 
			
		||||
			]
 | 
			
		||||
			default {
 | 
			
		||||
				@func refer
 | 
			
		||||
				name defaults.pcm.side.device
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@func refer
 | 
			
		||||
	name {
 | 
			
		||||
		@func concat
 | 
			
		||||
		strings [
 | 
			
		||||
			"cards."
 | 
			
		||||
			{
 | 
			
		||||
				@func card_driver
 | 
			
		||||
				card $CARD
 | 
			
		||||
			}
 | 
			
		||||
			".pcm.side." $DEV ":CARD=" $CARD
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										56
									
								
								src/conf/pcm/surround71.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								src/conf/pcm/surround71.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,56 @@
 | 
			
		|||
#
 | 
			
		||||
#  Hardware output from 7.1 speakers
 | 
			
		||||
#  Samples must be positioned:
 | 
			
		||||
#    chn0 - front left
 | 
			
		||||
#    chn1 - front right
 | 
			
		||||
#    chn2 - rear left
 | 
			
		||||
#    chn3 - rear right
 | 
			
		||||
#    chn4 - center
 | 
			
		||||
#    chn5 - lfe
 | 
			
		||||
#    chn7 - side left
 | 
			
		||||
#    chn8 - side right
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
pcm.!surround71 {
 | 
			
		||||
	@args [ CARD DEV ]
 | 
			
		||||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
		default {
 | 
			
		||||
			@func getenv
 | 
			
		||||
			vars [
 | 
			
		||||
				ALSA_SURROUND71_CARD
 | 
			
		||||
				ALSA_PCM_CARD
 | 
			
		||||
				ALSA_CARD
 | 
			
		||||
			]
 | 
			
		||||
			default {
 | 
			
		||||
				@func refer
 | 
			
		||||
				name defaults.pcm.surround71.card
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@args.DEV {
 | 
			
		||||
		type integer
 | 
			
		||||
		default {
 | 
			
		||||
			@func igetenv
 | 
			
		||||
			vars [
 | 
			
		||||
				ALSA_SURROUND71_DEVICE
 | 
			
		||||
			]
 | 
			
		||||
			default {
 | 
			
		||||
				@func refer
 | 
			
		||||
				name defaults.pcm.surround71.device
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@func refer
 | 
			
		||||
	name {
 | 
			
		||||
		@func concat
 | 
			
		||||
		strings [
 | 
			
		||||
			"cards."
 | 
			
		||||
			{
 | 
			
		||||
				@func card_driver
 | 
			
		||||
				card $CARD
 | 
			
		||||
			}
 | 
			
		||||
			".pcm.surround71." $DEV ":CARD=" $CARD
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue