SectionVerb {
	Value {
		MinBufferLevel "512"
	}

	EnableSequence [
		cset "name='Speaker Switch' off"
		cset "name='Headphone Switch' off"
		cset "name='Headset Mic Switch' off"
		cset "name='Main Mic Switch' off"
		cset "name='Speaker Switch' off"
		cset "name='Headphone Switch' off"
		cset "name='Headset Mic Switch' off"
		cset "name='Main Mic Switch' off"
		cset "name='PCM Volume' 192"
		cset "name='Output 1 Playback Volume' 27"
		cset "name='Output 2 Playback Volume' 27"
		cset "name='Capture Digital Volume' 192"
		cset "name='Left Channel Capture Volume' 3"
		cset "name='Right Channel Capture Volume' 3"
		cset "name='Left Mixer Left Playback Switch' on"
		cset "name='Right Mixer Right Playback Switch' on"
		cset "name='Capture Mute' off"
		cset "name='Right PGA Mux' DifferentialR"
		cset "name='Left PGA Mux' DifferentialL"
	]
}

SectionDevice."Speaker" {
	Comment "Speaker"

	ConflictingDevice [
		"Headphones"
	]

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

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

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

SectionDevice."Mic" {
	Comment "Internal Microphone"

	ConflictingDevice [
		"Headset"
	]

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

	EnableSequence [
		cset "name='Differential Mux' Line 2"
		cset "name='Main Mic Switch' on"
	]

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

SectionDevice."Headphones" {
	Comment "Headphones"

	ConflictingDevice [
		"Speaker"
	]

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

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

SectionDevice."Headset" {
	Comment "Headset Microphone"

	ConflictingDevice [
		"Mic"
	]

	Value {
		CapturePriority 200
		CapturePCM "hw:${CardId}"
		JackControl "Headset Mic Jack"
		JackHWMute "Mic"
	}

	EnableSequence [
		cset "name='Differential Mux' Line 1"
		cset "name='Headset Mic Switch' on"
	]

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