<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>mixer.c File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.18 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center> <hr><h1>mixer.c File Reference</h1>Mixer Interface. <a href="#_details">More...</a> <p> <table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Functions</h2></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a1">snd_mixer_open</a> (snd_mixer_t **mixerp, int mode ATTRIBUTE_UNUSED)</td></tr> <tr><td> </td><td><font size=-1><em>Opens an empty mixer.</em> <a href="#a1"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a2">snd_mixer_elem_attach</a> (snd_mixer_elem_t *melem, <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *helem)</td></tr> <tr><td> </td><td><font size=-1><em>Attach an HCTL element to a mixer element.</em> <a href="#a2"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a3">snd_mixer_elem_detach</a> (snd_mixer_elem_t *melem, <a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> *helem)</td></tr> <tr><td> </td><td><font size=-1><em>Detach an HCTL element from a mixer element.</em> <a href="#a3"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a4">snd_mixer_elem_empty</a> (snd_mixer_elem_t *melem)</td></tr> <tr><td> </td><td><font size=-1><em>Return true if a mixer element does not contain any HCTL elements.</em> <a href="#a4"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a7">snd_mixer_attach</a> (snd_mixer_t *mixer, const char *name)</td></tr> <tr><td> </td><td><font size=-1><em>Attach an HCTL to an opened mixer.</em> <a href="#a7"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a8">snd_mixer_detach</a> (snd_mixer_t *mixer, const char *name)</td></tr> <tr><td> </td><td><font size=-1><em>Detach a previously attached HCTL to an opened mixer freeing all related resources.</em> <a href="#a8"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a12">snd_mixer_elem_add</a> (snd_mixer_elem_t *elem, snd_mixer_class_t *class)</td></tr> <tr><td> </td><td><font size=-1><em>Add an element for a registered mixer element class.</em> <a href="#a12"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a13">snd_mixer_elem_remove</a> (snd_mixer_elem_t *elem)</td></tr> <tr><td> </td><td><font size=-1><em>Remove a mixer element.</em> <a href="#a13"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a14">snd_mixer_elem_info</a> (snd_mixer_elem_t *elem)</td></tr> <tr><td> </td><td><font size=-1><em>Mixer element informations are changed.</em> <a href="#a14"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a15">snd_mixer_elem_value</a> (snd_mixer_elem_t *elem)</td></tr> <tr><td> </td><td><font size=-1><em>Mixer element values is changed.</em> <a href="#a15"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a16">snd_mixer_class_register</a> (snd_mixer_class_t *class, snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>Register mixer element class.</em> <a href="#a16"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a17">snd_mixer_class_unregister</a> (snd_mixer_class_t *class)</td></tr> <tr><td> </td><td><font size=-1><em>Unregister mixer element class and remove all its elements.</em> <a href="#a17"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a18">snd_mixer_load</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>Load a mixer elements.</em> <a href="#a18"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="mixer_8c.html#a19">snd_mixer_free</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>Unload all mixer elements and free all related resources.</em> <a href="#a19"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a20">snd_mixer_close</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>Close a mixer and free all related resources.</em> <a href="#a20"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a22">snd_mixer_set_compare</a> (snd_mixer_t *mixer, snd_mixer_compare_t compare)</td></tr> <tr><td> </td><td><font size=-1><em>Change mixer compare function and reorder elements.</em> <a href="#a22"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a23">snd_mixer_poll_descriptors_count</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>get count of poll descriptors for mixer handle</em> <a href="#a23"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a24">snd_mixer_poll_descriptors</a> (snd_mixer_t *mixer, struct pollfd *pfds, unsigned int space)</td></tr> <tr><td> </td><td><font size=-1><em>get poll descriptors</em> <a href="#a24"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a25">snd_mixer_poll_descriptors_revents</a> (snd_mixer_t *mixer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr> <tr><td> </td><td><font size=-1><em>get returned events from poll descriptors</em> <a href="#a25"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a26">snd_mixer_wait</a> (snd_mixer_t *mixer, int timeout)</td></tr> <tr><td> </td><td><font size=-1><em>Wait for a mixer to become ready (i.e. at least one event pending).</em> <a href="#a26"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>snd_mixer_elem_t * </td><td valign=bottom><a class="el" href="mixer_8c.html#a27">snd_mixer_first_elem</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>get first element for a mixer</em> <a href="#a27"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>snd_mixer_elem_t * </td><td valign=bottom><a class="el" href="mixer_8c.html#a28">snd_mixer_last_elem</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>get last element for a mixer</em> <a href="#a28"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>snd_mixer_elem_t * </td><td valign=bottom><a class="el" href="mixer_8c.html#a29">snd_mixer_elem_next</a> (snd_mixer_elem_t *elem)</td></tr> <tr><td> </td><td><font size=-1><em>get next mixer element</em> <a href="#a29"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>snd_mixer_elem_t * </td><td valign=bottom><a class="el" href="mixer_8c.html#a30">snd_mixer_elem_prev</a> (snd_mixer_elem_t *elem)</td></tr> <tr><td> </td><td><font size=-1><em>get previous mixer element</em> <a href="#a30"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="mixer_8c.html#a31">snd_mixer_handle_events</a> (snd_mixer_t *mixer)</td></tr> <tr><td> </td><td><font size=-1><em>Handle pending mixer events invoking callbacks.</em> <a href="#a31"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="mixer_8c.html#a32">snd_mixer_set_callback</a> (snd_mixer_t *obj, snd_mixer_callback_t val)</td></tr> <tr><td> </td><td><font size=-1><em>Set callback function for a mixer.</em> <a href="#a32"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="mixer_8c.html#a33">snd_mixer_set_callback_private</a> (snd_mixer_t *obj, void *val)</td></tr> <tr><td> </td><td><font size=-1><em>Set callback private value for a mixer.</em> <a href="#a33"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void * </td><td valign=bottom><a class="el" href="mixer_8c.html#a34">snd_mixer_get_callback_private</a> (const snd_mixer_t *obj)</td></tr> <tr><td> </td><td><font size=-1><em>Get callback private value for a mixer.</em> <a href="#a34"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>unsigned int </td><td valign=bottom><a class="el" href="mixer_8c.html#a35">snd_mixer_get_count</a> (const snd_mixer_t *obj)</td></tr> <tr><td> </td><td><font size=-1><em>Get elements count for a mixer.</em> <a href="#a35"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="mixer_8c.html#a36">snd_mixer_elem_set_callback</a> (snd_mixer_elem_t *obj, snd_mixer_elem_callback_t val)</td></tr> <tr><td> </td><td><font size=-1><em>Set callback function for a mixer element.</em> <a href="#a36"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="mixer_8c.html#a37">snd_mixer_elem_set_callback_private</a> (snd_mixer_elem_t *obj, void *val)</td></tr> <tr><td> </td><td><font size=-1><em>Set callback private value for a mixer element.</em> <a href="#a37"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void * </td><td valign=bottom><a class="el" href="mixer_8c.html#a38">snd_mixer_elem_get_callback_private</a> (const snd_mixer_elem_t *obj)</td></tr> <tr><td> </td><td><font size=-1><em>Get callback private value for a mixer element.</em> <a href="#a38"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>snd_mixer_elem_type_t </td><td valign=bottom><a class="el" href="mixer_8c.html#a39">snd_mixer_elem_get_type</a> (const snd_mixer_elem_t *obj)</td></tr> <tr><td> </td><td><font size=-1><em>Get type for a mixer element.</em> <a href="#a39"></a><em></em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Mixer Interface. <p> <p> <dl compact><dt><b>Author: </b></dt><dd> Jaroslav Kysela <<a href="mailto:perex@suse.cz">perex@suse.cz</a>> , Abramo Bagnara <<a href="mailto:abramo@alsa-project.org">abramo@alsa-project.org</a>> </dl><dl compact><dt><b>Date: </b></dt><dd> 2001</dl>Mixer interface is designed to access mixer elements. Callbacks may be used for event handling. <p> <hr><h2>Function Documentation</h2> <a name="a7" doxytag="mixer.c::snd_mixer_attach"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_attach </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>name</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Attach an HCTL to an opened mixer. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> <tr><td valign=top><em>name</em> </td><td> HCTL name (see <a class="el" href="hcontrol_8c.html#a1">snd_hctl_open</a>) </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a16" doxytag="mixer.c::snd_mixer_class_register"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_class_register </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_class_t * </td> <td class="mdname" nowrap> <em>class</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Register mixer element class. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>class</em> </td><td> Mixer element class </td></tr> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a17" doxytag="mixer.c::snd_mixer_class_unregister"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_class_unregister </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_class_t * </td> <td class="mdname1" valign="top" nowrap> <em>class</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Unregister mixer element class and remove all its elements. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>class</em> </td><td> Mixer element class </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a20" doxytag="mixer.c::snd_mixer_close"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_close </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Close a mixer and free all related resources. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a8" doxytag="mixer.c::snd_mixer_detach"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_detach </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>name</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Detach a previously attached HCTL to an opened mixer freeing all related resources. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> <tr><td valign=top><em>name</em> </td><td> HCTL previously attached </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a12" doxytag="mixer.c::snd_mixer_elem_add"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_add </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname" nowrap> <em>elem</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>snd_mixer_class_t * </td> <td class="mdname" nowrap> <em>class</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Add an element for a registered mixer element class. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>elem</em> </td><td> Mixer element </td></tr> <tr><td valign=top><em>class</em> </td><td> Mixer element class </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a2" doxytag="mixer.c::snd_mixer_elem_attach"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_attach </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname" nowrap> <em>melem</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> * </td> <td class="mdname" nowrap> <em>helem</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Attach an HCTL element to a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>melem</em> </td><td> Mixer element </td></tr> <tr><td valign=top><em>helem</em> </td><td> HCTL element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a3" doxytag="mixer.c::snd_mixer_elem_detach"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_detach </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname" nowrap> <em>melem</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___h_control.html#a0">snd_hctl_elem_t</a> * </td> <td class="mdname" nowrap> <em>helem</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Detach an HCTL element from a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>melem</em> </td><td> Mixer element </td></tr> <tr><td valign=top><em>helem</em> </td><td> HCTL element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a4" doxytag="mixer.c::snd_mixer_elem_empty"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_empty </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>melem</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Return true if a mixer element does not contain any HCTL elements. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>melem</em> </td><td> Mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 if not empty, 1 if empty</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a38" doxytag="mixer.c::snd_mixer_elem_get_callback_private"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void* snd_mixer_elem_get_callback_private </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Get callback private value for a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>obj</em> </td><td> mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> callback private value </dl> </td> </tr> </table> <a name="a39" doxytag="mixer.c::snd_mixer_elem_get_type"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> snd_mixer_elem_type_t snd_mixer_elem_get_type </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Get type for a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>obj</em> </td><td> mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> mixer element type </dl> </td> </tr> </table> <a name="a14" doxytag="mixer.c::snd_mixer_elem_info"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_info </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>elem</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Mixer element informations are changed. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>elem</em> </td><td> Mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a29" doxytag="mixer.c::snd_mixer_elem_next"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> snd_mixer_elem_t* snd_mixer_elem_next </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>elem</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get next mixer element <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>elem</em> </td><td> mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> pointer to next element </dl> </td> </tr> </table> <a name="a30" doxytag="mixer.c::snd_mixer_elem_prev"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> snd_mixer_elem_t* snd_mixer_elem_prev </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>elem</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get previous mixer element <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>elem</em> </td><td> mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> pointer to previous element </dl> </td> </tr> </table> <a name="a13" doxytag="mixer.c::snd_mixer_elem_remove"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_remove </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>elem</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Remove a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>elem</em> </td><td> Mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a36" doxytag="mixer.c::snd_mixer_elem_set_callback"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_mixer_elem_set_callback </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname" nowrap> <em>obj</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>snd_mixer_elem_callback_t </td> <td class="mdname" nowrap> <em>val</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set callback function for a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>obj</em> </td><td> mixer element </td></tr> <tr><td valign=top><em>val</em> </td><td> callback function </td></tr> </table> </dl> </td> </tr> </table> <a name="a37" doxytag="mixer.c::snd_mixer_elem_set_callback_private"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_mixer_elem_set_callback_private </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname" nowrap> <em>obj</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>val</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set callback private value for a mixer element. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>obj</em> </td><td> mixer element </td></tr> <tr><td valign=top><em>val</em> </td><td> callback private value </td></tr> </table> </dl> </td> </tr> </table> <a name="a15" doxytag="mixer.c::snd_mixer_elem_value"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_elem_value </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_elem_t * </td> <td class="mdname1" valign="top" nowrap> <em>elem</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Mixer element values is changed. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>elem</em> </td><td> Mixer element </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code</dl>For use by mixer element class specific code. </td> </tr> </table> <a name="a27" doxytag="mixer.c::snd_mixer_first_elem"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> snd_mixer_elem_t* snd_mixer_first_elem </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get first element for a mixer <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> pointer to first element </dl> </td> </tr> </table> <a name="a19" doxytag="mixer.c::snd_mixer_free"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_mixer_free </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Unload all mixer elements and free all related resources. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl> </td> </tr> </table> <a name="a34" doxytag="mixer.c::snd_mixer_get_callback_private"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void* snd_mixer_get_callback_private </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Get callback private value for a mixer. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> callback private value </dl> </td> </tr> </table> <a name="a35" doxytag="mixer.c::snd_mixer_get_count"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> unsigned int snd_mixer_get_count </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Get elements count for a mixer. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> elements count </dl> </td> </tr> </table> <a name="a31" doxytag="mixer.c::snd_mixer_handle_events"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_handle_events </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Handle pending mixer events invoking callbacks. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 otherwise a negative error code on failure </dl> </td> </tr> </table> <a name="a28" doxytag="mixer.c::snd_mixer_last_elem"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> snd_mixer_elem_t* snd_mixer_last_elem </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get last element for a mixer <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> pointer to last element </dl> </td> </tr> </table> <a name="a18" doxytag="mixer.c::snd_mixer_load"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_load </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Load a mixer elements. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a1" doxytag="mixer.c::snd_mixer_open"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_open </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t ** </td> <td class="mdname" nowrap> <em>mixerp</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int mode </td> <td class="mdname" nowrap> <em>ATTRIBUTE_UNUSED</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Opens an empty mixer. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixerp</em> </td><td> Returned mixer handle </td></tr> <tr><td valign=top><em>mode</em> </td><td> Open mode </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a24" doxytag="mixer.c::snd_mixer_poll_descriptors"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_poll_descriptors </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct pollfd * </td> <td class="mdname" nowrap> <em>pfds</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>space</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get poll descriptors <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> <tr><td valign=top><em>pfds</em> </td><td> array of poll descriptors </td></tr> <tr><td valign=top><em>space</em> </td><td> space in the poll descriptor array </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> count of filled descriptors </dl> </td> </tr> </table> <a name="a23" doxytag="mixer.c::snd_mixer_poll_descriptors_count"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_poll_descriptors_count </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname1" valign="top" nowrap> <em>mixer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get count of poll descriptors for mixer handle <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> count of poll descriptors </dl> </td> </tr> </table> <a name="a25" doxytag="mixer.c::snd_mixer_poll_descriptors_revents"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_poll_descriptors_revents </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct pollfd * </td> <td class="mdname" nowrap> <em>pfds</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>nfds</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned short * </td> <td class="mdname" nowrap> <em>revents</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> get returned events from poll descriptors <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> <tr><td valign=top><em>pfds</em> </td><td> array of poll descriptors </td></tr> <tr><td valign=top><em>nfds</em> </td><td> count of poll descriptors </td></tr> <tr><td valign=top><em>revents</em> </td><td> returned events </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero if success, otherwise a negative error code </dl> </td> </tr> </table> <a name="a32" doxytag="mixer.c::snd_mixer_set_callback"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_mixer_set_callback </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>obj</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>snd_mixer_callback_t </td> <td class="mdname" nowrap> <em>val</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set callback function for a mixer. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> mixer handle </td></tr> <tr><td valign=top><em>callback</em> </td><td> callback function </td></tr> </table> </dl> </td> </tr> </table> <a name="a33" doxytag="mixer.c::snd_mixer_set_callback_private"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void snd_mixer_set_callback_private </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>obj</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>val</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set callback private value for a mixer. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> mixer handle </td></tr> <tr><td valign=top><em>callback_private</em> </td><td> callback private value </td></tr> </table> </dl> </td> </tr> </table> <a name="a22" doxytag="mixer.c::snd_mixer_set_compare"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_set_compare </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>snd_mixer_compare_t </td> <td class="mdname" nowrap> <em>compare</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Change mixer compare function and reorder elements. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> <tr><td valign=top><em>compare</em> </td><td> Element compare function </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success otherwise a negative error code </dl> </td> </tr> </table> <a name="a26" doxytag="mixer.c::snd_mixer_wait"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int snd_mixer_wait </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">snd_mixer_t * </td> <td class="mdname" nowrap> <em>mixer</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>timeout</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Wait for a mixer to become ready (i.e. at least one event pending). <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>mixer</em> </td><td> Mixer handle </td></tr> <tr><td valign=top><em>timeout</em> </td><td> maximum time in milliseconds to wait </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 otherwise a negative error code on failure </dl> </td> </tr> </table> <hr><address style="align: right;"><small>Generated on Thu Feb 20 16:45:44 2003 for ALSA project - the C library reference by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address> </body> </html>