[alsa-devel] [PATCH] snd-sbxfi: rename erroneous Master mixer control to "PCM Playback Volume".

Takashi Iwai tiwai at suse.de
Sun Oct 19 10:49:17 CEST 2008


At Sat, 18 Oct 2008 20:42:24 -0500,
William Pitcock wrote:
> 
> The OSS4-provided master mixer control is actually relative to EMU20K1 port
> volume settings. So, it should be named PCM. The Master mixer control will be
> shortly readded as a control which sets the master volume.
> 
> Signed-off-by: William Pitcock <nenolod at sacredspiral.co.uk>

I postpone this until you send the Master control addition.
Most apps requires Master control rather than PCM control, AFAIK.


Takashi

> ---
>  sound/pci/sbxfi/sbxfi.c |   28 ++++++++++++++--------------
>  1 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/sound/pci/sbxfi/sbxfi.c b/sound/pci/sbxfi/sbxfi.c
> index c006278..3e99a97 100644
> --- a/sound/pci/sbxfi/sbxfi.c
> +++ b/sound/pci/sbxfi/sbxfi.c
> @@ -155,7 +155,7 @@ struct sbxfi {
>  	int timer_reprogram;
>  
>  	unsigned int base_rate;
> -	int master_vol[2];
> +	int pcm_vol[2];
>  	int capture_vol[2];
>  	int capsrc;
>  	int micboost;
> @@ -1103,7 +1103,7 @@ static void sbxfi_setup_play_mixer(struct sbxfi *chip,
>  	int i, vol, audio_ch;
>  
>  	for (i = 0; i < 2; i++) {
> -		vol = port->vol[i] + chip->master_vol[i] - MAX_VOLUME;
> +		vol = port->vol[i] + chip->pcm_vol[i] - MAX_VOLUME;
>  		if (vol < 0)
>  			vol = 0;
>  		vol = amop_vol_table[vol];
> @@ -1124,9 +1124,9 @@ static int sbxfi_update_play_mixer(struct sbxfi *chip, int *vol)
>  	struct sbxfi_port *port;
>  
>  	for (i = 0; i < 2; i++) {
> -		if (vol[i] == chip->master_vol[i])
> +		if (vol[i] == chip->pcm_vol[i])
>  			continue;
> -		chip->master_vol[i] = vol[i];
> +		chip->pcm_vol[i] = vol[i];
>  		spin_lock_irq(&chip->port_lock);
>  		list_for_each_entry(port, &chip->port_list, list) {
>  			if (port->substream->stream !=
> @@ -1516,7 +1516,7 @@ static int __devinit sbxfi_create_pcm(struct sbxfi *chip)
>  /*
>   * Mixer interface
>   */
> -static int sbxfi_master_vol_info(struct snd_kcontrol *kcontrol,
> +static int sbxfi_pcm_vol_info(struct snd_kcontrol *kcontrol,
>  				 struct snd_ctl_elem_info *uinfo)
>  {
>  	uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
> @@ -1526,16 +1526,16 @@ static int sbxfi_master_vol_info(struct snd_kcontrol *kcontrol,
>  	return 0;
>  }
>  
> -static int sbxfi_master_vol_get(struct snd_kcontrol *kcontrol,
> +static int sbxfi_pcm_vol_get(struct snd_kcontrol *kcontrol,
>  				struct snd_ctl_elem_value *ucontrol)
>  {
>  	struct sbxfi *chip = snd_kcontrol_chip(kcontrol);
> -	ucontrol->value.integer.value[0] = chip->master_vol[0];
> -	ucontrol->value.integer.value[1] = chip->master_vol[1];
> +	ucontrol->value.integer.value[0] = chip->pcm_vol[0];
> +	ucontrol->value.integer.value[1] = chip->pcm_vol[1];
>  	return 0;
>  }
>  
> -static int sbxfi_master_vol_put(struct snd_kcontrol *kcontrol,
> +static int sbxfi_pcm_vol_put(struct snd_kcontrol *kcontrol,
>  				struct snd_ctl_elem_value *ucontrol)
>  {
>  	struct sbxfi *chip = snd_kcontrol_chip(kcontrol);
> @@ -1543,7 +1543,7 @@ static int sbxfi_master_vol_put(struct snd_kcontrol *kcontrol,
>  
>  	vol[0] = ucontrol->value.integer.value[0];
>  	vol[1] = ucontrol->value.integer.value[1];
> -	if (!memcmp(vol, chip->master_vol, sizeof(vol)))
> +	if (!memcmp(vol, chip->pcm_vol, sizeof(vol)))
>  		return 0;
>  
>  	if (vol[0] < 0)
> @@ -1658,13 +1658,13 @@ static int sbxfi_micboost_put(struct snd_kcontrol *kcontrol,
>  
>  static struct snd_kcontrol_new mixers[] __devinitdata = {
>  	{
> -		.name = "Master Playback Volume",
> +		.name = "PCM Playback Volume",
>  		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
>  		.access = (SNDRV_CTL_ELEM_ACCESS_READWRITE
>  			   /* | SNDRV_CTL_ELEM_ACCESS_TLV_READ*/),
> -		.info = sbxfi_master_vol_info,
> -		.get = sbxfi_master_vol_get,
> -		.put = sbxfi_master_vol_put,
> +		.info = sbxfi_pcm_vol_info,
> +		.get = sbxfi_pcm_vol_get,
> +		.put = sbxfi_pcm_vol_put,
>  		/*.tlv = { .p = db_master_vol }*/
>  	},
>  	{
> -- 
> 1.5.5.4
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


More information about the Alsa-devel mailing list