]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Use softvol for PCM outputs
authorTakashi Iwai <tiwai@suse.de>
Mon, 3 Jan 2005 17:17:43 +0000 (17:17 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 3 Jan 2005 17:17:43 +0000 (17:17 +0000)
Use softvol plugin for codecs without PCM volume controls (e.g. c-media).
The default PCM is redefined to use softvol for playback.

src/conf/cards/ICH.conf
src/conf/cards/ICH4.conf
src/conf/cards/NFORCE.conf

index efe8a8287842b1d2cc9e1ee27bff1a2013dc29bf..d65583a938442317a1917ed5fe3631ff90febd49 100644 (file)
@@ -7,29 +7,70 @@
 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
        }
-       type hw
-       card $CARD
-       device 0
 }      
 
+# 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 hooks
+       type softvol
        slave.pcm {
-               type hw
-               card $CARD
-               device 0
-       }
-       hooks.0 {
-               type ctl_elems
-               hook_args [
+               type hooks
+               slave.pcm {
+                       type hw
+                       card $CARD
+                       device 0
+               }
+               hooks.0 {
+                       type ctl_elems
+                       hook_args [
                        {
                                name "Line-In As Surround"
                                preserve true
@@ -44,7 +85,12 @@ ICH.pcm.surround40.0 {
                                lock true
                                optional true
                        }
-               ]
+                       ]
+               }
+       }
+       control {
+               name "PCM Playback Volume"
+               card $CARD
        }
 }
 
@@ -55,25 +101,27 @@ ICH.pcm.surround40.0 {
 ICH.pcm.surround51.0 {
        @args [ CARD ]
        @args.CARD {
-               type string
+               type integer
        }
-       type route
-       ttable.0.0 1
-       ttable.1.1 1
-       ttable.2.4 1
-       ttable.3.5 1
-       ttable.4.2 1
-       ttable.5.3 1
+       type softvol
        slave.pcm {
-               type hooks
+               type route
+               ttable.0.0 1
+               ttable.1.1 1
+               ttable.2.4 1
+               ttable.3.5 1
+               ttable.4.2 1
+               ttable.5.3 1
                slave.pcm {
-                       type hw
-                       card $CARD
-                       device 0
-               }
-               hooks.0 {
-                       type ctl_elems
-                       hook_args [
+                       type hooks
+                       slave.pcm {
+                               type hw
+                               card $CARD
+                               device 0
+                       }
+                       hooks.0 {
+                               type ctl_elems
+                               hook_args [
                                {
                                        name "Line-In As Surround"
                                        preserve true
@@ -102,10 +150,15 @@ ICH.pcm.surround51.0 {
                                        lock true
                                        optional true
                                }
-                       ]
+                               ]
+                       }
                }
+               slave.channels 6
+       }
+       control {
+               name "PCM Playback Volume"
+               card $CARD
        }
-       slave.channels 6
 }
 
 <confdir:pcm/iec958.conf>
index ffd4cbe01cacc7a7fd91014aa7b4c1b5bb401a57..1edad586207888be007511ed5ad458608498cfe7 100644 (file)
@@ -7,29 +7,70 @@
 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
        }
-       type hw
-       card $CARD
-       device 0
 }      
 
+# 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 hooks
+       type softvol
        slave.pcm {
-               type hw
-               card $CARD
-               device 0
-       }
-       hooks.0 {
-               type ctl_elems
-               hook_args [
+               type hooks
+               slave.pcm {
+                       type hw
+                       card $CARD
+                       device 0
+               }
+               hooks.0 {
+                       type ctl_elems
+                       hook_args [
                        {
                                name "Line-In As Surround"
                                preserve true
@@ -44,7 +85,12 @@ ICH4.pcm.surround40.0 {
                                lock true
                                optional true
                        }
-               ]
+                       ]
+               }
+       }
+       control {
+               name "PCM Playback Volume"
+               card $CARD
        }
 }
 
