I'd like to be able to use the surround40 with my cs46xx card. Where can
I get the latest Alsa libs?

If you want to live at the bleeding edge then checkout latest ALSA CVS sources, read instructions at http://sourceforge.net/cvs/?group_id=27464

Maybe just copying the CS46xx.conf file to /usr/share/alsa/cards (or /usr/local/share/alsa/cards depending on your installation) could make surround40 work.

/Benny
#
# Configuration for the CS46xx chip
#

<confdir:pcm/front.conf>

CS46xx.pcm.front.0 {
        @args [ CARD  ]
        @args.CARD {
                type string
        }
        type hw
        card $CARD
        device 0
}       

<confdir:pcm/rear.conf>

CS46xx.pcm.rear.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type hw
        card $CARD
        device 1
}       

<confdir:pcm/surround40.conf>

CS46xx.pcm.surround40.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type multi
        slaves [
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.CS46xx.pcm.front.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
                {
                        pcm {
                                @func concat
                                strings [
                                        "cards.CS46xx.pcm.rear.0:CARD=" $CARD
                                ]
                        }
                        channels 2
                }
        ]
        bindings [
                { slave 0 channel 0 }
                { slave 0 channel 1 }
                { slave 1 channel 0 }
                { slave 1 channel 1 }
        ]
}

<confdir:pcm/iec958.conf>

CS46xx.pcm.iec958.0 {
        @args [ CARD AES0 AES1 AES2 AES3 ]
        @args.CARD {
                type string
        }
        @args.AES0 {
                type integer
        }
        @args.AES1 {
                type integer
        }
        @args.AES2 {
                type integer
        }
        @args.AES3 {
                type integer
        }
        type hooks
        slave.pcm {
                type hw
                card $CARD
                device 2
        }
        hooks.0 {
                type ctl_elems
                hook_args [
                        {
                                name "IEC958 Output Switch"
                                lock true
                                preserve true
                                value 1
                        }
                        {
                                interface PCM
                                name "IEC958 Playback PCM Stream"
                                device 0
                                lock true
                                preserve true
                                value [ $AES0 $AES1 $AES2 $AES3 ]
                        }
                ]
        }
}

Reply via email to