Main Page   Modules   Data Structures   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:
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 Fri Sep 3 11:05:46 2004 for ALSA project - the C library reference by doxygen1.2.18