ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
Simple Mixer Interface
Mixer Interface

Data Structures

struct  snd_mixer_selem_regopt

Macros

#define snd_mixer_selem_id_alloca(ptr)
 allocate an invalid snd_mixer_selem_id_t using standard alloca

Typedefs

typedef struct _snd_mixer_selem_id snd_mixer_selem_id_t

Enumerations

enum  snd_mixer_selem_channel_id_t {
  SND_MIXER_SCHN_UNKNOWN = -1, SND_MIXER_SCHN_FRONT_LEFT = 0, SND_MIXER_SCHN_FRONT_RIGHT, SND_MIXER_SCHN_REAR_LEFT,
  SND_MIXER_SCHN_REAR_RIGHT, SND_MIXER_SCHN_FRONT_CENTER, SND_MIXER_SCHN_WOOFER, SND_MIXER_SCHN_SIDE_LEFT,
  SND_MIXER_SCHN_SIDE_RIGHT, SND_MIXER_SCHN_REAR_CENTER, SND_MIXER_SCHN_LAST = 31, SND_MIXER_SCHN_MONO = SND_MIXER_SCHN_FRONT_LEFT
}
enum  snd_mixer_selem_regopt_abstract { SND_MIXER_SABSTRACT_NONE = 0, SND_MIXER_SABSTRACT_BASIC }

Functions

const char * snd_mixer_selem_channel_name (snd_mixer_selem_channel_id_t channel)
 Return name of mixer simple element channel.
int snd_mixer_selem_register (snd_mixer_t *mixer, struct snd_mixer_selem_regopt *options, snd_mixer_class_t **classp)
 Register mixer simple element class.
void snd_mixer_selem_get_id (snd_mixer_elem_t *element, snd_mixer_selem_id_t *id)
 Get mixer simple element identifier.
const char * snd_mixer_selem_get_name (snd_mixer_elem_t *elem)
 Get name part of mixer simple element identifier.
unsigned int snd_mixer_selem_get_index (snd_mixer_elem_t *elem)
 Get index part of mixer simple element identifier.
snd_mixer_elem_tsnd_mixer_find_selem (snd_mixer_t *mixer, const snd_mixer_selem_id_t *id)
 Find a mixer simple element.
int snd_mixer_selem_is_active (snd_mixer_elem_t *elem)
 Get info about the active state of a mixer simple element.
int snd_mixer_selem_is_playback_mono (snd_mixer_elem_t *elem)
 Get info about channels of playback stream of a mixer simple element.
int snd_mixer_selem_has_playback_channel (snd_mixer_elem_t *obj, snd_mixer_selem_channel_id_t channel)
 Get info about channels of playback stream of a mixer simple element.
int snd_mixer_selem_is_capture_mono (snd_mixer_elem_t *elem)
 Get info about channels of capture stream of a mixer simple element.
int snd_mixer_selem_has_capture_channel (snd_mixer_elem_t *obj, snd_mixer_selem_channel_id_t channel)
 Get info about channels of capture stream of a mixer simple element.
int snd_mixer_selem_get_capture_group (snd_mixer_elem_t *elem)
 Return info about capture switch control of a mixer simple element.
int snd_mixer_selem_has_common_volume (snd_mixer_elem_t *elem)
 Return true if mixer simple element has only one volume control for both playback and capture.
int snd_mixer_selem_has_playback_volume (snd_mixer_elem_t *elem)
 Return info about playback volume control of a mixer simple element.
int snd_mixer_selem_has_playback_volume_joined (snd_mixer_elem_t *elem)
 Return info about playback volume control of a mixer simple element.
int snd_mixer_selem_has_capture_volume (snd_mixer_elem_t *elem)
 Return info about capture volume control of a mixer simple element.
int snd_mixer_selem_has_capture_volume_joined (snd_mixer_elem_t *elem)
 Return info about capture volume control of a mixer simple element.
int snd_mixer_selem_has_common_switch (snd_mixer_elem_t *elem)
 Return true if mixer simple element has only one switch control for both playback and capture.
int snd_mixer_selem_has_playback_switch (snd_mixer_elem_t *elem)
 Return info about playback switch control existence of a mixer simple element.
int snd_mixer_selem_has_playback_switch_joined (snd_mixer_elem_t *elem)
 Return info about playback switch control of a mixer simple element.
int snd_mixer_selem_has_capture_switch (snd_mixer_elem_t *elem)
 Return info about capture switch control existence of a mixer simple element.