@@ -55,25 +101,27 @@ ICH4.pcm.surround40.0 {
 ICH4.pcm.surround51.0 {
        @args [ CARD ]
        @args.CARD {
-               type string
+               type integer
        }
-       type route
-       ttable.0.0 1
-       ttable.1.1 1
-       ttable.2.4 1
-       ttable.3.5 1
-       ttable.4.2 1
-       ttable.5.3 1
+       type softvol
        slave.pcm {
-               type hooks
+               type route
+               ttable.0.0 1
+               ttable.1.1 1
+               ttable.2.4 1
+               ttable.3.5 1
+               ttable.4.2 1
+               ttable.5.3 1
                slave.pcm {
-                       type hw
-                       card $CARD
-                       device 0
-               }
-               hooks.0 {
-                       type ctl_elems
-                       hook_args [
+                       type hooks
+                       slave.pcm {
+                               type hw
+                               card $CARD
+                               device 0
+                       }
+                       hooks.0 {
+                               type ctl_elems
+                               hook_args [
                                {
                                        name "Line-In As Surround"
                                        preserve true
@@ -102,10 +150,15 @@ ICH4.pcm.surround51.0 {
                                        lock true
                                        optional true
                                }
-                       ]
+                               ]
+                       }
                }
+               slave.channels 6
+       }
+       control {
+               name "PCM Playback Volume"
+               card $CARD
        }
-       slave.channels 6
 }
 
 <confdir:pcm/iec958.conf>
index c307450b185fecb903e4229b72879ae1751d3c6f..89715b0ff201eb367058767dda6970212b5854e3 100644 (file)
@@ -7,29 +7,70 @@
 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
        }
-       type hw
-       card $CARD
-       device 0
 }      
 
+# 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 hooks
+       type softvol
        slave.pcm {
-               type hw
-               card $CARD
-               device 0
-       }
-       hooks.0 {
-               type ctl_elems
-               hook_args [
+               type hooks
+               slave.pcm {
+                       type hw
+                       card $CARD
+                       device 0
+               }
+               hooks.0 {
+                       type ctl_elems
+                       hook_args [
                        {
                                name "Line-In As Surround"
                                preserve true
@@ -44,7 +85,12 @@ NFORCE.pcm.surround40.0 {
                                lock true
                                optional true
                        }
-               ]
+                       ]
+               }
+       }
+       control {
+               name "PCM Playback Volume"
+               card $CARD
        }
 }
 
@@ -55,25 +101,27 @@ NFORCE.pcm.surround40.0 {
 NFORCE.pcm.surround51.0 {
        @args [ CARD ]
        @args.CARD {
-               type string
+               type integer
        }
-       type route
-       ttable.0.0 1
-       ttable.1.1 1
-       ttable.2.4 1
-       ttable.3.5 1
-       ttable.4.2 1
-       ttable.5.3 1
+       type softvol
        slave.pcm {
-               type hooks
+               type route
+               ttable.0.0 1
+               ttable.1.1 1
+               ttable.2.4 1
+               ttable.3.5 1
+               ttable.4.2 1
+               ttable.5.3 1
                slave.pcm {
-                       type hw
-                       card $CARD
-                       device 0
-               }
-               hooks.0 {
-                       type ctl_elems
-                       hook_args [
+                       type hooks
+                       slave.pcm {
+                               type hw
+                               card $CARD
+                               device 0
+                       }
+                       hooks.0 {
+                               type ctl_elems
+                               hook_args [
                                {
                                        name "Line-In As Surround"
                                        preserve true
@@ -102,10 +150,15 @@ NFORCE.pcm.surround51.0 {
                                        lock true
                                        optional true
                                }
-                       ]
+                               ]
+                       }
                }
+               slave.channels 6
+       }
+       control {
+               name "PCM Playback Volume"
+               card $CARD
        }
-       slave.channels 6
 }
 
 <confdir:pcm/iec958.conf>