Use softvol for PCM outputs

Use softvol plugin for codecs without PCM volume controls (e.g. c-media).
The default PCM is redefined to use softvol for playback.
This commit is contained in:
Takashi Iwai 2005-01-03 17:17:43 +00:00
parent 82e408d08b
commit 156eb1228e
3 changed files with 255 additions and 96 deletions

View file

@ -7,11 +7,50 @@
ICH.pcm.front.0 { ICH.pcm.front.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type hw type hw
card $CARD card $CARD
device 0 device 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
# with dmix?
ICH.pcm.default {
@args [ CARD ]
@args.CARD {
type integer
}
type asym
playback.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
type hw
card $CARD
device 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
}
capture.pcm {
type plug
slave.pcm {
type hw
card $CARD
device 0
}
}
} }
<confdir:pcm/surround40.conf> <confdir:pcm/surround40.conf>
@ -19,8 +58,10 @@ ICH.pcm.front.0 {
ICH.pcm.surround40.0 { ICH.pcm.surround40.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type hooks type hooks
slave.pcm { slave.pcm {
type hw type hw
@ -46,6 +87,11 @@ ICH.pcm.surround40.0 {
} }
] ]
} }
}
control {
name "PCM Playback Volume"
card $CARD
}
} }
<confdir:pcm/surround41.conf> <confdir:pcm/surround41.conf>
@ -55,8 +101,10 @@ ICH.pcm.surround40.0 {
ICH.pcm.surround51.0 { ICH.pcm.surround51.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type route type route
ttable.0.0 1 ttable.0.0 1
ttable.1.1 1 ttable.1.1 1
@ -106,6 +154,11 @@ ICH.pcm.surround51.0 {
} }
} }
slave.channels 6 slave.channels 6
}
control {
name "PCM Playback Volume"
card $CARD
}
} }
<confdir:pcm/iec958.conf> <confdir:pcm/iec958.conf>

View file

@ -7,11 +7,50 @@
ICH4.pcm.front.0 { ICH4.pcm.front.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type hw type hw
card $CARD card $CARD
device 0 device 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
# with dmix?
ICH4.pcm.default {
@args [ CARD ]
@args.CARD {
type integer
}
type asym
playback.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
type hw
card $CARD
device 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
}
capture.pcm {
type plug
slave.pcm {
type hw
card $CARD
device 0
}
}
} }
<confdir:pcm/surround40.conf> <confdir:pcm/surround40.conf>
@ -19,8 +58,10 @@ ICH4.pcm.front.0 {
ICH4.pcm.surround40.0 { ICH4.pcm.surround40.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type hooks type hooks
slave.pcm { slave.pcm {
type hw type hw
@ -46,6 +87,11 @@ ICH4.pcm.surround40.0 {
} }
] ]
} }
}
control {
name "PCM Playback Volume"
card $CARD
}
} }
<confdir:pcm/surround41.conf> <confdir:pcm/surround41.conf>
@ -55,8 +101,10 @@ ICH4.pcm.surround40.0 {
ICH4.pcm.surround51.0 { ICH4.pcm.surround51.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type route type route
ttable.0.0 1 ttable.0.0 1
ttable.1.1 1 ttable.1.1 1
@ -106,6 +154,11 @@ ICH4.pcm.surround51.0 {
} }
} }
slave.channels 6 slave.channels 6
}
control {
name "PCM Playback Volume"
card $CARD
}
} }
<confdir:pcm/iec958.conf> <confdir:pcm/iec958.conf>

View file

@ -7,11 +7,50 @@
NFORCE.pcm.front.0 { NFORCE.pcm.front.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type hw type hw
card $CARD card $CARD
device 0 device 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
# with dmix?
NFORCE.pcm.default {
@args [ CARD ]
@args.CARD {
type integer
}
type asym
playback.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
type hw
card $CARD
device 0
}
control {
name "PCM Playback Volume"
card $CARD
}
}
}
capture.pcm {
type plug
slave.pcm {
type hw
card $CARD
device 0
}
}
} }
<confdir:pcm/surround40.conf> <confdir:pcm/surround40.conf>
@ -19,8 +58,10 @@ NFORCE.pcm.front.0 {
NFORCE.pcm.surround40.0 { NFORCE.pcm.surround40.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type hooks type hooks
slave.pcm { slave.pcm {
type hw type hw
@ -46,6 +87,11 @@ NFORCE.pcm.surround40.0 {
} }
] ]
} }
}
control {
name "PCM Playback Volume"
card $CARD
}
} }
<confdir:pcm/surround41.conf> <confdir:pcm/surround41.conf>
@ -55,8 +101,10 @@ NFORCE.pcm.surround40.0 {
NFORCE.pcm.surround51.0 { NFORCE.pcm.surround51.0 {
@args [ CARD ] @args [ CARD ]
@args.CARD { @args.CARD {
type string type integer
} }
type softvol
slave.pcm {
type route type route
ttable.0.0 1 ttable.0.0 1
ttable.1.1 1 ttable.1.1 1
@ -106,6 +154,11 @@ NFORCE.pcm.surround51.0 {
} }
} }
slave.channels 6 slave.channels 6
}
control {
name "PCM Playback Volume"
card $CARD
}
} }
<confdir:pcm/iec958.conf> <confdir:pcm/iec958.conf>