Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

simple.c File Reference

Mixer Simple Element Class Interface. More...


Functions

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.
snd_mixer_elem_t * snd_mixer_find_selem (snd_mixer_t *mixer, const snd_mixer_selem_id_t *id)
 Find a mixer simple element.
void snd_mixer_selem_get_id (snd_mixer_elem_t *elem, 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.
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_common_switch (snd_mixer_elem_t *elem)
 Return true if mixer simple element has only one switch control for both playback and capture.
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_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 *elem, snd_mixer_selem_channel_id_t channel)
 Get info about channels of playback stream of a mixer simple element.
void 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.
void 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_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_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_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_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_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_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_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_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_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 *elem, snd_mixer_selem_channel_id_t channel)
 Get info about channels of capture stream of a mixer simple element.
void 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.
void 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_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_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_get_capture_group (snd_mixer_elem_t *elem)
 Return info about capture switch 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_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_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_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_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_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_is_enumerated (snd_mixer_elem_t *elem)
 Return true if mixer simple element is an enumerated control.
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 item, size_t maxlen, char *buf)
 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 *itemp)
 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 item)
 set the current selected enumerated item for the given mixer simple element
size_t snd_mixer_selem_id_sizeof ()
 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

Mixer Simple Element Class Interface.

Author:
Jaroslav Kysela <perex@suse.cz>

Abramo Bagnara <abramo@alsa-project.org>

Date:
2001
Mixer simple element class interface.

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:
mixer Mixer handle
id Mixer simple element identifier
Returns:
mixer simple element handle or NULL if not found

const char* snd_mixer_selem_channel_name snd_mixer_selem_channel_id_t  channel  ) 
 

Return name of mixer simple element channel.

Parameters:
channel mixer simple element channel identifier
Returns:
channel name

int snd_mixer_selem_get_capture_group snd_mixer_elem_t *  elem  ) 
 

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

Parameters:
elem Mixer 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value pointer 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value pointer to returned value
Returns:
0 on success otherwise a negative error code

void 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:
elem Mixer simple element handle
min Pointer to returned minimum
max Pointer 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
itemp the 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:
elem Mixer simple element handle
item the index of the enumerated item to query
maxlen the maximal length to be stored
buf the 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:
elem Mixer 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:
elem Mixer simple element handle
id returned 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:
elem Mixer 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:
elem Mixer simple element handle
Returns:
name part of simple element identifier

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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value pointer 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value pointer to returned value
Returns:
0 on success otherwise a negative error code

void 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:
elem Mixer simple element handle
min Pointer to returned minimum
max Pointer 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:
elem Mixer simple element handle
channel Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer simple element handle
channel Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
elem Mixer 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:
dst pointer to destination
src pointer to source

void snd_mixer_selem_id_free snd_mixer_selem_id_t *  obj  ) 
 

frees a previously allocated #snd_mixer_selem_id_t

Parameters:
obj pointer 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:
obj Mixer 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:
obj Mixer 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:
ptr returned 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:
obj Mixer simple element identifier
val index 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:
obj Mixer simple element identifier
val name part

size_t snd_mixer_selem_id_sizeof  ) 
 

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:
elem Mixer 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:
elem Mixer simple element handle
Returns:
0 if not mono, 1 if mono

int snd_mixer_selem_is_enumerated snd_mixer_elem_t *  elem  ) 
 

Return true if mixer simple element is an enumerated control.

Parameters:
elem Mixer 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:
elem Mixer 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:
mixer Mixer handle
options Options container (not used now)
classp Pointer to returned mixer simple element class handle (or NULL)
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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value control 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:
elem Mixer simple element handle
value control 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value control 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:
elem Mixer simple element handle
value control value
Returns:
0 on success otherwise a negative error code

void 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:
elem Mixer simple element handle
min minimum volume value
max maximum 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
item the enumerated item index
Returns:
0 if successful, 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value control 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:
elem Mixer simple element handle
value control 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:
elem Mixer simple element handle
channel mixer simple element channel identifier
value control 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:
elem Mixer simple element handle
value control value
Returns:
0 on success otherwise a negative error code

void 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:
elem Mixer simple element handle
min minimum volume value
max maximum volume value


Generated on Thu Jun 16 10:59:13 2005 for ALSA project - the C library reference by  doxygen 1.4.2