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

mixer.c File Reference

Mixer Interface. More...


Functions

int snd_mixer_open (snd_mixer_t **mixerp, int mode ATTRIBUTE_UNUSED)
 Opens an empty mixer. More...

int snd_mixer_elem_attach (snd_mixer_elem_t *melem, snd_hctl_elem_t *helem)
 Attach an HCTL element to a mixer element. More...

int snd_mixer_elem_detach (snd_mixer_elem_t *melem, snd_hctl_elem_t *helem)
 Detach an HCTL element from a mixer element. More...

int snd_mixer_elem_empty (snd_mixer_elem_t *melem)
 Return true if a mixer element does not contain any HCTL elements. More...

int snd_mixer_attach (snd_mixer_t *mixer, const char *name)
 Attach an HCTL to an opened mixer. More...

int snd_mixer_detach (snd_mixer_t *mixer, const char *name)
 Detach a previously attached HCTL to an opened mixer freeing all related resources. More...

int snd_mixer_elem_add (snd_mixer_elem_t *elem, snd_mixer_class_t *class)
 Add an element for a registered mixer element class. More...

int snd_mixer_elem_remove (snd_mixer_elem_t *elem)
 Remove a mixer element. More...

int snd_mixer_elem_info (snd_mixer_elem_t *elem)
 Mixer element informations are changed. More...

int snd_mixer_elem_value (snd_mixer_elem_t *elem)
 Mixer element values is changed. More...

int snd_mixer_class_register (snd_mixer_class_t *class, snd_mixer_t *mixer)
 Register mixer element class. More...

int snd_mixer_class_unregister (snd_mixer_class_t *class)
 Unregister mixer element class and remove all its elements. More...

int snd_mixer_load (snd_mixer_t *mixer)
 Load a mixer elements. More...

void snd_mixer_free (snd_mixer_t *mixer)
 Unload all mixer elements and free all related resources. More...

int snd_mixer_close (snd_mixer_t *mixer)
 Close a mixer and free all related resources. More...

int snd_mixer_set_compare (snd_mixer_t *mixer, snd_mixer_compare_t compare)
 Change mixer compare function and reorder elements. More...

int snd_mixer_poll_descriptors_count (snd_mixer_t *mixer)
 get count of poll descriptors for mixer handle. More...

int snd_mixer_poll_descriptors (snd_mixer_t *mixer, struct pollfd *pfds, unsigned int space)
 get poll descriptors. More...

