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,20 +7,61 @@
ICH.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type hw
card $CARD
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>
ICH.pcm.surround40.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type hooks
slave.pcm {
type hw
@ -47,6 +88,11 @@ ICH.pcm.surround40.0 {
]
}
}
control {
name "PCM Playback Volume"
card $CARD
}
}
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
@ -55,8 +101,10 @@ ICH.pcm.surround40.0 {
ICH.pcm.surround51.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type route
ttable.0.0 1
ttable.1.1 1
@ -107,6 +155,11 @@ ICH.pcm.surround51.0 {
}
slave.channels 6
}
control {
name "PCM Playback Volume"
card $CARD
}
}
<confdir:pcm/iec958.conf>

View file

@ -7,20 +7,61 @@
ICH4.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type hw
card $CARD
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>
ICH4.pcm.surround40.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type hooks
slave.pcm {
type hw
@ -47,6 +88,11 @@ ICH4.pcm.surround40.0 {
]
}
}
control {
name "PCM Playback Volume"
card $CARD
}
}
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
@ -55,8 +101,10 @@ ICH4.pcm.surround40.0 {
ICH4.pcm.surround51.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type route
ttable.0.0 1
ttable.1.1 1
@ -107,6 +155,11 @@ ICH4.pcm.surround51.0 {
}
slave.channels 6
}
control {
name "PCM Playback Volume"
card $CARD
}
}
<confdir:pcm/iec958.conf>

View file

@ -7,20 +7,61 @@
NFORCE.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type hw
card $CARD
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>
NFORCE.pcm.surround40.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type hooks
slave.pcm {
type hw
@ -47,6 +88,11 @@ NFORCE.pcm.surround40.0 {
]
}
}
control {
name "PCM Playback Volume"
card $CARD
}
}
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
@ -55,8 +101,10 @@ NFORCE.pcm.surround40.0 {
NFORCE.pcm.surround51.0 {
@args [ CARD ]
@args.CARD {
type string
type integer
}
type softvol
slave.pcm {
type route
ttable.0.0 1
ttable.1.1 1
@ -107,6 +155,11 @@ NFORCE.pcm.surround51.0 {
}
slave.channels 6
}
control {
name "PCM Playback Volume"
card $CARD
}
}
<confdir:pcm/iec958.conf>