# # Configuration for the EMU10K1 chip # pcm.emu10k1_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.emu10k1_front:" $CARD ",0,-1" ] } } pcm.emu10k1_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.emu10k1_front:" $CARD "," $DEV "," $SUBDEV ] } hooks.0 { type ctl_elems hook_args [ { name "Wave Surround Playback Volume" preserve true lock true value [ 0 0 ] } { name "EMU10K1 PCM Send Volume" index = &(subdevice) lock true value [ 0 0 0 0 0 0 255 0 0 0 0 255 ] } ] } } pcm.rear_0 { @args [ CARD ] @args.CARD { type integer } @func refer name { @func concat strings [ "pcm.emu10k1_rear:" $CARD ",0,-1" ] } } pcm.emu10k1_center_lfe { @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.emu10k1_front:" $CARD "," $DEV "," $SUBDEV ] } hooks.0 { type ctl_elems hook_args [ { name "Headphone Center Playback Switch" preserve true lock true value true } { name "Headphone LFE Playback Switch" preserve true lock true value true } { name "EMU10K1 PCM Send Volume" index = &(subdevice) lock true value [ 0 0 0 0 255 0 0 0 0 255 0 0 ] } { name "EMU10K1 PCM Send Routing" index = &(subdevice) lock true value [ 0 1 2 3 6 7 0 1 6 7 0 1 ] } ] } } pcm.center_lfe_0 { @args [ CARD ] @args.CARD { type integer } @func refer name { @func concat strings [ "pcm.emu10k1_center_lfe:" $CARD ",0,-1" ] } } pcm.surround40_0 { @args [ CARD ] @args.CARD { type integer } type multi slaves [ { pcm { @func concat strings [ "pcm.emu10k1_front:" $CARD ",0,-1" ] } channels 2 } { pcm { @func concat strings [ "pcm.emu10k1_rear:" $CARD ",0,-1" ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } ] } pcm.surround51_0 { @args [ CARD ] @args.CARD { type integer } type multi slaves [ { pcm { @func concat strings [ "pcm.emu10k1_front:" $CARD ",0,-1" ] } channels 2 } { pcm { @func concat strings [ "pcm.emu10k1_rear:" $CARD ",0,-1" ] } channels 2 } { pcm { @func concat strings [ "pcm.emu10k1_center_lfe:" $CARD ",0,-1" ] } channels 2 } ] bindings [ { slave 0 channel 0 } { slave 0 channel 1 } { slave 1 channel 0 } { slave 1 channel 1 } { slave 2 channel 0 } { slave 2 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 { @func concat strings [ "hw:" "CARD=" $CARD "," "DEV=3," "SUBDEV=0" ] } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Optical Raw Playback Switch" lock true preserve true value [ 1 1 ] } ] } }