| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) | 
Create a volume (type 1) element
#include <audio_driver.h>
ado_mixer_delement_t *ado_mixer_element_volume1
  ( ado_mixer_t *mixer,
    char *name,
    uint32_t number_of_voices,
    struct snd_mixer_element_volume1_range *ranges,
    ado_mixer_delement_control_volume1_t *control,
    void *instance_data,
    void (*instance_free) (void *data) );
typedef struct snd_mixer_element_volume1_range
{
	int32_t		min, max;
	int32_t		min_dB, max_dB;
	uint8_t	 	reserved[128];      /* must be filled with zero */
}		snd_mixer_element_volume1_range_t;
  
  
The prototype is:
int32_t control(
           MIXER_CONTEXT_T *context,
           ado_mixer_delement_t *element,
           uint8_t set,
           uint32_t *volumes,
           void *instance_data );
  
If you need to access this instance data, you have to call ado_mixer_get_element_instance_data() because ado_mixer_delement_t is an opaque data type.
The ado_mixer_element_volume1() convenience function automates the creation of a volume (type 1) element.
A pointer to the newly allocated volume (type 1) element.
QNX Neutrino
| Safety: | |
|---|---|
| Cancellation point | No | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | No | 
ado_mixer_element_vol_range_max(), ado_mixer_element_vol_range_min(), ado_mixer_get_element_instance_data()
| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) |