SectionVerb { EnableSequence [ cset "name='DAC Playback Volume' 180,180" ] DisableSequence [ ] } SectionDevice."Headphones" { Comment "Headphones" ConflictingDevice[ "Speaker" ] EnableSequence [ cset "name='Headphone Switch' on" ] DisableSequence [ cset "name='Headphone Switch' off" ] Value { PlaybackPriority 6000 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Headphone" PlaybackMasterElem "Master" PlaybackVolume "Headphone Volume" PlaybackSwitch "Headphone Switch" JackControl "Headphone Jack" JackHWMute "Speaker" } } SectionDevice."Speaker" { Comment "Speaker" ConflictingDevice[ "Headphones" ] EnableSequence [ cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" ] Value { PlaybackPriority 4000 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Speaker" PlaybackMasterElem "Master" PlaybackVolume "Speaker Volume" PlaybackSwitch "Speaker Switch" JackHWMute "Headphones" } } If.hdmi1 { Condition { Type ControlExists Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'" } True { SectionDevice."HDMI1" { Comment "HDMI1/DP1 Output" EnableSequence [ cset "name='IEC958 Playback Switch' on" ] DisableSequence [ cset "name='IEC958 Playback Switch' off" ] Value { PlaybackPriority 5000 PlaybackPCM "hw:${CardId},5" JackControl "HDMI/DP,pcm=5 Jack" } } } } If.hdmi2 { Condition { Type ControlExists Control "iface=CARD,name='HDMI/DP,pcm=6 Jack'" } True { SectionDevice."HDMI2" { Comment "HDMI2/DP2 Output" EnableSequence [ cset "name='IEC958 Playback Switch',index=1 on" ] DisableSequence [ cset "name='IEC958 Playback Switch',index=1 off" ] Value { PlaybackPriority 6000 PlaybackPCM "hw:${CardId},6" JackControl "HDMI/DP,pcm=6 Jack" } } } } If.hdmi3 { Condition { Type ControlExists Control "iface=CARD,name='HDMI/DP,pcm=7 Jack'" } True { SectionDevice."HDMI3" { Comment "HDMI3/DP3 Output" EnableSequence [ cset "name='IEC958 Playback Switch',index=2 on" ] DisableSequence [ cset "name='IEC958 Playback Switch',index=2 off" ] Value { PlaybackPriority 7000 PlaybackPCM "hw:${CardId},7" JackControl "HDMI/DP,pcm=7 Jack" } } } } If.monomic { Condition { Type ControlExists Control "name='Input Source'" ControlEnum "Headphone Mic" } After.SectionDevice "Mic1" True { SectionDevice."Mic2" { Comment "Headphones Stereo Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Input Source' 'Headphone Mic'" ] Value { CapturePriority 200 JackControl "Headphone Mic Jack" } } SectionDevice."Headset" { Comment "Headset Mono Microphone" EnableSequence [ cset "name='Input Source' Headset Mic" ] Value { CapturePriority 300 JackControl "Headphone Mic Jack" } } } False { SectionDevice."Mic2" { Comment "Headphones Stereo Microphone" Value { CapturePriority 200 JackControl "Mic Jack" } } } }