SectionVerb {
	Value {
		MinBufferLevel "512"
	}

	EnableSequence [
		cset "name='Left Speaker Mixer Left DAC Switch' on"
		cset "name='Right Speaker Mixer Right DAC Switch' on"
		cset "name='Headphone Left Switch' off"
		cset "name='Headphone Right Switch' off"
		cset "name='Digital EQ 3 Band Switch' off"
		cset "name='Digital EQ 5 Band Switch' off"
		cset "name='Digital EQ 7 Band Switch' off"
		cset "name='Biquad Switch' off"
		cset "name='Filter Mode' Music"
		cset "name='ADC Oversampling Rate' 0"

		cset "name='DMIC Mux' DMIC"
		cset "name='MIC2 Mux' IN34"
		cset "name='Right ADC Mixer MIC2 Switch' on"
		cset "name='Left ADC Mixer MIC2 Switch' on"
		cset "name='MIC2 Volume' 20"
		cset "name='Headset Mic Switch' off"
		cset "name='Int Mic Switch' on"

		cset "name='ADCR Boost Volume' 4"
		cset "name='ADCL Boost Volume' 4"
		cset "name='ADCR Volume' 11"
		cset "name='ADCL Volume' 11"

		cset "name='Left Speaker Mixer Left DAC Switch' on"
		cset "name='Right Speaker Mixer Right DAC Switch' on"
		cset "name='Speaker Left Mixer Volume' 2"
		cset "name='Speaker Right Mixer Volume' 2"
		cset "name='Record Path DC Blocking' on"
		cset "name='Playback Path DC Blocking' on"

		cset "name='Speaker Left Switch' on"
		cset "name='Speaker Right Switch' on"
		cset "name='Speaker Switch' on"
	]
}

SectionDevice."Speaker" {
	Comment "Speaker"

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

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

	DisableSequence [
		cset "name='Speaker Switch' off"
	]
}

SectionDevice."Mic" {
	Comment "Internal Microphone"

	Value {
		CapturePriority 100
		CapturePCM "hw:${CardId}"
	}

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

	DisableSequence [
		cset "name='Int Mic Switch' off"
	]
}

SectionDevice."Headphones" {
	Comment "Headphones"

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

	EnableSequence [
		cset "name='Speaker Switch' off"
		cset "name='Headphone Left Switch' on"
		cset "name='Headphone Right Switch' on"
	]
	DisableSequence [
		cset "name='Headphone Left Switch' off"
		cset "name='Headphone Right Switch' off"
		cset "name='Speaker Switch' on"
	]
}

SectionDevice."Headset" {
	Comment "Headset Microphone"

	Value {
		CapturePriority 200
		CapturePCM "hw:${CardId}"
	}

	EnableSequence [
		cset "name='Int Mic Switch' off"
		cset "name='DMIC Mux' ADC"
		cset "name='Headset Mic Switch' on"
		cset "name='Record Path DC Blocking' on"
	]

	DisableSequence [
		cset "name='Headset Mic Switch' off"
		cset "name='DMIC Mux' DMIC"
		cset "name='Int Mic Switch' on"
		cset "name='Record Path DC Blocking' off"
	]
}

SectionDevice."HDMI" {
	Comment "HDMI Jack"

	Value {
		PlaybackPriority 300
		PlaybackPCM "hw:${CardId},1"
		JackControl "HDMI Jack"
	}

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

	DisableSequence [
		cset "name='HDMI Switch' off"
	]
}