int snd_mixer_selem_has_capture_switch_joined (snd_mixer_elem_t *elem)
 Return info about capture switch control of a mixer simple element.
int snd_mixer_selem_has_capture_switch_exclusive (snd_mixer_elem_t *elem)
 Return info about capture switch control of a mixer simple element.
int snd_mixer_selem_ask_playback_vol_dB (snd_mixer_elem_t *elem, long value, long *dBvalue)
 Return corresponding dB value to an integer playback volume for a mixer simple element.
int snd_mixer_selem_ask_capture_vol_dB (snd_mixer_elem_t *elem, long value, long *dBvalue)
 Return corresponding dB value to an integer capture volume for a mixer simple element.
int snd_mixer_selem_ask_playback_dB_vol (snd_mixer_elem_t *elem, long dBvalue, int dir, long *value)
 Return corresponding integer playback volume for given dB value for a mixer simple element.
int snd_mixer_selem_ask_capture_dB_vol (snd_mixer_elem_t *elem, long dBvalue, int dir, long *value)
 Return corresponding integer capture volume for given dB value for a mixer simple element.
int snd_mixer_selem_get_playback_volume (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
 Return value of playback volume control of a mixer simple element.
int snd_mixer_selem_get_capture_volume (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
 Return value of capture volume control of a mixer simple element.
int snd_mixer_selem_get_playback_dB (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
 Return value of playback volume in dB control of a mixer simple element.
int snd_mixer_selem_get_capture_dB (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
 Return value of capture volume in dB control of a mixer simple element.
int snd_mixer_selem_get_playback_switch (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value)
 Return value of playback switch control of a mixer simple element.
int snd_mixer_selem_get_capture_switch (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value)
 Return value of capture switch control of a mixer simple element.
int snd_mixer_selem_set_playback_volume (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value)
 Set value of playback volume control of a mixer simple element.
int snd_mixer_selem_set_capture_volume (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value)
 Set value of capture volume control of a mixer simple element.
int snd_mixer_selem_set_playback_dB (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir)
 Set value in dB of playback volume control of a mixer simple element.
int snd_mixer_selem_set_capture_dB (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir)
 Set value in dB of capture volume control of a mixer simple element.
int snd_mixer_selem_set_playback_volume_all (snd_mixer_elem_t *elem, long value)
 Set value of playback volume control for all channels of a mixer simple element.
int snd_mixer_selem_set_capture_volume_all (snd_mixer_elem_t *elem, long value)
 Set value of capture volume control for all channels of a mixer simple element.
int snd_mixer_selem_set_playback_dB_all (snd_mixer_elem_t *elem, long value, int dir)
 Set value in dB of playback volume control for all channels of a mixer simple element.
int snd_mixer_selem_set_capture_dB_all (snd_mixer_elem_t *elem, long value, int dir)
 Set value in dB of capture volume control for all channels of a mixer simple element.
int snd_mixer_selem_set_playback_switch (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value)
 Set value of playback switch control of a mixer simple element.
int snd_mixer_selem_set_capture_switch (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value)
 Set value of capture switch control of a mixer simple element.
int snd_mixer_selem_set_playback_switch_all (snd_mixer_elem_t *elem, int value)
 Set value of playback switch control for all channels of a mixer simple element.
int snd_mixer_selem_set_capture_switch_all (snd_mixer_elem_t *elem, int value)
 Set value of capture switch control for all channels of a mixer simple element.
int snd_mixer_selem_get_playback_volume_range (snd_mixer_elem_t *elem, long *min, long *max)
 Get range for playback volume of a mixer simple element.
int snd_mixer_selem_get_playback_dB_range (snd_mixer_elem_t *elem, long *min, long *max)
 Get range in dB for playback volume of a mixer simple element.
int snd_mixer_selem_set_playback_volume_range (snd_mixer_elem_t *elem, long min, long max)
 Set range for playback volume of a mixer simple element.
int snd_mixer_selem_get_capture_volume_range (snd_mixer_elem_t *elem, long *min, long *max)
 Get range for capture volume of a mixer simple element.
int snd_mixer_selem_get_capture_dB_range (snd_mixer_elem_t *elem, long *min, long *max)
 Get range in dB for capture volume of a mixer simple element.
int snd_mixer_selem_set_capture_volume_range (snd_mixer_elem_t *elem, long min, long max)
 Set range for capture volume of a mixer simple element.
int snd_mixer_selem_is_enumerated (snd_mixer_elem_t *elem)
 Return true if mixer simple element is an enumerated control.
int snd_mixer_selem_is_enum_playback (snd_mixer_elem_t *elem)
 Return true if mixer simple enumerated element belongs to the playback direction.
int snd_mixer_selem_is_enum_capture (snd_mixer_elem_t *elem)
 Return true if mixer simple enumerated element belongs to the capture direction.
int snd_mixer_selem_get_enum_items (snd_mixer_elem_t *elem)
 Return the number of enumerated items of the given mixer simple element.
int snd_mixer_selem_get_enum_item_name (snd_mixer_elem_t *elem, unsigned int idx, size_t maxlen, char *str)
 get the enumerated item string for the given mixer simple element
int snd_mixer_selem_get_enum_item (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, unsigned int *idxp)
 get the current selected enumerated item for the given mixer simple element
int snd_mixer_selem_set_enum_item (snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, unsigned int idx)
 set the current selected enumerated item for the given mixer simple element
size_t snd_mixer_selem_id_sizeof (void)
 get size of snd_mixer_selem_id_t
int snd_mixer_selem_id_malloc (snd_mixer_selem_id_t **ptr)
 allocate an invalid snd_mixer_selem_id_t using standard malloc
void snd_mixer_selem_id_free (snd_mixer_selem_id_t *obj)
 frees a previously allocated snd_mixer_selem_id_t
void snd_mixer_selem_id_copy (snd_mixer_selem_id_t *dst, const snd_mixer_selem_id_t *src)
 copy one snd_mixer_selem_id_t to another
const char * snd_mixer_selem_id_get_name (const snd_mixer_selem_id_t *obj)
 Get name part of a mixer simple element identifier.
unsigned int snd_mixer_selem_id_get_index (const snd_mixer_selem_id_t *obj)
 Get index part of a mixer simple element identifier.
void snd_mixer_selem_id_set_name (snd_mixer_selem_id_t *obj, const char *val)
 Set name part of a mixer simple element identifier.
void snd_mixer_selem_id_set_index (snd_mixer_selem_id_t *obj, unsigned int val)
 Set index part of a mixer simple element identifier.

Detailed Description

The simple mixer interface.


Macro Definition Documentation

#define snd_mixer_selem_id_alloca (   ptr)

allocate an invalid snd_mixer_selem_id_t using standard alloca

Parameters:
ptrreturned pointer

Typedef Documentation

typedef struct _snd_mixer_selem_id snd_mixer_selem_id_t

Mixer simple element identifier


Enumeration Type Documentation

Mixer simple element channel identifier

Enumerator:
SND_MIXER_SCHN_UNKNOWN 

Unknown

SND_MIXER_SCHN_FRONT_LEFT 

Front left

SND_MIXER_SCHN_FRONT_RIGHT 

Front right

SND_MIXER_SCHN_REAR_LEFT 

Rear left

SND_MIXER_SCHN_REAR_RIGHT 

Rear right

SND_MIXER_SCHN_FRONT_CENTER 

Front center

SND_MIXER_SCHN_WOOFER 

Woofer

SND_MIXER_SCHN_SIDE_LEFT 

Side Left

SND_MIXER_SCHN_SIDE_RIGHT 

Side Right

SND_MIXER_SCHN_REAR_CENTER 

Rear Center

SND_MIXER_SCHN_MONO 

Mono (Front left alias)

Mixer simple element - register options - abstraction level

Enumerator:
SND_MIXER_SABSTRACT_NONE 

no abstraction - try use all universal controls from driver

SND_MIXER_SABSTRACT_BASIC 

basic abstraction - Master,PCM,CD,Aux,Record-Gain etc.


Function Documentation

snd_mixer_elem_t* snd_mixer_find_selem ( snd_mixer_t mixer,
const snd_mixer_selem_id_t id 
)

Find a mixer simple element.

Parameters:
mixerMixer handle
idMixer simple element identifier
Returns:
mixer simple element handle or NULL if not found
int snd_mixer_selem_ask_capture_dB_vol ( snd_mixer_elem_t elem,
long  dBvalue,
int  dir,
long *  value 
)

Return corresponding integer capture volume for given dB value for a mixer simple element.

Parameters:
elemMixer simple element handle
dBvaluedB value to be converted to integer range
valuepointer to returned integer value
dirselect direction (-1 = accurate or first bellow, 0 = accurate, 1 = accurate or first above)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_ask_capture_vol_dB ( snd_mixer_elem_t elem,
long  value,
long *  dBvalue 
)

Return corresponding dB value to an integer capture volume for a mixer simple element.

Parameters:
elemMixer simple element handle
valuevalue to be converted to dB range
dBvaluepointer to returned dB value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_ask_playback_dB_vol ( snd_mixer_elem_t elem,
long  dBvalue,
int  dir,
long *  value 
)

Return corresponding integer playback volume for given dB value for a mixer simple element.

Parameters:
elemMixer simple element handle
valuevalue to be converted to dB range
dirselect direction (-1 = accurate or first bellow, 0 = accurate, 1 = accurate or first above)
dBvaluepointer to returned dB value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_ask_playback_vol_dB ( snd_mixer_elem_t elem,
long  value,
long *  dBvalue 
)

Return corresponding dB value to an integer playback volume for a mixer simple element.

Parameters:
elemMixer simple element handle
valuevalue to be converted to dB range
dBvaluepointer to returned dB value
Returns:
0 on success otherwise a negative error code
const char* snd_mixer_selem_channel_name ( snd_mixer_selem_channel_id_t  channel)

Return name of mixer simple element channel.

Parameters:
channelmixer simple element channel identifier
Returns:
channel name
int snd_mixer_selem_get_capture_dB ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long *  value 
)

Return value of capture volume in dB control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuepointer to returned value (dB * 100)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_get_capture_dB_range ( snd_mixer_elem_t elem,
long *  min,
long *  max 
)

Get range in dB for capture volume of a mixer simple element.

Parameters:
elemMixer simple element handle
minPointer to returned minimum (dB * 100)
maxPointer to returned maximum (dB * 100)
int snd_mixer_selem_get_capture_group ( snd_mixer_elem_t elem)

Return info about capture switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
group for switch exclusivity (see snd_mixer_selem_has_capture_switch_exclusive)
int snd_mixer_selem_get_capture_switch ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
int *  value 
)

Return value of capture switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuepointer to returned value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_get_capture_volume ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long *  value 
)

Return value of capture volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuepointer to returned value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_get_capture_volume_range ( snd_mixer_elem_t elem,
long *  min,
long *  max 
)

Get range for capture volume of a mixer simple element.

Parameters:
elemMixer simple element handle
minPointer to returned minimum
maxPointer to returned maximum
int snd_mixer_selem_get_enum_item ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
unsigned int *  itemp 
)

