mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	Make "default" PCM card-specific
"default" PCM can be card-specific. The definition is moved to pcm/default.conf, and read on-demmand via aliases.conf. The card config can override the default config.
This commit is contained in:
		
							parent
							
								
									eb69df65b3
								
							
						
					
					
						commit
						d2a1301073
					
				
					 4 changed files with 47 additions and 33 deletions
				
			
		| 
						 | 
					@ -284,38 +284,6 @@ pcm.null {
 | 
				
			||||||
	type null
 | 
						type null
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pcm.default {
 | 
					 | 
				
			||||||
	type plug
 | 
					 | 
				
			||||||
	slave.pcm {
 | 
					 | 
				
			||||||
		type hw
 | 
					 | 
				
			||||||
		card {
 | 
					 | 
				
			||||||
			@func getenv
 | 
					 | 
				
			||||||
			vars [
 | 
					 | 
				
			||||||
				ALSA_PCM_CARD
 | 
					 | 
				
			||||||
				ALSA_CARD
 | 
					 | 
				
			||||||
			]
 | 
					 | 
				
			||||||
			default {
 | 
					 | 
				
			||||||
				@func refer
 | 
					 | 
				
			||||||
				name defaults.pcm.card
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		device {
 | 
					 | 
				
			||||||
			@func igetenv
 | 
					 | 
				
			||||||
			vars [
 | 
					 | 
				
			||||||
				ALSA_PCM_DEVICE
 | 
					 | 
				
			||||||
			]
 | 
					 | 
				
			||||||
			default {
 | 
					 | 
				
			||||||
				@func refer
 | 
					 | 
				
			||||||
				name defaults.pcm.device
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		subdevice {
 | 
					 | 
				
			||||||
			@func refer
 | 
					 | 
				
			||||||
			name defaults.pcm.subdevice
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# redirect to load-on-demand extended pcm definitions
 | 
					# redirect to load-on-demand extended pcm definitions
 | 
				
			||||||
pcm.cards cards.pcm
 | 
					pcm.cards cards.pcm
 | 
				
			||||||
# some links for easy use
 | 
					# some links for easy use
 | 
				
			||||||
| 
						 | 
					@ -331,6 +299,7 @@ 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
 | 
				
			||||||
pcm.modem cards.pcm.modem
 | 
					pcm.modem cards.pcm.modem
 | 
				
			||||||
 | 
					pcm.default cards.pcm.default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#  Control interface
 | 
					#  Control interface
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,3 +39,9 @@ VIA82XX-MODEM cards.ICH-MODEM
 | 
				
			||||||
'USB US-X2Y' cards.US-X2Y
 | 
					'USB US-X2Y' cards.US-X2Y
 | 
				
			||||||
'Serial MIDI' cards.SerialMIDI
 | 
					'Serial MIDI' cards.SerialMIDI
 | 
				
			||||||
'Prodif Plus' cards.ProdifPlus
 | 
					'Prodif Plus' cards.ProdifPlus
 | 
				
			||||||
 | 
					ESM1 cards.ES1968
 | 
				
			||||||
 | 
					ES1978 cards.ES1968
 | 
				
			||||||
 | 
					Allegro cards.Maestro3
 | 
				
			||||||
 | 
					Canyon3D-2 cards.Maestro3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<confdir:pcm/default.conf>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
cfg_files = front.conf rear.conf center_lfe.conf side.conf\
 | 
					cfg_files = default.conf 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 \
 | 
				
			||||||
	    surround71.conf iec958.conf modem.conf
 | 
						    surround71.conf iec958.conf modem.conf
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										39
									
								
								src/conf/pcm/default.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/conf/pcm/default.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Default output
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pcm.!default {
 | 
				
			||||||
 | 
						@args [ CARD ]
 | 
				
			||||||
 | 
						@args.CARD {
 | 
				
			||||||
 | 
							type string
 | 
				
			||||||
 | 
							default {
 | 
				
			||||||
 | 
								@func getenv
 | 
				
			||||||
 | 
								vars [
 | 
				
			||||||
 | 
									ALSA_PCM_CARD
 | 
				
			||||||
 | 
									ALSA_CARD
 | 
				
			||||||
 | 
								]
 | 
				
			||||||
 | 
								default {
 | 
				
			||||||
 | 
									@func refer
 | 
				
			||||||
 | 
									name defaults.pcm.card
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						# use card-specific definition if exists
 | 
				
			||||||
 | 
						@func refer
 | 
				
			||||||
 | 
						name {
 | 
				
			||||||
 | 
							@func concat
 | 
				
			||||||
 | 
							strings [
 | 
				
			||||||
 | 
								"cards."
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									@func card_driver
 | 
				
			||||||
 | 
									card $CARD
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								".pcm.default:CARD=" $CARD
 | 
				
			||||||
 | 
							]
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						default {
 | 
				
			||||||
 | 
							# use plughw as default
 | 
				
			||||||
 | 
							type plug
 | 
				
			||||||
 | 
							slave.pcm hw
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue