%PDF- %PDF-
Direktori : /usr/share/alsa/ucm2/HDA/ |
Current File : //usr/share/alsa/ucm2/HDA/HiFi-analog.conf |
# Generic HDA devices for analog I/O Define.FrontMicName "" Define.FrontMicJack "" Define.DeviceFrontMic "" Define.LineDevice "" Define.hpvol "Headphone" Define.hpjack "Headphone Jack" Define.loctl "Line" Define.lovol "Line" If.imicname { Condition { Type ControlExists Control "name='Internal Mic Boost Volume'" } True.Define { FrontMicName "Internal" } } If.fmicname { Condition { Type ControlExists Control "name='Front Mic Playback Switch'" } True.Define { FrontMicName "Front" FrontMicJack "Front Mic Jack" } } If.fmic { Condition { Type String Empty "${var:FrontMicName}" } False { If.mic2 { Condition { Type String String1 "${var:DeviceMic}" String2 "Mic2" } True.Define { DeviceFrontMic "Mic3" } False.Define { DeviceMic "Mic1" DeviceFrontMic "Mic2" } } } } If.lineout { Condition { Type ControlExists Control "name='Line Out Playback Volume'" } True.Define { loctl "Line Out" lovol "Line Out" } } If.linefront { Condition { Type ControlExists Control "name='Front Playback Volume'" } True.Define { LineDevice "1" } } If.hplo { Condition { Type ControlExists Control "name='Headphone+LO Playback Volume'" } True.Define { hpvol "Headphone+LO" lovol "Headphone+LO" } } If.hpjack { Condition { Type ControlExists Control "iface=CARD,name='Headphone Mic Jack'" } True.Define.hpjack "Headphone Mic Jack" False.If.front { Condition { Type ControlExists Control "iface=CARD,name='Front Headphone Jack'" } True.Define.hpjack "Front Headphone Jack" } } SectionDevice."Headphones" { Comment "Headphones" If.headphone_switch { Condition { Type ControlExists Control "name='Headphone Playback Switch'" } True { EnableSequence [ cset "name='Headphone Playback Switch' on" ] DisableSequence [ cset "name='Headphone Playback Switch' off" ] } } Value { PlaybackPriority 200 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "${var:hpvol}" PlaybackMasterElem "Master" PlaybackVolume "${var:hpvol} Playback Volume" PlaybackSwitch "Headphone Playback Switch" JackControl "${var:hpjack}" } } If.spk { Condition { Type ControlExists Control "name='Speaker Playback Switch'" } True.SectionDevice."Speaker" { Comment "Speaker" If.seq { Condition { Type ControlExists Control "name='Bass Speaker Playback Switch'" } True { EnableSequence [ cset "name='Speaker Playback Switch' on" cset "name='Bass Speaker Playback Switch' on" ] DisableSequence [ cset "name='Speaker Playback Switch' off" cset "name='Bass Speaker Playback Switch' off" ] } False { EnableSequence [ cset "name='Speaker Playback Switch' on" ] DisableSequence [ cset "name='Speaker Playback Switch' off" ] } } Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Speaker" PlaybackMasterElem "Master" PlaybackVolume "Speaker Playback Volume" PlaybackSwitch "Speaker Playback Switch" } } } If.monomic { Condition { Type ControlExists Control "name='Input Source'" ControlEnum "Headphone Mic" } True { SectionDevice."${var:DeviceMic}" { Comment "Headphones Stereo Microphone" ConflictingDevice [ "Headset" ] EnableSequence [ cset "name='Input Source' 'Headphone Mic'" ] Value { CapturePriority 200 Include.value.File "/HDA/HDA-Capture-value.conf" CaptureMasterElem "Headphone Mic Boost" JackControl "Headphone Mic Jack" } } SectionDevice."Headset" { Comment "Headset Mono Microphone" EnableSequence [ cset "name='Input Source' 'Headset Mic'" ] Value { CapturePriority 300 Include.value.File "/HDA/HDA-Capture-value.conf" CaptureMasterElem "Headset Mic Boost" JackControl "Headphone Mic Jack" } } } False { SectionDevice."${var:DeviceMic}" { Comment "Headphones Stereo Microphone" Value { CapturePriority 200 Include.value.File "/HDA/HDA-Capture-value.conf" CaptureMasterElem "Mic Boost" JackControl "Mic Jack" } } } } If.frontmic { Condition { Type String Empty "${var:DeviceFrontMic}" } False.SectionDevice."${var:DeviceFrontMic}" { Comment "${var:FrontMicName} Stereo Microphone" ConflictingDevice [ "${var:DeviceMic}" ] Value { CapturePriority 400 Include.value.File "/HDA/HDA-Capture-value.conf" CaptureMasterElem "${var:FrontMicName} Mic Boost" } If.jack { Condition { Type String Empty "${var:FrontMicJack}" } False.Value.JackControl "${var:FrontMicJack}" } } } If.line { Condition { Type ControlExists Control "name='${var:loctl} Playback Switch'" } True.SectionDevice."Line${var:LineDevice}" { Comment "Line Output" If.conflict { Condition { Type String String1 "${var:lovol}" String2 "Headphone+LO" } True.ConflictingDevice [ "Headphones" ] } EnableSequence [ cset "name='${var:loctl} Playback Switch' on" ] DisableSequence [ cset "name='${var:loctl} Playback Switch' off" ] Value { PlaybackPriority 300 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "${var:lovol}" PlaybackMasterElem "Master" PlaybackVolume "${var:lovol} Playback Volume" PlaybackSwitch "${var:loctl} Playback Switch" JackControl "${var:loctl} Jack" } } } If.linefront { Condition { Type ControlExists Control "name='Front Playback Switch'" } True.SectionDevice."Line2" { Comment "Second Line Output" ConflictingDevice [ "Line${var:LineDevice}" ] EnableSequence [ cset "name='Front Playback Switch' on" ] DisableSequence [ cset "name='Front Playback Switch' off" ] Value { PlaybackPriority 250 PlaybackPCM "hw:${CardId}" PlaybackMixerElem "Front" PlaybackMasterElem "Master" PlaybackVolume "Front Playback Volume" PlaybackSwitch "Front Playback Switch" JackControl "Line Out Front Jack" } } }