| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) | 
Create an accumulator (type 3) element
#include <audio_driver.h>
ado_mixer_delement_t *
   ado_mixer_element_accu3 (
      ado_mixer_t *mixer,
      char *name,
      uint32_t number_of_voices,
      struct snd_mixer_element_accu3_range *ranges,
      ado_mixer_delement_control_accu3_t *control,
      void *instance_data,
      void (*instance_free) (void *data) );
The prototype is:
int32_t control(
           MIXER_CONTEXT_T *context,
           ado_mixer_delement_t *element,
           uint8_t set,
           uint32_t *voices,
           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_accu3() convenience function automates the creation of an accumulator (type 3) element. An accumulator of type 3 mixes together multiple inputs into a single output with programmable attenuation.
A pointer to the newly allocated accumulator (type 3) element.
QNX Neutrino
| Safety: | |
|---|---|
| Cancellation point | No | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | No | 
ado_mixer_create(), ado_mixer_element_accu1(), ado_mixer_element_accu2(), ado_mixer_get_element_instance_data()
| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Index]](../keyword_index.gif) | ![[Next]](../next.gif) |