mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
Taro Watanabe <taro@cs.cmu.edu>
Sat, 11 Sep 1999 13:17:27 -0400 Pan1 element handling.
This commit is contained in:
parent
12474871b6
commit
f132b5dc9d
1 changed files with 25 additions and 0 deletions
|
|
@ -50,6 +50,7 @@ int snd_mixer_element_has_info(snd_mixer_eid_t *eid)
|
|||
case SND_MIXER_ETYPE_MUX1:
|
||||
case SND_MIXER_ETYPE_MUX2:
|
||||
case SND_MIXER_ETYPE_TONE_CONTROL1:
|
||||
case SND_MIXER_ETYPE_PAN_CONTROL1:
|
||||
case SND_MIXER_ETYPE_3D_EFFECT1:
|
||||
case SND_MIXER_ETYPE_PRE_EFFECT1:
|
||||
return 1;
|
||||
|
|
@ -145,6 +146,15 @@ int snd_mixer_element_info_build(snd_mixer_t *handle, snd_mixer_element_info_t *
|
|||
if ((err = snd_mixer_element_info(handle, element)) < 0)
|
||||
return err;
|
||||
break;
|
||||
case SND_MIXER_ETYPE_PAN_CONTROL1:
|
||||
element->data.pc1.range_size = element->data.pc1.range_over;
|
||||
element->data.pc1.range = element->data.pc1.range_over = 0;
|
||||
element->data.pc1.prange = (struct snd_mixer_element_pan_control1_range *)malloc(element->data.pc1.range_size * sizeof(struct snd_mixer_element_pan_control1_range));
|
||||
if (!element->data.pc1.prange)
|
||||
return -ENOMEM;
|
||||
if ((err = snd_mixer_element_info(handle, element)) < 0)
|
||||
return err;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -179,6 +189,9 @@ int snd_mixer_element_info_free(snd_mixer_element_info_t *element)
|
|||
safe_free((void **)&element->data.peffect1.pitems);
|
||||
safe_free((void **)&element->data.peffect1.pparameters);
|
||||
break;
|
||||
case SND_MIXER_ETYPE_PAN_CONTROL1:
|
||||
safe_free((void **)&element->data.pc1.prange);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -197,6 +210,7 @@ int snd_mixer_element_has_control(snd_mixer_eid_t *eid)
|
|||
case SND_MIXER_ETYPE_MUX1:
|
||||
case SND_MIXER_ETYPE_MUX2:
|
||||
case SND_MIXER_ETYPE_TONE_CONTROL1:
|
||||
case SND_MIXER_ETYPE_PAN_CONTROL1:
|
||||
case SND_MIXER_ETYPE_3D_EFFECT1:
|
||||
case SND_MIXER_ETYPE_PRE_EFFECT1:
|
||||
return 1;
|
||||
|
|
@ -278,6 +292,15 @@ int snd_mixer_element_build(snd_mixer_t *handle, snd_mixer_element_t *element)
|
|||
return err;
|
||||
}
|
||||
break;
|
||||
case SND_MIXER_ETYPE_PAN_CONTROL1:
|
||||
element->data.pc1.pan_size = element->data.pc1.pan_over;
|
||||
element->data.pc1.pan = element->data.pc1.pan_over = 0;
|
||||
element->data.pc1.ppan = (int *)malloc(element->data.pc1.pan_size * sizeof(int));
|
||||
if (!element->data.pc1.ppan)
|
||||
return -ENOMEM;
|
||||
if ((err = snd_mixer_element_read(handle, element)) < 0)
|
||||
return err;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -309,6 +332,8 @@ int snd_mixer_element_free(snd_mixer_element_t *element)
|
|||
if (element->data.peffect1.item < 0)
|
||||
safe_free((void **)&element->data.peffect1.pparameters);
|
||||
break;
|
||||
case SND_MIXER_ETYPE_PAN_CONTROL1:
|
||||
safe_free((void **)&element->data.pc1.ppan);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue