SectionVerb {
	EnableSequence [
		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='Speaker Switch' on"

		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='MIC1 Mux' IN56"
		cset "name='MIC2 Mux' IN34"
		cset "name='MIC1 Volume' 20"
		cset "name='MIC2 Volume' 20"
		cset "name='MIC1 Boost Volume' 0"
		cset "name='MIC2 Boost Volume' 0"

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

		cset "name='Headphone Volume' 10"
		cset "name='Speaker Volume' 10"
		cset "name='Receiver Volume' 10"

		cset "name='Record Path DC Blocking' on"
		cset "name='Playback Path DC Blocking' on"
	]
}

SectionDevice."Speaker" {
	Comment "Speaker"

	Value {
		PlaybackPriority 100
		PlaybackPCM "hw:${CardId}"
	}

	ConflictingDevice [
		"Rear Lineout"
		"Front Headphones"
	]

	EnableSequence [
		cset "name='Speaker Left Switch' on"
		cset "name='Speaker Right Switch' on"
		cset "name='Speakers Switch' on"
	]

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

SectionDevice."Rear Lineout" {
	Comment "Rear Lineout"

	Value {
		PlaybackPriority 100
		PlaybackPCM "hw:${CardId}"
		JackControl "Rear Lineout Jack"
	}

	ConflictingDevice [
		"Speaker"
		"Front Headphones"
	]

	EnableSequence [
		cset "name='LINMOD Mux' Left and Right"
		cset "name='Receiver Left Switch' on"
		cset "name='Receiver Right Switch' on"
		cset "name='Left Receiver Mixer Left DAC Switch' on"
		cset "name='Right Receiver Mixer Right DAC Switch' on"
		cset "name='Rear Lineout Switch' on"
	]

	DisableSequence [
		cset "name='LINMOD Mux' Left Only"
		cset "name='Receiver Left Switch' off"
		cset "name='Receiver Right Switch' off"
		cset "name='Rear Lineout Switch' off"
		cset "name='Left Receiver Mixer Left DAC Switch' off"
		cset "name='Right Receiver Mixer Right DAC Switch' off"
	]
}

SectionDevice."Front Headphones" {
	Comment "Front Headphones"

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

	ConflictingDevice [
		"Speaker"
		"Rear Lineout"
	]

	EnableSequence [
		cset "name='Headphone Left Switch' on"
		cset "name='Headphone Right Switch' on"
		cset "name='Front Headphone Switch' on"
	]

	DisableSequence [
		cset "name='Headphone Left Switch' off"
		cset "name='Headphone Right Switch' off"
		cset "name='Front Headphone Switch' off"
	]
}

SectionDevice."Rear Microphone" {
	Comment "Rear Microphone"

	 Value {
		CapturePriority 100
		CapturePCM "hw:${CardId}"
		JackControl "Rear Microphone Jack"
	}

	ConflictingDevice [
		"Front Microphone"
	]

	EnableSequence [
		cset "name='Rear Microphone Switch' on"
		cset "name='DMIC Mux' ADC"
		cset "name='MIC1 Mux' IN56"
		cset "name='Left ADC Mixer MIC1 Switch' on"
		cset "name='Right ADC Mixer MIC1 Switch' on"
		cset "name='Record Path DC Blocking' off"
	]

	DisableSequence [
		cset "name='Rear Microphone Switch' off"
		cset "name='Left ADC Mixer MIC1 Switch' off"
		cset "name='Right ADC Mixer MIC1 Switch' off"
		cset "name='Record Path DC Blocking' on"
		cset "name='DMIC Mux' DMIC"
	]
}

SectionDevice."Front Microphone" {
	Comment "Front Microphone"

	 Value {
		CapturePriority 200
		CapturePCM "hw:${CardId}"
		JackControl "Front Microphone Jack"
	}

	ConflictingDevice [
		"Rear Microphone"
	]

	EnableSequence [
		cset "name='Front Microphone Switch' on"
		cset "name='DMIC Mux' ADC"
		cset "name='MIC1 Mux' IN12"
		cset "name='MIC2 Mux' IN34"
		cset "name='Left ADC Mixer MIC1 Switch' on"
		cset "name='Right ADC Mixer MIC2 Switch' on"
		cset "name='Record Path DC Blocking' off"
	]

	DisableSequence [
		cset "name='Front Microphone Switch' off"
		cset "name='Left ADC Mixer MIC1 Switch' off"
		cset "name='Right ADC Mixer MIC1 Switch' off"
		cset "name='Record Path DC Blocking' on"
		cset "name='DMIC Mux' DMIC"
	]
}