get the current selected enumerated item for the given mixer simple element

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
itempthe pointer to store the index of the enumerated item
Returns:
0 if successful, otherwise a negative error code
int snd_mixer_selem_get_enum_item_name ( snd_mixer_elem_t elem,
unsigned int  item,
size_t  maxlen,
char *  buf 
)

get the enumerated item string for the given mixer simple element

Parameters:
elemMixer simple element handle
itemthe index of the enumerated item to query
maxlenthe maximal length to be stored
bufthe buffer to store the name string
Returns:
0 if successful, otherwise a negative error code
int snd_mixer_selem_get_enum_items ( snd_mixer_elem_t elem)

Return the number of enumerated items of the given mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
the number of enumerated items, otherwise a negative error code
void snd_mixer_selem_get_id ( snd_mixer_elem_t elem,
snd_mixer_selem_id_t id 
)

Get mixer simple element identifier.

Parameters:
elemMixer simple element handle
idreturned mixer simple element identifier
unsigned int snd_mixer_selem_get_index ( snd_mixer_elem_t elem)

Get index part of mixer simple element identifier.

Parameters:
elemMixer simple element handle
Returns:
index part of simple element identifier
const char* snd_mixer_selem_get_name ( snd_mixer_elem_t elem)

Get name part of mixer simple element identifier.

