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.rear.device defaults.pcm.device
 | 
				
			||||||
defaults.pcm.center_lfe.card defaults.pcm.card
 | 
					defaults.pcm.center_lfe.card defaults.pcm.card
 | 
				
			||||||
defaults.pcm.center_lfe.device defaults.pcm.device
 | 
					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.card defaults.pcm.card
 | 
				
			||||||
defaults.pcm.surround40.device defaults.pcm.device
 | 
					defaults.pcm.surround40.device defaults.pcm.device
 | 
				
			||||||
defaults.pcm.surround41.card defaults.pcm.card
 | 
					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.surround50.device defaults.pcm.device
 | 
				
			||||||
defaults.pcm.surround51.card defaults.pcm.card
 | 
					defaults.pcm.surround51.card defaults.pcm.card
 | 
				
			||||||
defaults.pcm.surround51.device defaults.pcm.device
 | 
					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.card defaults.pcm.card
 | 
				
			||||||
defaults.pcm.iec958.device defaults.pcm.device
 | 
					defaults.pcm.iec958.device defaults.pcm.device
 | 
				
			||||||
defaults.rawmidi.card 0
 | 
					defaults.rawmidi.card 0
 | 
				
			||||||
| 
						 | 
					@ -316,10 +320,12 @@ pcm.cards cards.pcm
 | 
				
			||||||
pcm.front cards.pcm.front
 | 
					pcm.front cards.pcm.front
 | 
				
			||||||
pcm.rear cards.pcm.rear
 | 
					pcm.rear cards.pcm.rear
 | 
				
			||||||
pcm.center_lfe cards.pcm.center_lfe
 | 
					pcm.center_lfe cards.pcm.center_lfe
 | 
				
			||||||
 | 
					pcm.side cards.pcm.side
 | 
				
			||||||
pcm.surround40 cards.pcm.surround40
 | 
					pcm.surround40 cards.pcm.surround40
 | 
				
			||||||
pcm.surround41 cards.pcm.surround41
 | 
					pcm.surround41 cards.pcm.surround41
 | 
				
			||||||
pcm.surround50 cards.pcm.surround50
 | 
					pcm.surround50 cards.pcm.surround50
 | 
				
			||||||
pcm.surround51 cards.pcm.surround51
 | 
					pcm.surround51 cards.pcm.surround51
 | 
				
			||||||
 | 
					pcm.surround71 cards.pcm.surround71
 | 
				
			||||||
pcm.iec958 cards.pcm.iec958
 | 
					pcm.iec958 cards.pcm.iec958
 | 
				
			||||||
pcm.spdif 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/surround40.conf>
 | 
				
			||||||
<confdir:pcm/surround41.conf>
 | 
					<confdir:pcm/surround41.conf>
 | 
				
			||||||
<confdir:pcm/surround50.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>
 | 
					<confdir:pcm/iec958.conf>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Audigy2.pcm.iec958.0 {
 | 
					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 \
 | 
						    surround40.conf surround41.conf \
 | 
				
			||||||
	    surround50.conf surround51.conf \
 | 
						    surround50.conf surround51.conf \
 | 
				
			||||||
	    iec958.conf
 | 
						    surround71.conf iec958.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXTRA_DIST = $(cfg_files)
 | 
					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