#
# Configuration for the virtual loopback driver (snd-aloop)
#

<confdir:pcm/front.conf>

Loopback.pcm.front.!0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type softvol
	slave.pcm {
		type hw
		card $CARD
	}
	control {
		name "PCM Playback Volume"
		card $CARD
	}
}

# default with dmix+softvol & dsnoop
Loopback.pcm.!default {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type plug
		slave.pcm {
			type softvol
			slave.pcm {
				@func concat
				strings [ "dmix:" $CARD ]
			}
			control {
				name "PCM Playback Volume"
				card $CARD
			}
		}
	}
	capture.pcm {
		type plug
		slave.pcm {
			type softvol
			slave.pcm {
				@func concat
				strings [ "dsnoop:" $CARD ]
			}
			control {
				name "Digital Capture Volume"
				card $CARD
			}
			min_dB -30.0
			max_dB 30.0
			resolution 121
		}
		# to avoid possible phase inversions with digital mics
		route_policy copy
	}
	hint.device 0
}

<confdir:pcm/surround21.conf>
<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>

Loopback.pcm.surround40.0 cards.Loopback.pcm.front.0
Loopback.pcm.surround51.0 cards.Loopback.pcm.front.0
Loopback.pcm.surround71.0 cards.Loopback.pcm.front.0