Parameters:
elemMixer simple element handle
Returns:
name part of simple element identifier
int snd_mixer_selem_get_playback_dB ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long *  value 
)

Return value of playback volume in dB control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuepointer to returned value (dB * 100)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_get_playback_dB_range ( snd_mixer_elem_t elem,
long *  min,
long *  max 
)

Get range in dB for playback volume of a mixer simple element.

Parameters:
elemMixer simple element handle
minPointer to returned minimum (dB * 100)
maxPointer to returned maximum (dB * 100)
int snd_mixer_selem_get_playback_switch ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
int *  value 
)

Return value of playback switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuepointer to returned value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_get_playback_volume ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long *  value 
)

Return value of playback volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuepointer to returned value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_get_playback_volume_range ( snd_mixer_elem_t elem,
long *  min,
long *  max 
)

Get range for playback volume of a mixer simple element.

Parameters:
elemMixer simple element handle
minPointer to returned minimum
maxPointer to returned maximum
int snd_mixer_selem_has_capture_channel ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel 
)

Get info about channels of capture stream of a mixer simple element.

Parameters:
elemMixer simple element handle
channelMixer simple element channel identifier
Returns:
0 if channel is not present, 1 if present
int snd_mixer_selem_has_capture_switch ( snd_mixer_elem_t elem)