int snd_mixer_poll_descriptors_revents (snd_mixer_t *mixer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
 get returned events from poll descriptors. More...

int snd_mixer_wait (snd_mixer_t *mixer, int timeout)
 Wait for a mixer to become ready (i.e. at least one event pending). More...

snd_mixer_elem_t * snd_mixer_first_elem (snd_mixer_t *mixer)
 get first element for a mixer. More...

snd_mixer_elem_t * snd_mixer_last_elem (snd_mixer_t *mixer)
 get last element for a mixer. More...

snd_mixer_elem_t * snd_mixer_elem_next (snd_mixer_elem_t *elem)
 get next mixer element. More...

snd_mixer_elem_t * snd_mixer_elem_prev (snd_mixer_elem_t *elem)
 get previous mixer element. More...

int snd_mixer_handle_events (snd_mixer_t *mixer)
 Handle pending mixer events invoking callbacks. More...

void snd_mixer_set_callback (snd_mixer_t *obj, snd_mixer_callback_t val)
 Set callback function for a mixer. More...

void snd_mixer_set_callback_private (snd_mixer_t *obj, void *val)
 Set callback private value for a mixer. More...

void * snd_mixer_get_callback_private (const snd_mixer_t *obj)
 Get callback private value for a mixer. More...

unsigned int snd_mixer_get_count (const snd_mixer_t *obj)
 Get elements count for a mixer. More...

void snd_mixer_elem_set_callback (snd_mixer_elem_t *obj, snd_mixer_elem_callback_t val)
 Set callback function for a mixer element. More...

void snd_mixer_elem_set_callback_private (snd_mixer_elem_t *obj, void *val)
 Set callback private value for a mixer element. More...

void * snd_mixer_elem_get_callback_private (const snd_mixer_elem_t *obj)
 Get callback private value for a mixer element. More...

snd_mixer_elem_type_t snd_mixer_elem_get_type (const snd_mixer_elem_t *obj)
 Get type for a mixer element. More...


Detailed Description

Mixer Interface.

Author:
Jaroslav Kysela <perex@suse.cz> , Abramo Bagnara <abramo@alsa-project.org>
Date:
2001
Mixer interface is designed to access mixer elements. Callbacks may be used for event handling.


Function Documentation

int snd_mixer_attach snd_mixer_t *    mixer,
const char *    name
 

Attach an HCTL to an opened mixer.

Parameters:
mixer  Mixer handle
name  HCTL name (see snd_hctl_open)
Returns:
0 on success otherwise a negative error code

int snd_mixer_class_register snd_mixer_class_t *    class,
snd_mixer_t *    mixer
 

Register mixer element class.

Parameters:
class  Mixer element class
mixer  Mixer handle
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

int snd_mixer_class_unregister snd_mixer_class_t *    class
 

Unregister mixer element class and remove all its elements.

Parameters:
class  Mixer element class
Returns:
0 on success otherwise a negative error code

int snd_mixer_close snd_mixer_t *    mixer
 

Close a mixer and free all related resources.

Parameters:
mixer  Mixer handle
Returns:
0 on success otherwise a negative error code

int snd_mixer_detach snd_mixer_t *    mixer,
const char *    name
 

Detach a previously attached HCTL to an opened mixer freeing all related resources.

Parameters:
mixer  Mixer handle
name  HCTL previously attached
Returns:
0 on success otherwise a negative error code

int snd_mixer_elem_add snd_mixer_elem_t *    elem,
snd_mixer_class_t *    class
 

Add an element for a registered mixer element class.

Parameters:
elem  Mixer element
class  Mixer element class
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

int snd_mixer_elem_attach snd_mixer_elem_t *    melem,
snd_hctl_elem_t   helem
 

Attach an HCTL element to a mixer element.

Parameters:
melem  Mixer element
helem  HCTL element
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

int snd_mixer_elem_detach snd_mixer_elem_t *    melem,
snd_hctl_elem_t   helem
 

Detach an HCTL element from a mixer element.

Parameters:
melem  Mixer element
helem  HCTL element
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

int snd_mixer_elem_empty snd_mixer_elem_t *    melem
 

Return true if a mixer element does not contain any HCTL elements.

Parameters:
melem  Mixer element
Returns:
0 if not empty, 1 if empty
For use by mixer element class specific code.

void* snd_mixer_elem_get_callback_private const snd_mixer_elem_t *    obj
 

Get callback private value for a mixer element.

Parameters:
obj  mixer element
Returns:
callback private value

snd_mixer_elem_type_t snd_mixer_elem_get_type const snd_mixer_elem_t *    obj
 

Get type for a mixer element.

Parameters:
obj  mixer element
Returns:
mixer element type

int snd_mixer_elem_info snd_mixer_elem_t *    elem
 

Mixer element informations are changed.

Parameters:
elem  Mixer element
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

snd_mixer_elem_t* snd_mixer_elem_next snd_mixer_elem_t *    elem
 

get next mixer element.

Parameters:
elem  mixer element
Returns:
pointer to next element

snd_mixer_elem_t* snd_mixer_elem_prev snd_mixer_elem_t *    elem
 

get previous mixer element.

Parameters:
elem  mixer element
Returns:
pointer to previous element

int snd_mixer_elem_remove snd_mixer_elem_t *    elem
 

Remove a mixer element.

Parameters:
elem  Mixer element
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

void snd_mixer_elem_set_callback snd_mixer_elem_t *    obj,
snd_mixer_elem_callback_t    val
 

Set callback function for a mixer element.

Parameters:
obj  mixer element
val  callback function

void snd_mixer_elem_set_callback_private snd_mixer_elem_t *    obj,
void *    val
 

Set callback private value for a mixer element.

Parameters:
obj  mixer element
val  callback private value

int snd_mixer_elem_value snd_mixer_elem_t *    elem
 

Mixer element values is changed.

Parameters:
elem  Mixer element
Returns:
0 on success otherwise a negative error code
For use by mixer element class specific code.

snd_mixer_elem_t* snd_mixer_first_elem snd_mixer_t *    mixer
 

get first element for a mixer.

Parameters:
mixer  Mixer handle
Returns:
pointer to first element

void snd_mixer_free snd_mixer_t *    mixer
 

Unload all mixer elements and free all related resources.

Parameters:
mixer  Mixer handle

void* snd_mixer_get_callback_private const snd_mixer_t *    obj
 

Get callback private value for a mixer.

Parameters:
mixer  mixer handle
Returns:
callback private value

unsigned int snd_mixer_get_count const snd_mixer_t *    obj
 

Get elements count for a mixer.

Parameters:
mixer  mixer handle
Returns:
elements count

int snd_mixer_handle_events snd_mixer_t *    mixer
 

Handle pending mixer events invoking callbacks.

Parameters:
mixer  Mixer handle
Returns:
0 otherwise a negative error code on failure

snd_mixer_elem_t* snd_mixer_last_elem snd_mixer_t *    mixer
 

get last element for a mixer.

Parameters:
mixer  Mixer handle
Returns:
pointer to last element

int snd_mixer_load snd_mixer_t *    mixer
 

Load a mixer elements.

Parameters:
mixer  Mixer handle
Returns:
0 on success otherwise a negative error code

int snd_mixer_open snd_mixer_t **    mixerp,
int mode    ATTRIBUTE_UNUSED
 

Opens an empty mixer.

Parameters:
mixerp  Returned mixer handle
mode  Open mode
Returns:
0 on success otherwise a negative error code

int snd_mixer_poll_descriptors snd_mixer_t *    mixer,
struct pollfd *    pfds,
unsigned int    space
 

get poll descriptors.

Parameters:
mixer  Mixer handle
pfds  array of poll descriptors
space  space in the poll descriptor array
Returns:
count of filled descriptors

int snd_mixer_poll_descriptors_count snd_mixer_t *    mixer
 

get count of poll descriptors for mixer handle.

Parameters:
mixer  Mixer handle
Returns:
count of poll descriptors

int snd_mixer_poll_descriptors_revents snd_mixer_t *    mixer,
struct pollfd *    pfds,
unsigned int    nfds,
unsigned short *    revents
 

get returned events from poll descriptors.

Parameters:
mixer  Mixer handle
pfds  array of poll descriptors
nfds  count of poll descriptors
revents  returned events
Returns:
zero if success, otherwise a negative error code

void snd_mixer_set_callback snd_mixer_t *    obj,
snd_mixer_callback_t    val
 

Set callback function for a mixer.

Parameters:
mixer  mixer handle
callback  callback function

void snd_mixer_set_callback_private snd_mixer_t *    obj,
void *    val
 

Set callback private value for a mixer.

Parameters:
mixer  mixer handle
callback_private  callback private value

int snd_mixer_set_compare snd_mixer_t *    mixer,
snd_mixer_compare_t    compare
 

Change mixer compare function and reorder elements.

Parameters:
mixer  Mixer handle
compare  Element compare function
Returns:
0 on success otherwise a negative error code

int snd_mixer_wait snd_mixer_t *    mixer,
int    timeout
 

Wait for a mixer to become ready (i.e. at least one event pending).

Parameters:
mixer  Mixer handle
timeout  maximum time in milliseconds to wait
Returns:
0 otherwise a negative error code on failure


Generated on Thu Feb 27 11:30:37 2003 for ALSA project - the C library reference by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002