#
#  Hardware output from center & lfe speakers
#

pcm.!center_lfe {
	@args [ CARD DEV ]
	@args.CARD {
		type string
		default {
			@func getenv
			vars [
				ALSA_CENTER_LFE_CARD
				ALSA_PCM_CARD
				ALSA_CARD
			]
			default {
				@func refer
				name defaults.pcm.center_lfe.card
			}
		}
	}
	@args.DEV {
		type integer
		default {
			@func igetenv
			vars [
				ALSA_CENTER_LFE_DEVICE
			]
			default {
				@func refer
				name defaults.pcm.center_lfe.device
			}
		}
	}
	type empty
	slave.pcm {
		@func refer
		name {
			@func concat
			strings [
				"cards."
				{
					@func card_driver
					card $CARD
				}
				".pcm.center_lfe." $DEV ":CARD=" $CARD
			]
		}
	}
	hint {
		show {
			@func refer
			name defaults.namehint.basic
		}
		description "Center and Subwoofer speakers"
		device $DEV
	}
}