Return info about capture switch control existence of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if no control is present, 1 if it's present
int snd_mixer_selem_has_capture_switch_exclusive ( snd_mixer_elem_t elem)

Return info about capture switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if control is separated per element, 1 if control acts on other elements too (i.e. only one active at a time inside a group)
int snd_mixer_selem_has_capture_switch_joined ( snd_mixer_elem_t elem)

Return info about capture switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if control is separated per channel, 1 if control acts on all channels together
int snd_mixer_selem_has_capture_volume ( snd_mixer_elem_t elem)

Return info about capture volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if no control is present, 1 if it's present
int snd_mixer_selem_has_capture_volume_joined ( snd_mixer_elem_t elem)

Return info about capture volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if control is separated per channel, 1 if control acts on all channels together
int snd_mixer_selem_has_common_switch ( snd_mixer_elem_t elem)

Return true if mixer simple element has only one switch control for both playback and capture.

Parameters:
elemMixer simple element handle
Returns:
0 separated control, 1 common control
int snd_mixer_selem_has_common_volume ( snd_mixer_elem_t elem)

Return true if mixer simple element has only one volume control for both playback and capture.

Parameters:
elemMixer simple element handle
Returns:
0 separated control, 1 common control
int snd_mixer_selem_has_playback_channel ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel 
)

Get info about channels of playback stream of a mixer simple element.

Parameters:
elemMixer simple element handle
channelMixer simple element channel identifier
Returns:
0 if channel is not present, 1 if present
int snd_mixer_selem_has_playback_switch ( snd_mixer_elem_t elem)

Return info about playback switch control existence of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if no control is present, 1 if it's present
int snd_mixer_selem_has_playback_switch_joined ( snd_mixer_elem_t elem)

Return info about playback switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if control is separated per channel, 1 if control acts on all channels together
int snd_mixer_selem_has_playback_volume ( snd_mixer_elem_t elem)

Return info about playback volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if no control is present, 1 if it's present
int snd_mixer_selem_has_playback_volume_joined ( snd_mixer_elem_t elem)

Return info about playback volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if control is separated per channel, 1 if control acts on all channels together
void snd_mixer_selem_id_copy ( snd_mixer_selem_id_t dst,
const snd_mixer_selem_id_t src 
)

copy one snd_mixer_selem_id_t to another

Parameters:
dstpointer to destination
srcpointer to source
void snd_mixer_selem_id_free ( snd_mixer_selem_id_t obj)

frees a previously allocated snd_mixer_selem_id_t

Parameters:
objpointer to object to free
unsigned int snd_mixer_selem_id_get_index ( const snd_mixer_selem_id_t obj)

Get index part of a mixer simple element identifier.

Parameters:
objMixer simple element identifier
Returns:
index part
const char* snd_mixer_selem_id_get_name ( const snd_mixer_selem_id_t obj)

Get name part of a mixer simple element identifier.

Parameters:
objMixer simple element identifier
Returns:
name part
int snd_mixer_selem_id_malloc ( snd_mixer_selem_id_t **  ptr)

allocate an invalid snd_mixer_selem_id_t using standard malloc

Parameters:
ptrreturned pointer
Returns:
0 on success otherwise negative error code
void snd_mixer_selem_id_set_index ( snd_mixer_selem_id_t obj,
unsigned int  val 
)

Set index part of a mixer simple element identifier.

Parameters:
objMixer simple element identifier
valindex part
void snd_mixer_selem_id_set_name ( snd_mixer_selem_id_t obj,
const char *  val 
)

Set name part of a mixer simple element identifier.

Parameters:
objMixer simple element identifier
valname part
size_t snd_mixer_selem_id_sizeof ( void  )

get size of snd_mixer_selem_id_t

Returns:
size in bytes
int snd_mixer_selem_is_active ( snd_mixer_elem_t elem)

