#
# Hardware output from front speakers
#

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