Include.pcm_split.File "/common/pcm/split.conf"

Macro [
	{
		SplitPCM {
			Name "m4_stereo_out"
			Direction Playback
			Channels 2
			HWChannels 4
			HWChannelPos0 FL
			HWChannelPos1 FR
			HWChannelPos2 FL
			HWChannelPos3 FR
		}
	}
	{
		SplitPCM {
			Name "m4_mono_in"
			Direction Capture
			Channels 1
			HWChannels 4
			HWChannelPos0 MONO
			HWChannelPos1 MONO
			HWChannelPos2 MONO
			HWChannelPos3 MONO
		}
	}
	{
		SplitPCM {
			Name "m4_stereo_in"
			Direction Capture
			Channels 2
			HWChannels 4
			HWChannelPos0 FL
			HWChannelPos1 FR
			HWChannelPos2 FL
			HWChannelPos3 FR
		}
	}
]

SectionDevice."Line1" {
	Comment "Headphone + Monitor Out"
	Value {
		PlaybackPriority 200
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_stereo_out"
		Direction Playback
		HWChannels 4
		Channels 2
		Channel0 0
		Channel1 1
		ChannelPos0 FL
		ChannelPos1 FR
	}
}

SectionDevice."Line2" {
	Comment "Line Out"

	Value {
		PlaybackPriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_stereo_out"
		Direction Playback
		HWChannels 4
		Channels 2
		Channel0 2
		Channel1 3
		ChannelPos0 FL
		ChannelPos1 FR
	}
}

SectionDevice."Mic1" {
	Comment "Mic In 1L"

	Value {
		CapturePriority 200
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_mono_in"
		Direction Capture
		HWChannels 4
		Channels 1
		Channel0 0
		ChannelPos0 MONO
	}
}

SectionDevice."Mic2" {
	Comment "Mic In 2R"

	Value {
		CapturePriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_mono_in"
		Direction Capture
		HWChannels 4
		Channels 1
		Channel0 1
		ChannelPos0 MONO
	}
}

SectionDevice."Line3" {
	Comment "Line In L"

	Value {
		CapturePriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_mono_in"
		Direction Capture
		HWChannels 4
		Channels 1
		Channel0 2
		ChannelPos0 MONO
	}
}

SectionDevice."Line4" {
	Comment "Line In R"

	Value {
		CapturePriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_mono_in"
		Direction Capture
		HWChannels 4
		Channels 1
		Channel0 3
		ChannelPos0 MONO
	}
}

SectionDevice."Mic3" {
	Comment "Stereo Mic In 1L+1R"

	ConflictingDevice [
		"Mic1"
		"Mic2"
	]

	Value {
		CapturePriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_stereo_in"
		Direction Capture
		HWChannels 4
		Channels 2
		Channel0 0
		Channel1 1
		ChannelPos0 FL
		ChannelPos1 FR
	}
}

SectionDevice."Line5" {
	Comment "Stereo Line In L+R"

	ConflictingDevice [
		"Line3"
		"Line4"
	]

	Value {
		CapturePriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m4_stereo_in"
		Direction Capture
		HWChannels 4
		Channels 2
		Channel0 2
		Channel1 3
		ChannelPos0 FL
		ChannelPos1 FR
	}
}

