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

Macro [
	{
		SplitPCM {
			Name "m6_stereo_out"
			Direction Playback
			Channels 2
			HWChannels 4
			HWChannelPos0 FL
			HWChannelPos1 FR
			HWChannelPos2 FL
			HWChannelPos3 FR
		}
	}
	{
		SplitPCM {
			Name "m6_mono_in"
			Direction Capture
			Channels 1
			HWChannels 6
			HWChannelPos0 MONO
			HWChannelPos1 MONO
			HWChannelPos2 MONO
			HWChannelPos3 MONO
			HWChannelPos4 MONO
			HWChannelPos5 MONO
		}
	}
	{
		SplitPCM {
			Name "m6_stereo_in"
			Direction Capture
			Channels 2
			HWChannels 6
			HWChannelPos0 FL
			HWChannelPos1 FR
			HWChannelPos2 FL
			HWChannelPos3 FR
			HWChannelPos4 FL
			HWChannelPos5 FR
		}
	}
]

SectionDevice."Line1" {
	Comment "Headphone + Monitor Out"
	Value {
		PlaybackPriority 200
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m6_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 "m6_stereo_out"
		Direction Playback
		HWChannels 6
		Channels 2
		Channel0 2
		Channel1 3
		ChannelPos0 FL
		ChannelPos1 FR
	}
}

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

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

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

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

SectionDevice."Mic3" {
	Comment "Mic In 3L"

	Value {
		CapturePriority 200
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m6_mono_in"
		Direction Capture
		HWChannels 6
		Channels 1
		Channel0 2
		ChannelPos0 MONO
	}
}

SectionDevice."Mic4" {
	Comment "Mic In 4R"

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

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

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

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

	Value {
		CapturePriority 100
	}
	Macro.pcm_split.SplitPCMDevice {
		Name "m6_mono_in"
		Direction Capture
		HWChannels 6
		Channels 1
		Channel0 5
		ChannelPos0 MONO
	}
}

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

	ConflictingDevice [
		"Mic1"
		"Mic2"
	]

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

SectionDevice."Mic6" {
	Comment "Stereo Mic In 3L+4R"

	ConflictingDevice [
		"Mic3"
		"Mic4"
	]

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

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

	ConflictingDevice [
		"Line5"
		"Line6"
	]

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

