mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	- turn on the jack sharing switches automatically for surround pcms.
- fixed the device number of hooked controls (all zero). - use route plugin instead of multi plugin for remapping of channels.
This commit is contained in:
		
							parent
							
								
									0ecc03111d
								
							
						
					
					
						commit
						eaa016554c
					
				
					 5 changed files with 282 additions and 50 deletions
				
			
		| 
						 | 
				
			
			@ -34,6 +34,7 @@ ATIIXP.pcm.surround40.0 {
 | 
			
		|||
				name "Line-In As Surround"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -69,12 +70,14 @@ ATIIXP.pcm.surround51.0 {
 | 
			
		|||
				name "Line-In As Surround"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Mic As Center/LFE"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
| 
						 | 
				
			
			@ -125,18 +128,21 @@ ATIIXP.pcm.iec958.0 {
 | 
			
		|||
		hook_args [
 | 
			
		||||
			{
 | 
			
		||||
				name "IEC958 Playback AC97-SPSA"
 | 
			
		||||
				device 0
 | 
			
		||||
				lock true
 | 
			
		||||
				preserve true
 | 
			
		||||
				value 3
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "IEC958 Playback Default"
 | 
			
		||||
				device 0
 | 
			
		||||
				lock true
 | 
			
		||||
				preserve true
 | 
			
		||||
				value [ $AES0 $AES1 $AES2 $AES3 ]
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "IEC958 Playback Switch"
 | 
			
		||||
				device 0
 | 
			
		||||
				lock true
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,37 @@ ICH.pcm.front.0 {
 | 
			
		|||
 | 
			
		||||
<confdir:pcm/surround40.conf>
 | 
			
		||||
 | 
			
		||||
ICH.pcm.surround40.0 "cards.ICH.pcm.front.0"
 | 
			
		||||
ICH.pcm.surround40.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 "Line-In As Surround"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Surround Down Mix"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/surround41.conf>
 | 
			
		||||
<confdir:pcm/surround50.conf>
 | 
			
		||||
| 
						 | 
				
			
			@ -27,26 +57,55 @@ ICH.pcm.surround51.0 {
 | 
			
		|||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	type multi
 | 
			
		||||
	slaves [
 | 
			
		||||
	type route
 | 
			
		||||
	ttable.0.0 1
 | 
			
		||||
	ttable.1.1 1
 | 
			
		||||
	ttable.2.4 1
 | 
			
		||||
	ttable.3.5 1
 | 
			
		||||
	ttable.4.2 1
 | 
			
		||||
	ttable.5.3 1
 | 
			
		||||
	slave.pcm {
 | 
			
		||||
		type hooks
 | 
			
		||||
		slave.pcm {
 | 
			
		||||
			type hw
 | 
			
		||||
			card $CARD
 | 
			
		||||
			device 0
 | 
			
		||||
		}
 | 
			
		||||
		hooks.0 {
 | 
			
		||||
			type ctl_elems
 | 
			
		||||
			hook_args [
 | 
			
		||||
				{
 | 
			
		||||
			pcm {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards.ICH.pcm.front.0:CARD=" $CARD
 | 
			
		||||
				]
 | 
			
		||||
					name "Line-In As Surround"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value true
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
			channels 6
 | 
			
		||||
				{
 | 
			
		||||
					name "Mic As Center/LFE"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value true
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
				{
 | 
			
		||||
					name "Surround Down Mix"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value off
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
				{
 | 
			
		||||
					name "Center/LFE Down Mix"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value off
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
			]
 | 
			
		||||
	bindings [
 | 
			
		||||
		{ slave 0 channel 0 }
 | 
			
		||||
		{ slave 0 channel 1 }
 | 
			
		||||
		{ slave 0 channel 4 }
 | 
			
		||||
		{ slave 0 channel 5 }
 | 
			
		||||
		{ slave 0 channel 2 }
 | 
			
		||||
		{ slave 0 channel 3 }
 | 
			
		||||
	]
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	slave.channels 6
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/iec958.conf>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,37 @@ NFORCE.pcm.front.0 {
 | 
			
		|||
 | 
			
		||||
<confdir:pcm/surround40.conf>
 | 
			
		||||
 | 
			
		||||
NFORCE.pcm.surround40.0 "cards.NFORCE.pcm.front.0"
 | 
			
		||||
NFORCE.pcm.surround40.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 "Line-In As Surround"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Surround Down Mix"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/surround41.conf>
 | 
			
		||||
<confdir:pcm/surround50.conf>
 | 
			
		||||
| 
						 | 
				
			
			@ -27,26 +57,55 @@ NFORCE.pcm.surround51.0 {
 | 
			
		|||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	type multi
 | 
			
		||||
	slaves [
 | 
			
		||||
	type route
 | 
			
		||||
	ttable.0.0 1
 | 
			
		||||
	ttable.1.1 1
 | 
			
		||||
	ttable.2.4 1
 | 
			
		||||
	ttable.3.5 1
 | 
			
		||||
	ttable.4.2 1
 | 
			
		||||
	ttable.5.3 1
 | 
			
		||||
	slave.pcm {
 | 
			
		||||
		type hooks
 | 
			
		||||
		slave.pcm {
 | 
			
		||||
			type hw
 | 
			
		||||
			card $CARD
 | 
			
		||||
			device 0
 | 
			
		||||
		}
 | 
			
		||||
		hooks.0 {
 | 
			
		||||
			type ctl_elems
 | 
			
		||||
			hook_args [
 | 
			
		||||
				{
 | 
			
		||||
			pcm {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards.NFORCE.pcm.front.0:CARD=" $CARD
 | 
			
		||||
				]
 | 
			
		||||
					name "Line-In As Surround"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value true
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
			channels 6
 | 
			
		||||
				{
 | 
			
		||||
					name "Mic As Center/LFE"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value true
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
				{
 | 
			
		||||
					name "Surround Down Mix"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value off
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
				{
 | 
			
		||||
					name "Center/LFE Down Mix"
 | 
			
		||||
					preserve true
 | 
			
		||||
					value off
 | 
			
		||||
					lock true
 | 
			
		||||
					optional true
 | 
			
		||||
				}
 | 
			
		||||
			]
 | 
			
		||||
	bindings [
 | 
			
		||||
		{ slave 0 channel 0 }
 | 
			
		||||
		{ slave 0 channel 1 }
 | 
			
		||||
		{ slave 0 channel 4 }
 | 
			
		||||
		{ slave 0 channel 5 }
 | 
			
		||||
		{ slave 0 channel 2 }
 | 
			
		||||
		{ slave 0 channel 3 }
 | 
			
		||||
	]
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	slave.channels 6
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/iec958.conf>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,16 +21,88 @@ VIA8233.pcm.surround40.0 {
 | 
			
		|||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	type hooks
 | 
			
		||||
	slave.pcm {
 | 
			
		||||
		type hw
 | 
			
		||||
		card $CARD
 | 
			
		||||
		device 1
 | 
			
		||||
	}
 | 
			
		||||
	hooks.0 {
 | 
			
		||||
		type ctl_elems
 | 
			
		||||
		hook_args [
 | 
			
		||||
			{
 | 
			
		||||
				name "Line-In As Surround"
 | 
			
		||||
				device 0
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Surround Down Mix"
 | 
			
		||||
				device 0
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/surround41.conf>
 | 
			
		||||
<confdir:pcm/surround50.conf>
 | 
			
		||||
<confdir:pcm/surround51.conf>
 | 
			
		||||
 | 
			
		||||
VIA8233.pcm.surround51.0 "cards.VIA8233.pcm.surround40.0"
 | 
			
		||||
VIA8233.pcm.surround51.0 {
 | 
			
		||||
	@args [ CARD ]
 | 
			
		||||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	type hooks
 | 
			
		||||
	slave.pcm {
 | 
			
		||||
		type hw
 | 
			
		||||
		card $CARD
 | 
			
		||||
		device 1
 | 
			
		||||
	}
 | 
			
		||||
	hooks.0 {
 | 
			
		||||
		type ctl_elems
 | 
			
		||||
		hook_args [
 | 
			
		||||
			{
 | 
			
		||||
				name "Line-In As Surround"
 | 
			
		||||
				device 0
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Mic As Center/LFE"
 | 
			
		||||
				device 0
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Surround Down Mix"
 | 
			
		||||
				device 0
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Center/LFE Down Mix"
 | 
			
		||||
				device 0
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/iec958.conf>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -39,9 +111,6 @@ VIA8233.pcm.iec958.0 {
 | 
			
		|||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	@args.DEV {
 | 
			
		||||
		type integer
 | 
			
		||||
	}
 | 
			
		||||
	@args.AES0 {
 | 
			
		||||
		type integer
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,20 @@ VIA8233A.pcm.surround40.0 {
 | 
			
		|||
				value flase
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Line-In As Surround"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Surround Down Mix"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -68,6 +82,34 @@ VIA8233A.pcm.surround51.0 {
 | 
			
		|||
				value true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Line-In As Surround"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Mic As Center/LFE"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value true
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Surround Down Mix"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
			{
 | 
			
		||||
				name "Center/LFE Down Mix"
 | 
			
		||||
				preserve true
 | 
			
		||||
				value off
 | 
			
		||||
				lock true
 | 
			
		||||
				optional true
 | 
			
		||||
			}
 | 
			
		||||
		]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -79,9 +121,6 @@ VIA8233A.pcm.iec958.0 {
 | 
			
		|||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
	}
 | 
			
		||||
	@args.DEV {
 | 
			
		||||
		type integer
 | 
			
		||||
	}
 | 
			
		||||
	@args.AES0 {
 | 
			
		||||
		type integer
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue