[alsa-devel] control names

Harsha, Priya priya.harsha at intel.com
Wed Sep 9 14:23:56 CEST 2009


>-----Original Message-----
>From: Mark Brown [mailto:broonie at opensource.wolfsonmicro.com]
>Sent: Wednesday, September 09, 2009 5:46 PM
>To: Jaroslav Kysela
>Cc: Harsha, Priya; alsa-devel at alsa-project.org
>Subject: Re: [alsa-devel] control names
>
>On Wed, Sep 09, 2009 at 02:11:34PM +0200, Jaroslav Kysela wrote:
>> On Wed, 9 Sep 2009, Harsha, Priya wrote:
>
>> > I am using a control name as "PCM Capture Switch". But the alsa mixer
>> > does not display the mute option for me to mute/unmute the capture
>path.
>
>> > Same thing for playback works i.e, "PCM Playback Switch" displays a
>mute
>> > button in alsamixer for me to change....
>
>> Did you press F4 to switch to the capture view?
>
>Also note that alsamixer uses a different display for capture switches
>in the UI - you won't see the same format button you'll see
>
>   ------
>
>if the switch is off or
>
>   L    R
>   CAPTUR
>
>if it's on under the volume control.
You are right... I see it as above. And how do I change the mute to unmute and vice versa using alsamixer?

Another issue am facing is that in "Playback" tab I see all capture and playback controls listed and in "Capture" tab only the capture controls and in "ALL" tab, all the controls listed. Why does capture controls get displayed under "Playback" tab? Following is my control structure that I use

struct snd_kcontrol_new snd_intelmad_controls[MAX_CTRL] __devinitdata = {
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"PCM Playback Volume",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_playback_volume_info,
	.get 		=	snd_intelmad_volume_get,
	.put		=	snd_intelmad_volume_set,
	.private_value 	=	0,
},
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"PCM Playback Switch",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_mute_info,
	.get 		=	snd_intelmad_mute_get,
	.put		=	snd_intelmad_mute_set,
	.private_value	=	0,
},
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"PCM Capture Volume",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_capture_volume_info,
	.get 		=	snd_intelmad_volume_get,
	.put		=	snd_intelmad_volume_set,
	.private_value 	=	0,
},
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"PCM Capture Switch",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_mute_info,
	.get 		=	snd_intelmad_mute_get,
	.put		=	snd_intelmad_mute_set,
	.private_value 	=	0,
},
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"PCM Playback Source",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_device_info,
	.get 		=	snd_intelmad_device_get,
	.put		=	snd_intelmad_device_set,
	.private_value	=	0,
},
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"PCM Capture Source",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_device_info,
	.get 		=	snd_intelmad_device_get,
	.put		=	snd_intelmad_device_set,
	.private_value 	=	0,
},
{
	.iface 		=	SNDRV_CTL_ELEM_IFACE_MIXER,
	.name 		=	"Master Playback Switch",
	.access 	=	SNDRV_CTL_ELEM_ACCESS_READWRITE,
	.info 		=	snd_intelmad_mute_info,
	.get 		=	snd_intelmad_mute_get,
	.put		=	snd_intelmad_mute_set,
	.private_value	=	0,
},
};


More information about the Alsa-devel mailing list