Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > updates > by-pkgid > 18785641029f14f23cccc82925607ace > files > 88

libalsa2-docs-0.9.0-0.14rc7.1mdk.ppc.rpm

<!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> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindex" href="examples.html">Examples</a> &nbsp; </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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="mixer_8c.html#a18">snd_mixer_load</a> (snd_mixer_t *mixer)</td></tr>
<tr><td>&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="mixer_8c.html#a19">snd_mixer_free</a> (snd_mixer_t *mixer)</td></tr>
<tr><td>&nbsp;</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&nbsp;</td><td valign=bottom><a class="el" href="mixer_8c.html#a20">snd_mixer_close</a> (snd_mixer_t *mixer)</td></tr>
<tr><td>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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 *&nbsp;</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>&nbsp;</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 *&nbsp;</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>&nbsp;</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 *&nbsp;</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>&nbsp;</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 *&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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 *&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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 *&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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 &lt;<a href="mailto:perex@suse.cz">perex@suse.cz</a>&gt; , Abramo Bagnara &lt;<a href="mailto:abramo@alsa-project.org">abramo@alsa-project.org</a>&gt; </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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_class_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>class</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer element class </td></tr>
<tr><td valign=top><em>mixer</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_class_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>class</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>elem</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>snd_mixer_class_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>class</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer element </td></tr>
<tr><td valign=top><em>class</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <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> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>helem</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer element </td></tr>
<tr><td valign=top><em>helem</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <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> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>helem</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer element </td></tr>
<tr><td valign=top><em>helem</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>melem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">const snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">const snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>snd_mixer_elem_callback_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
mixer element </td></tr>
<tr><td valign=top><em>val</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
mixer element </td></tr>
<tr><td valign=top><em>val</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_elem_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>elem</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">const snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">const snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixerp</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int mode&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ATTRIBUTE_UNUSED</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Returned mixer handle </td></tr>
<tr><td valign=top><em>mode</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct pollfd *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pfds</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>space</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer handle </td></tr>
<tr><td valign=top><em>pfds</em>&nbsp;</td><td>
array of poll descriptors </td></tr>
<tr><td valign=top><em>space</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>mixer</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct pollfd *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pfds</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>nfds</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned short *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>revents</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer handle </td></tr>
<tr><td valign=top><em>pfds</em>&nbsp;</td><td>
array of poll descriptors </td></tr>
<tr><td valign=top><em>nfds</em>&nbsp;</td><td>
count of poll descriptors </td></tr>
<tr><td valign=top><em>revents</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>snd_mixer_callback_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
mixer handle </td></tr>
<tr><td valign=top><em>callback</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>obj</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
mixer handle </td></tr>
<tr><td valign=top><em>callback_private</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>snd_mixer_compare_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>compare</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer handle </td></tr>
<tr><td valign=top><em>compare</em>&nbsp;</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">(&nbsp;</td>
          <td class="md" nowrap valign="top">snd_mixer_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>mixer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>timeout</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </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>&nbsp;</td><td>
Mixer handle </td></tr>
<tr><td valign=top><em>timeout</em>&nbsp;</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 Wed Apr 2 16:06:34 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>