SectionVerb {
	EnableSequence [
		cset "name='Speakers Switch' off"
		cset "name='Headphones Switch' off"
		cset "name='Mic Jack Switch' off"
		cset "name='Int Mic Switch' off"
	]
}

SectionDevice."Speaker" {
	Comment = "Speakers"

	ConflictingDevice [
		"Headphones"
	]

	EnableSequence [
		cset "name='Speakers Switch' on"
	]

	DisableSequence [
		cset "name='Speakers Switch' off"
	]

	Value {
		PlaybackPriority 100
		PlaybackPCM "hw:${CardId}"
		PlaybackVolume "Speaker Volume"
	}
}

SectionDevice."Headphones" {
	Comment = "Headphones"

	ConflictingDevice [
		"Speaker"
	]

	EnableSequence [
		cset "name='Headphones Switch' on"
	]

	DisableSequence [
		cset "name='Headphones Switch' off"
	]

	Value {
		PlaybackPriority 100
		PlaybackPCM "hw:${CardId}"
		PlaybackVolume "Headphone Volume"
		JackControl "Headphone Jack"
	}

}

SectionDevice."Mic" {
	Comment "Internal Microphone"

	EnableSequence [
		cset "name='Int Mic Switch' on"
		cset "name='DMIC Mux' DMIC"
	]

	DisableSequence [
		cset "name='Int Mic Switch' off"
		cset "name='DMIC Mux' ADC"
	]

	Value {
		CapturePCM "hw:${CardId}"
		CaptureChannels 2
		CaptureVolume "MIC2 Volume"
	}
}

SectionDevice."Headset" {
	Comment = "Headset Microphone"

	ConflictingDevice [
		"Mic"
	]

	EnableSequence [
		cset "name='Mic Jack Switch' on"
		cset "name='DMIC Mux' ADC"
	]

	DisableSequence [
		cset "name='Mic Jack Switch' off"
		cset "name='DMIC Mux' DMIC"
	]

	Value {
		CapturePriority 100
		CapturePCM "hw:${CardId}"
		#CaptureControl "MIC2"
		JackControl "Mic Jack"
	}
}
