jpayne@68: # jpayne@68: # Configuration for the EMU10K1 chip jpayne@68: # jpayne@68: jpayne@68: jpayne@68: jpayne@68: EMU10K1.pcm.front.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type asym jpayne@68: playback.pcm { jpayne@68: type hooks jpayne@68: slave.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: chmap [ "UNKNOWN" "FL,FR" ] jpayne@68: } jpayne@68: hooks.0 { jpayne@68: type ctl_elems jpayne@68: hook_args [ jpayne@68: { jpayne@68: interface PCM jpayne@68: name "EMU10K1 PCM Send Volume" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: name "EMU10K1 PCM Send Volume" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] jpayne@68: } jpayne@68: { jpayne@68: interface PCM jpayne@68: name "EMU10K1 PCM Send Routing" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: name "EMU10K1 PCM Send Routing" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] jpayne@68: } jpayne@68: ] jpayne@68: } jpayne@68: } jpayne@68: capture.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: } jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: EMU10K1.pcm.rear.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type asym jpayne@68: playback.pcm { jpayne@68: type hooks jpayne@68: slave.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: chmap [ "UNKNOWN" "RL,RR" ] jpayne@68: } jpayne@68: hooks.0 { jpayne@68: type ctl_elems jpayne@68: hook_args [ jpayne@68: { jpayne@68: interface PCM jpayne@68: name "EMU10K1 PCM Send Volume" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: name "EMU10K1 PCM Send Volume" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] jpayne@68: } jpayne@68: ] jpayne@68: } jpayne@68: } jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: EMU10K1.pcm.center_lfe.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type asym jpayne@68: playback.pcm { jpayne@68: type hooks jpayne@68: slave.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: chmap [ "UNKNOWN" "FC,LFE" ] jpayne@68: } jpayne@68: hooks.0 { jpayne@68: type ctl_elems jpayne@68: hook_args [ jpayne@68: { jpayne@68: name "Headphone Center Playback Switch" jpayne@68: index 1 jpayne@68: preserve true jpayne@68: # lock true jpayne@68: optional true jpayne@68: value true jpayne@68: } jpayne@68: { jpayne@68: name "Headphone LFE Playback Switch" jpayne@68: index 1 jpayne@68: preserve true jpayne@68: # lock true jpayne@68: optional true jpayne@68: value true jpayne@68: } jpayne@68: # if you have a creative's digital receiver, you can get surround/center/lfe jpayne@68: # output through the digital jack. so, the following is commented out. jpayne@68: # pay attention in case of analog output from the shared center/digital jpayne@68: # jack! jpayne@68: # { jpayne@68: # name "SB Live Analog/Digital Output Jack" jpayne@68: # preserve true jpayne@68: # lock true jpayne@68: # value 0 jpayne@68: # } jpayne@68: { jpayne@68: interface PCM jpayne@68: name "EMU10K1 PCM Send Volume" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: name "EMU10K1 PCM Send Volume" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] jpayne@68: } jpayne@68: { jpayne@68: interface PCM jpayne@68: name "EMU10K1 PCM Send Routing" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: name "EMU10K1 PCM Send Routing" jpayne@68: index { @func private_pcm_subdevice } jpayne@68: # lock true jpayne@68: optional true jpayne@68: value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] jpayne@68: } jpayne@68: ] jpayne@68: } jpayne@68: } jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: EMU10K1.pcm.surround40.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type multi jpayne@68: slaves [ jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.EMU10K1.pcm.front.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.EMU10K1.pcm.rear.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: ] jpayne@68: bindings [ jpayne@68: { slave 0 channel 0 } jpayne@68: { slave 0 channel 1 } jpayne@68: { slave 1 channel 0 } jpayne@68: { slave 1 channel 1 } jpayne@68: ] jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: EMU10K1.pcm.surround51.0 { jpayne@68: @args [ CARD ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: type multi jpayne@68: slaves [ jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.EMU10K1.pcm.front.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.EMU10K1.pcm.rear.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: { jpayne@68: pcm { jpayne@68: @func concat jpayne@68: strings [ jpayne@68: "cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD jpayne@68: ] jpayne@68: } jpayne@68: channels 2 jpayne@68: } jpayne@68: ] jpayne@68: bindings [ jpayne@68: { slave 0 channel 0 } jpayne@68: { slave 0 channel 1 } jpayne@68: { slave 1 channel 0 } jpayne@68: { slave 1 channel 1 } jpayne@68: { slave 2 channel 0 } jpayne@68: { slave 2 channel 1 } jpayne@68: ] jpayne@68: } jpayne@68: jpayne@68: jpayne@68: jpayne@68: EMU10K1.pcm.iec958.0 { jpayne@68: @args [ CARD AES0 AES1 AES2 AES3 ] jpayne@68: @args.CARD { jpayne@68: type string jpayne@68: } jpayne@68: @args.AES0 { jpayne@68: type integer jpayne@68: } jpayne@68: @args.AES1 { jpayne@68: type integer jpayne@68: } jpayne@68: @args.AES2 { jpayne@68: type integer jpayne@68: } jpayne@68: @args.AES3 { jpayne@68: type integer jpayne@68: } jpayne@68: type hooks jpayne@68: slave.pcm { jpayne@68: type hw jpayne@68: card $CARD jpayne@68: device 2 jpayne@68: } jpayne@68: hooks.0 { jpayne@68: type ctl_elems jpayne@68: hook_args [ jpayne@68: { jpayne@68: interface PCM jpayne@68: name "IEC958 Playback Default" jpayne@68: device 2 jpayne@68: lock true jpayne@68: preserve true jpayne@68: optional true jpayne@68: value [ $AES0 $AES1 $AES2 $AES3 ] jpayne@68: } jpayne@68: { jpayne@68: # for compatibility with older drivers jpayne@68: name "IEC958 Playback Default" jpayne@68: lock true jpayne@68: preserve true jpayne@68: optional true jpayne@68: value [ $AES0 $AES1 $AES2 $AES3 ] jpayne@68: } jpayne@68: { jpayne@68: name "IEC958 Optical Raw Playback Switch" jpayne@68: lock true jpayne@68: preserve true jpayne@68: value [ 1 1 ] jpayne@68: } jpayne@68: { jpayne@68: name "SB Live Analog/Digital Output Jack" jpayne@68: lock true jpayne@68: preserve true jpayne@68: value 1 jpayne@68: } jpayne@68: ] jpayne@68: } jpayne@68: }