328 lines
5.8 KiB
Plaintext
328 lines
5.8 KiB
Plaintext
# 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"
|
|
}
|
|
}
|
|
}
|