Get info about the active state of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if not active, 1 if active
int snd_mixer_selem_is_capture_mono ( snd_mixer_elem_t elem)

Get info about channels of capture stream of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if not mono, 1 if mono
int snd_mixer_selem_is_enum_capture ( snd_mixer_elem_t elem)

Return true if mixer simple enumerated element belongs to the capture direction.

Parameters:
elemMixer simple element handle
Returns:
0 no capture direction, 1 capture direction
int snd_mixer_selem_is_enum_playback ( snd_mixer_elem_t elem)

Return true if mixer simple enumerated element belongs to the playback direction.

Parameters:
elemMixer simple element handle
Returns:
0 no playback direction, 1 playback direction
int snd_mixer_selem_is_enumerated ( snd_mixer_elem_t elem)

Return true if mixer simple element is an enumerated control.

Parameters:
elemMixer simple element handle
Returns:
0 normal volume/switch control, 1 enumerated control
int snd_mixer_selem_is_playback_mono ( snd_mixer_elem_t elem)

Get info about channels of playback stream of a mixer simple element.

Parameters:
elemMixer simple element handle
Returns:
0 if not mono, 1 if mono
int snd_mixer_selem_register ( snd_mixer_t mixer,
struct snd_mixer_selem_regopt options,
snd_mixer_class_t **  classp 
)

Register mixer simple element class.

Parameters:
mixerMixer handle
optionsOptions container
classpPointer to returned mixer simple element class handle (or NULL)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_dB ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long  value,
int  dir 
)

Set value in dB of capture volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuecontrol value in dB * 100
dirselect direction (-1 = accurate or first bellow, 0 = accurate, 1 = accurate or first above)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_dB_all ( snd_mixer_elem_t elem,
long  value,
int  dir 
)

Set value in dB of capture volume control for all channels of a mixer simple element.

Parameters:
elemMixer simple element handle
valuecontrol value in dB * 100
dirselect direction (-1 = accurate or first bellow, 0 = accurate, 1 = accurate or first above)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_switch ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
int  value 
)

Set value of capture switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_switch_all ( snd_mixer_elem_t elem,
int  value 
)

Set value of capture switch control for all channels of a mixer simple element.

Parameters:
elemMixer simple element handle
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_volume ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long  value 
)

Set value of capture volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_volume_all ( snd_mixer_elem_t elem,
long  value 
)

Set value of capture volume control for all channels of a mixer simple element.

Parameters:
elemMixer simple element handle
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_capture_volume_range ( snd_mixer_elem_t elem,
long  min,
long  max 
)

Set range for capture volume of a mixer simple element.

Parameters:
elemMixer simple element handle
minminimum volume value
maxmaximum volume value
int snd_mixer_selem_set_enum_item ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
unsigned int  item 
)

set the current selected enumerated item for the given mixer simple element

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
itemthe enumerated item index
Returns:
0 if successful, otherwise a negative error code
int snd_mixer_selem_set_playback_dB ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long  value,
int  dir 
)

Set value in dB of playback volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuecontrol value in dB * 100
dirselect direction (-1 = accurate or first bellow, 0 = accurate, 1 = accurate or first above)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_playback_dB_all ( snd_mixer_elem_t elem,
long  value,
int  dir 
)

Set value in dB of playback volume control for all channels of a mixer simple element.

Parameters:
elemMixer simple element handle
valuecontrol value in dB * 100
dirselect direction (-1 = accurate or first bellow, 0 = accurate, 1 = accurate or first above)
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_playback_switch ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
int  value 
)

Set value of playback switch control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_playback_switch_all ( snd_mixer_elem_t elem,
int  value 
)

Set value of playback switch control for all channels of a mixer simple element.

Parameters:
elemMixer simple element handle
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_playback_volume ( snd_mixer_elem_t elem,
snd_mixer_selem_channel_id_t  channel,
long  value 
)

Set value of playback volume control of a mixer simple element.

Parameters:
elemMixer simple element handle
channelmixer simple element channel identifier
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_playback_volume_all ( snd_mixer_elem_t elem,
long  value 
)

Set value of playback volume control for all channels of a mixer simple element.

Parameters:
elemMixer simple element handle
valuecontrol value
Returns:
0 on success otherwise a negative error code
int snd_mixer_selem_set_playback_volume_range ( snd_mixer_elem_t elem,
long  min,
long  max 
)

Set range for playback volume of a mixer simple element.

Parameters:
elemMixer simple element handle
minminimum volume value
maxmaximum volume value