On Thu, 2007-11-29 at 18:40 -0800, Yan Seiner wrote:
> Could someone tell me why this .asoundrc doesn't work?
>
> defaults.pcm.card "xx"
> defaults.ctl.card "xx"
> defaults.pcm.device 0
> defaults.pcm.subdevice -1
>
>
> pcm.yy {
> type hw
> card 0
> }
> ctl.yy {
> type hw
> card 0
> }
>
> pcm.xx {
> type hw
> card 1
> }
> ctl.xx {
> type hw
> card 1
> }
>
> alsamixer pukes with:
>
> yan@selene:~$ alsamixer
> ALSA lib conf.c:975:(parse_value) card is not a string
> ALSA lib conf.c:1588:(snd_config_load1) _toplevel_:1:22:Invalid argument
> ALSA lib conf.c:2849:(snd_config_hook_load) /data/home/yan/.asoundrc may
> be old or corrupted: consider to remove or fix it
> ALSA lib conf.c:2713:(snd_config_hooks_call) function
> snd_config_hook_load returned error: Invalid argument
> ALSA lib conf.c:3076:(snd_config_update_r) hooks failed, removing
> configuration
>
> alsamixer: function snd_ctl_open failed for default: Invalid argument
> yan@selene:~$
>
> If I comment out the defaults* lines it works....
>
> I want to be able to tie a hardware device to a X display, so I am
> looking for a way to select the default for the user at login based on
> the $DISPLAY s/he is using...
>
> --Yan
Yan,
My guess:
defaults.pcm.card has a type of integer in the alsa.conf. You are
trying to override it with a string type.
If you want to use a pcm of type hw (or plug on hw), consider using the
shell to evaluate an appropriate value (based on $DISPLAY) for ALSA_CARD
or ALSA_PCM_CARD in the user's .xinitrc. See lines 132-231 in alsa.conf
(v1.0.15).
- michael -
|