# # Configuration for the Trident 4D-Wave NX chip # pcm.trid4dwavenx_front { @args [ CARD DEV SUBDEV ] @args.CARD { type integer } @args.DEV { type integer } @args.SUBDEV { type integer default -1 } type hw card $CARD device $DEV subdevice $SUBDEV } pcm.front_0 { @args [ CARD ] @args.CARD { type integer } @func refer name { @func concat strings [ "pcm.trid4dwavenx_front:" $CARD ",0,-1" ] } } pcm.trid4dwavenx_rear { @args [ CARD DEV SUBDEV ] @args.CARD { type integer } @args.DEV { type integer } @args.SUBDEV { type integer default -1 } type hooks slave.pcm { @func concat strings [ "pcm.trid4dwavenx_front:CARD=" $CARD ",DEV=" $DEV ",SUBDEV=" $SUBDEV ] } hooks.0 { type ctl_elems hook_args [ { name "Rear Path" index { @func private_pcm_subdevice } lock true preserve true value true } { name "PCM Front Playback Volume" index { @func private_pcm_subdevice } lock true preserve true value [ 0 0 ] } { name "PCM Reverb Playback Volume" index { @func private_pcm_subdevice } lock true preserve true value [ 127 127 ] } ] } } pcm.rear_0 { @args [ CARD ] @args.CARD { type integer } @func refer name { @func concat strings [ "pcm.trid4dwavenx_rear:" $CARD ] } } pcm.surround40_0 { @args [ CARD ] @args.CARD { type integer } type multi slaves [ { pcm { @func concat strings [ "pcm.trid4dwavenx_front:" $CARD ",0,-1" ] } channels 2 } { pcm { @func concat strings [ "pcm.trid4dwavenx_rear:" $CARD ",0,-1" ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } pcm.iec958_0 { @args [ CARD DEV AES0 AES1 AES2 AES3 ] @args.CARD { type integer } @args.DEV { type integer } @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 [ { interface PCM name "IEC958 Playback PCM Stream" value [ $AES0 $AES1 $AES2 $AES3 ] device 2 lock true preserve true } ] } }