<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.7"/> <title>ALSA project - the C library reference: Mixer Interface</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ALSA project - the C library reference </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.7 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#groups">Modules</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Mixer Interface</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> Modules</h2></td></tr> <tr class="memitem:group___simple_mixer"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___simple_mixer.html">Simple Mixer Interface</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga040501051e4e4f8667caf0e89328702b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga040501051e4e4f8667caf0e89328702b">snd_mixer_class_alloca</a>(<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:ga040501051e4e4f8667caf0e89328702b"><td class="mdescLeft"> </td><td class="mdescRight">allocate an invalid <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> using standard alloca <a href="#ga040501051e4e4f8667caf0e89328702b">More...</a><br /></td></tr> <tr class="separator:ga040501051e4e4f8667caf0e89328702b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ga34161447bc01a64f578456ed13d57e33"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_mixer </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a></td></tr> <tr class="separator:ga34161447bc01a64f578456ed13d57e33"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga51c7b205d5afc62342d9dec3ce54d11f"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_mixer_class </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a></td></tr> <tr class="separator:ga51c7b205d5afc62342d9dec3ce54d11f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9bb5eb24e4feea6c1a04c79b77938ef9"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_mixer_elem </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a></td></tr> <tr class="separator:ga9bb5eb24e4feea6c1a04c79b77938ef9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9e108905ed4fa236faa49f003c002d95"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga9e108905ed4fa236faa49f003c002d95">snd_mixer_callback_t</a> )(<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *ctl, unsigned int mask, <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:ga9e108905ed4fa236faa49f003c002d95"><td class="mdescLeft"> </td><td class="mdescRight">Mixer callback function. <a href="#ga9e108905ed4fa236faa49f003c002d95">More...</a><br /></td></tr> <tr class="separator:ga9e108905ed4fa236faa49f003c002d95"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabb270fe0068703dee2df0caffa69498f"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gabb270fe0068703dee2df0caffa69498f">snd_mixer_elem_callback_t</a> )(<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem, unsigned int mask)</td></tr> <tr class="memdesc:gabb270fe0068703dee2df0caffa69498f"><td class="mdescLeft"> </td><td class="mdescRight">Mixer element callback function. <a href="#gabb270fe0068703dee2df0caffa69498f">More...</a><br /></td></tr> <tr class="separator:gabb270fe0068703dee2df0caffa69498f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae133dc10af535ebba0c717c23889f619"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> )(const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *e1, const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *e2)</td></tr> <tr class="memdesc:gae133dc10af535ebba0c717c23889f619"><td class="mdescLeft"> </td><td class="mdescRight">Compare function for sorting mixer elements. <a href="#gae133dc10af535ebba0c717c23889f619">More...</a><br /></td></tr> <tr class="separator:gae133dc10af535ebba0c717c23889f619"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacad1f279dc4c9dcd259293b3b38196ef"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gacad1f279dc4c9dcd259293b3b38196ef">snd_mixer_event_t</a> )(<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, unsigned int mask, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *helem, <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *melem)</td></tr> <tr class="memdesc:gacad1f279dc4c9dcd259293b3b38196ef"><td class="mdescLeft"> </td><td class="mdescRight">Event callback for the mixer class. <a href="#gacad1f279dc4c9dcd259293b3b38196ef">More...</a><br /></td></tr> <tr class="separator:gacad1f279dc4c9dcd259293b3b38196ef"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:ga18a15493e66cc90ab851e49161d28b4c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga18a15493e66cc90ab851e49161d28b4c">snd_mixer_elem_type_t</a> { <b>SND_MIXER_ELEM_SIMPLE</b>, <b>SND_MIXER_ELEM_LAST</b> = SND_MIXER_ELEM_SIMPLE }</td></tr> <tr class="separator:ga18a15493e66cc90ab851e49161d28b4c"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga240cfebce7d68f22875d76e99cf19394"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga240cfebce7d68f22875d76e99cf19394">snd_mixer_open</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> **mixer, int mode)</td></tr> <tr class="memdesc:ga240cfebce7d68f22875d76e99cf19394"><td class="mdescLeft"> </td><td class="mdescRight">Opens an empty mixer. <a href="#ga240cfebce7d68f22875d76e99cf19394">More...</a><br /></td></tr> <tr class="separator:ga240cfebce7d68f22875d76e99cf19394"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9deea3f628bf737001d968620cfd3b1a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga9deea3f628bf737001d968620cfd3b1a">snd_mixer_close</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:ga9deea3f628bf737001d968620cfd3b1a"><td class="mdescLeft"> </td><td class="mdescRight">Close a mixer and free all related resources. <a href="#ga9deea3f628bf737001d968620cfd3b1a">More...</a><br /></td></tr> <tr class="separator:ga9deea3f628bf737001d968620cfd3b1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaffccf51ddf8ecdc357b216cb979a2318"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gaffccf51ddf8ecdc357b216cb979a2318">snd_mixer_first_elem</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:gaffccf51ddf8ecdc357b216cb979a2318"><td class="mdescLeft"> </td><td class="mdescRight">get first element for a mixer <a href="#gaffccf51ddf8ecdc357b216cb979a2318">More...</a><br /></td></tr> <tr class="separator:gaffccf51ddf8ecdc357b216cb979a2318"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga51121b263ea3d3ee9367aabfd338ef11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga51121b263ea3d3ee9367aabfd338ef11">snd_mixer_last_elem</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:ga51121b263ea3d3ee9367aabfd338ef11"><td class="mdescLeft"> </td><td class="mdescRight">get last element for a mixer <a href="#ga51121b263ea3d3ee9367aabfd338ef11">More...</a><br /></td></tr> <tr class="separator:ga51121b263ea3d3ee9367aabfd338ef11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae0cfb6b50ec2493281107b0649f87cb8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gae0cfb6b50ec2493281107b0649f87cb8">snd_mixer_handle_events</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:gae0cfb6b50ec2493281107b0649f87cb8"><td class="mdescLeft"> </td><td class="mdescRight">Handle pending mixer events invoking callbacks. <a href="#gae0cfb6b50ec2493281107b0649f87cb8">More...</a><br /></td></tr> <tr class="separator:gae0cfb6b50ec2493281107b0649f87cb8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8c36e99e3d2ab0cb76a5acd203face45"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga8c36e99e3d2ab0cb76a5acd203face45">snd_mixer_attach</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, const char *name)</td></tr> <tr class="memdesc:ga8c36e99e3d2ab0cb76a5acd203face45"><td class="mdescLeft"> </td><td class="mdescRight">Attach an HCTL specified with the CTL device name to an opened mixer. <a href="#ga8c36e99e3d2ab0cb76a5acd203face45">More...</a><br /></td></tr> <tr class="separator:ga8c36e99e3d2ab0cb76a5acd203face45"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga01e5feeb925addfc245ce81c037b1397"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga01e5feeb925addfc245ce81c037b1397">snd_mixer_attach_hctl</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, <a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga01e5feeb925addfc245ce81c037b1397"><td class="mdescLeft"> </td><td class="mdescRight">Attach an HCTL to an opened mixer. <a href="#ga01e5feeb925addfc245ce81c037b1397">More...</a><br /></td></tr> <tr class="separator:ga01e5feeb925addfc245ce81c037b1397"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga99ca1c15d46d5f194a216d5e0a8e9229"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga99ca1c15d46d5f194a216d5e0a8e9229">snd_mixer_detach</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, const char *name)</td></tr> <tr class="memdesc:ga99ca1c15d46d5f194a216d5e0a8e9229"><td class="mdescLeft"> </td><td class="mdescRight">Detach a previously attached HCTL to an opened mixer freeing all related resources. <a href="#ga99ca1c15d46d5f194a216d5e0a8e9229">More...</a><br /></td></tr> <tr class="separator:ga99ca1c15d46d5f194a216d5e0a8e9229"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga63b6f8183e08a2b3e6bb83638828e8df"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga63b6f8183e08a2b3e6bb83638828e8df">snd_mixer_detach_hctl</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, <a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> *hctl)</td></tr> <tr class="memdesc:ga63b6f8183e08a2b3e6bb83638828e8df"><td class="mdescLeft"> </td><td class="mdescRight">Detach a previously attached HCTL to an opened mixer freeing all related resources. <a href="#ga63b6f8183e08a2b3e6bb83638828e8df">More...</a><br /></td></tr> <tr class="separator:ga63b6f8183e08a2b3e6bb83638828e8df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafbbaedd662ea57e573e09f39ca8b247c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gafbbaedd662ea57e573e09f39ca8b247c">snd_mixer_get_hctl</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, const char *name, <a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> **hctl)</td></tr> <tr class="memdesc:gafbbaedd662ea57e573e09f39ca8b247c"><td class="mdescLeft"> </td><td class="mdescRight">Obtain a HCTL pointer associated to given name. <a href="#gafbbaedd662ea57e573e09f39ca8b247c">More...</a><br /></td></tr> <tr class="separator:gafbbaedd662ea57e573e09f39ca8b247c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab3ee14782a19e6d62acbdcdb5f9f7786"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gab3ee14782a19e6d62acbdcdb5f9f7786">snd_mixer_poll_descriptors_count</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:gab3ee14782a19e6d62acbdcdb5f9f7786"><td class="mdescLeft"> </td><td class="mdescRight">get count of poll descriptors for mixer handle <a href="#gab3ee14782a19e6d62acbdcdb5f9f7786">More...</a><br /></td></tr> <tr class="separator:gab3ee14782a19e6d62acbdcdb5f9f7786"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga07f7bc33587907988aaffc03ce72367e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga07f7bc33587907988aaffc03ce72367e">snd_mixer_poll_descriptors</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, struct pollfd *pfds, unsigned int space)</td></tr> <tr class="memdesc:ga07f7bc33587907988aaffc03ce72367e"><td class="mdescLeft"> </td><td class="mdescRight">get poll descriptors <a href="#ga07f7bc33587907988aaffc03ce72367e">More...</a><br /></td></tr> <tr class="separator:ga07f7bc33587907988aaffc03ce72367e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab26686311756ee3c66e05766227df818"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gab26686311756ee3c66e05766227df818">snd_mixer_poll_descriptors_revents</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr> <tr class="memdesc:gab26686311756ee3c66e05766227df818"><td class="mdescLeft"> </td><td class="mdescRight">get returned events from poll descriptors <a href="#gab26686311756ee3c66e05766227df818">More...</a><br /></td></tr> <tr class="separator:gab26686311756ee3c66e05766227df818"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga24b6077528d04cb9fca072b3ae109aef"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga24b6077528d04cb9fca072b3ae109aef">snd_mixer_load</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:ga24b6077528d04cb9fca072b3ae109aef"><td class="mdescLeft"> </td><td class="mdescRight">Load a mixer elements. <a href="#ga24b6077528d04cb9fca072b3ae109aef">More...</a><br /></td></tr> <tr class="separator:ga24b6077528d04cb9fca072b3ae109aef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga93a71c28e82c04e4c732703e309910fd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga93a71c28e82c04e4c732703e309910fd">snd_mixer_free</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:ga93a71c28e82c04e4c732703e309910fd"><td class="mdescLeft"> </td><td class="mdescRight">Unload all mixer elements and free all related resources. <a href="#ga93a71c28e82c04e4c732703e309910fd">More...</a><br /></td></tr> <tr class="separator:ga93a71c28e82c04e4c732703e309910fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga072846849f4bc2058336fd6601f18a15"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga072846849f4bc2058336fd6601f18a15">snd_mixer_wait</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, int timeout)</td></tr> <tr class="memdesc:ga072846849f4bc2058336fd6601f18a15"><td class="mdescLeft"> </td><td class="mdescRight">Wait for a mixer to become ready (i.e. at least one event pending) <a href="#ga072846849f4bc2058336fd6601f18a15">More...</a><br /></td></tr> <tr class="separator:ga072846849f4bc2058336fd6601f18a15"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac7e1bbe5d5b69a6ee67d5bced6325a67"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gac7e1bbe5d5b69a6ee67d5bced6325a67">snd_mixer_set_compare</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer, <a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> msort)</td></tr> <tr class="memdesc:gac7e1bbe5d5b69a6ee67d5bced6325a67"><td class="mdescLeft"> </td><td class="mdescRight">Change mixer compare function and reorder elements. <a href="#gac7e1bbe5d5b69a6ee67d5bced6325a67">More...</a><br /></td></tr> <tr class="separator:gac7e1bbe5d5b69a6ee67d5bced6325a67"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga691a593ea0a32f9535fff83b00a0a574"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga691a593ea0a32f9535fff83b00a0a574">snd_mixer_set_callback</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *obj, <a class="el" href="group___mixer.html#ga9e108905ed4fa236faa49f003c002d95">snd_mixer_callback_t</a> val)</td></tr> <tr class="memdesc:ga691a593ea0a32f9535fff83b00a0a574"><td class="mdescLeft"> </td><td class="mdescRight">Set callback function for a mixer. <a href="#ga691a593ea0a32f9535fff83b00a0a574">More...</a><br /></td></tr> <tr class="separator:ga691a593ea0a32f9535fff83b00a0a574"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9cfc303fa34eb234efeb52151838f88b"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga9cfc303fa34eb234efeb52151838f88b">snd_mixer_get_callback_private</a> (const <a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *obj)</td></tr> <tr class="memdesc:ga9cfc303fa34eb234efeb52151838f88b"><td class="mdescLeft"> </td><td class="mdescRight">Get callback private value for a mixer. <a href="#ga9cfc303fa34eb234efeb52151838f88b">More...</a><br /></td></tr> <tr class="separator:ga9cfc303fa34eb234efeb52151838f88b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab91fc99ac65c866e660d4d8be0cb3e17"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gab91fc99ac65c866e660d4d8be0cb3e17">snd_mixer_set_callback_private</a> (<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *obj, void *val)</td></tr> <tr class="memdesc:gab91fc99ac65c866e660d4d8be0cb3e17"><td class="mdescLeft"> </td><td class="mdescRight">Set callback private value for a mixer. <a href="#gab91fc99ac65c866e660d4d8be0cb3e17">More...</a><br /></td></tr> <tr class="separator:gab91fc99ac65c866e660d4d8be0cb3e17"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3447c190c69cfce4c52df4ad3300e319"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga3447c190c69cfce4c52df4ad3300e319">snd_mixer_get_count</a> (const <a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *obj)</td></tr> <tr class="memdesc:ga3447c190c69cfce4c52df4ad3300e319"><td class="mdescLeft"> </td><td class="mdescRight">Get elements count for a mixer. <a href="#ga3447c190c69cfce4c52df4ad3300e319">More...</a><br /></td></tr> <tr class="separator:ga3447c190c69cfce4c52df4ad3300e319"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6a7bf3805fbbfc3f6f8243e91fbce5f6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga6a7bf3805fbbfc3f6f8243e91fbce5f6">snd_mixer_class_unregister</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *clss)</td></tr> <tr class="memdesc:ga6a7bf3805fbbfc3f6f8243e91fbce5f6"><td class="mdescLeft"> </td><td class="mdescRight">Unregister mixer element class and remove all its elements. <a href="#ga6a7bf3805fbbfc3f6f8243e91fbce5f6">More...</a><br /></td></tr> <tr class="separator:ga6a7bf3805fbbfc3f6f8243e91fbce5f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga68254228ef108122b8178087ea0fcc16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga68254228ef108122b8178087ea0fcc16">snd_mixer_elem_next</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:ga68254228ef108122b8178087ea0fcc16"><td class="mdescLeft"> </td><td class="mdescRight">get next mixer element <a href="#ga68254228ef108122b8178087ea0fcc16">More...</a><br /></td></tr> <tr class="separator:ga68254228ef108122b8178087ea0fcc16"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaf9a9dfe1d52f40df2be517621f9474a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gaaf9a9dfe1d52f40df2be517621f9474a">snd_mixer_elem_prev</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:gaaf9a9dfe1d52f40df2be517621f9474a"><td class="mdescLeft"> </td><td class="mdescRight">get previous mixer element <a href="#gaaf9a9dfe1d52f40df2be517621f9474a">More...</a><br /></td></tr> <tr class="separator:gaaf9a9dfe1d52f40df2be517621f9474a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga01e1fd766a313ce513f561bd03c98317"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga01e1fd766a313ce513f561bd03c98317">snd_mixer_elem_set_callback</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *obj, <a class="el" href="group___mixer.html#gabb270fe0068703dee2df0caffa69498f">snd_mixer_elem_callback_t</a> val)</td></tr> <tr class="memdesc:ga01e1fd766a313ce513f561bd03c98317"><td class="mdescLeft"> </td><td class="mdescRight">Set callback function for a mixer element. <a href="#ga01e1fd766a313ce513f561bd03c98317">More...</a><br /></td></tr> <tr class="separator:ga01e1fd766a313ce513f561bd03c98317"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga78c51ad2e60617137e47ad1d58b45916"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga78c51ad2e60617137e47ad1d58b45916">snd_mixer_elem_get_callback_private</a> (const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *obj)</td></tr> <tr class="memdesc:ga78c51ad2e60617137e47ad1d58b45916"><td class="mdescLeft"> </td><td class="mdescRight">Get callback private value for a mixer element. <a href="#ga78c51ad2e60617137e47ad1d58b45916">More...</a><br /></td></tr> <tr class="separator:ga78c51ad2e60617137e47ad1d58b45916"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4fb4ea11326c1cb1fdbf5dac0444507e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga4fb4ea11326c1cb1fdbf5dac0444507e">snd_mixer_elem_set_callback_private</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *obj, void *val)</td></tr> <tr class="memdesc:ga4fb4ea11326c1cb1fdbf5dac0444507e"><td class="mdescLeft"> </td><td class="mdescRight">Set callback private value for a mixer element. <a href="#ga4fb4ea11326c1cb1fdbf5dac0444507e">More...</a><br /></td></tr> <tr class="separator:ga4fb4ea11326c1cb1fdbf5dac0444507e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1083ba441bb93da13f79bc0cda226ea3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#ga18a15493e66cc90ab851e49161d28b4c">snd_mixer_elem_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga1083ba441bb93da13f79bc0cda226ea3">snd_mixer_elem_get_type</a> (const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *obj)</td></tr> <tr class="memdesc:ga1083ba441bb93da13f79bc0cda226ea3"><td class="mdescLeft"> </td><td class="mdescRight">Get type for a mixer element. <a href="#ga1083ba441bb93da13f79bc0cda226ea3">More...</a><br /></td></tr> <tr class="separator:ga1083ba441bb93da13f79bc0cda226ea3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga595cbd9394f85f9af4a6b30e748e3930"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga595cbd9394f85f9af4a6b30e748e3930">snd_mixer_class_register</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, <a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *mixer)</td></tr> <tr class="memdesc:ga595cbd9394f85f9af4a6b30e748e3930"><td class="mdescLeft"> </td><td class="mdescRight">Register mixer element class. <a href="#ga595cbd9394f85f9af4a6b30e748e3930">More...</a><br /></td></tr> <tr class="separator:ga595cbd9394f85f9af4a6b30e748e3930"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga226cf962e72b6132fd61cbd434b28941"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga226cf962e72b6132fd61cbd434b28941">snd_mixer_elem_new</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> **elem, <a class="el" href="group___mixer.html#ga18a15493e66cc90ab851e49161d28b4c">snd_mixer_elem_type_t</a> type, int compare_weight, void *private_data, void(*private_free)(<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem))</td></tr> <tr class="memdesc:ga226cf962e72b6132fd61cbd434b28941"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a new mixer element. <a href="#ga226cf962e72b6132fd61cbd434b28941">More...</a><br /></td></tr> <tr class="separator:ga226cf962e72b6132fd61cbd434b28941"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3b0e73914256f2125d2b7bb48d602457"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga3b0e73914256f2125d2b7bb48d602457">snd_mixer_elem_add</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem, <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_)</td></tr> <tr class="memdesc:ga3b0e73914256f2125d2b7bb48d602457"><td class="mdescLeft"> </td><td class="mdescRight">Add an element for a registered mixer element class. <a href="#ga3b0e73914256f2125d2b7bb48d602457">More...</a><br /></td></tr> <tr class="separator:ga3b0e73914256f2125d2b7bb48d602457"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacad36ead935e96f75fe44cf8dd4afa2a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gacad36ead935e96f75fe44cf8dd4afa2a">snd_mixer_elem_remove</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:gacad36ead935e96f75fe44cf8dd4afa2a"><td class="mdescLeft"> </td><td class="mdescRight">Remove a mixer element. <a href="#gacad36ead935e96f75fe44cf8dd4afa2a">More...</a><br /></td></tr> <tr class="separator:gacad36ead935e96f75fe44cf8dd4afa2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga40d8bf56621085d5ed5a7e92ad067e03"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga40d8bf56621085d5ed5a7e92ad067e03">snd_mixer_elem_free</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:ga40d8bf56621085d5ed5a7e92ad067e03"><td class="mdescLeft"> </td><td class="mdescRight">Free a mixer element. <a href="#ga40d8bf56621085d5ed5a7e92ad067e03">More...</a><br /></td></tr> <tr class="separator:ga40d8bf56621085d5ed5a7e92ad067e03"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae4a32f9d571201a2bf33a65340dc9afd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gae4a32f9d571201a2bf33a65340dc9afd">snd_mixer_elem_info</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:gae4a32f9d571201a2bf33a65340dc9afd"><td class="mdescLeft"> </td><td class="mdescRight">Mixer element informations are changed. <a href="#gae4a32f9d571201a2bf33a65340dc9afd">More...</a><br /></td></tr> <tr class="separator:gae4a32f9d571201a2bf33a65340dc9afd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0d23278769e37532f810cecf2ffffacb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga0d23278769e37532f810cecf2ffffacb">snd_mixer_elem_value</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td></tr> <tr class="memdesc:ga0d23278769e37532f810cecf2ffffacb"><td class="mdescLeft"> </td><td class="mdescRight">Mixer element values is changed. <a href="#ga0d23278769e37532f810cecf2ffffacb">More...</a><br /></td></tr> <tr class="separator:ga0d23278769e37532f810cecf2ffffacb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabe7f0255c9a981a6c73a8edf359781cc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gabe7f0255c9a981a6c73a8edf359781cc">snd_mixer_elem_attach</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *melem, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *helem)</td></tr> <tr class="memdesc:gabe7f0255c9a981a6c73a8edf359781cc"><td class="mdescLeft"> </td><td class="mdescRight">Attach an HCTL element to a mixer element. <a href="#gabe7f0255c9a981a6c73a8edf359781cc">More...</a><br /></td></tr> <tr class="separator:gabe7f0255c9a981a6c73a8edf359781cc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7413e8f80e2e556c75c6b9fc7d0598f9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga7413e8f80e2e556c75c6b9fc7d0598f9">snd_mixer_elem_detach</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *melem, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *helem)</td></tr> <tr class="memdesc:ga7413e8f80e2e556c75c6b9fc7d0598f9"><td class="mdescLeft"> </td><td class="mdescRight">Detach an HCTL element from a mixer element. <a href="#ga7413e8f80e2e556c75c6b9fc7d0598f9">More...</a><br /></td></tr> <tr class="separator:ga7413e8f80e2e556c75c6b9fc7d0598f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae0541b86ecfc094a172b4cd29bb70fd0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gae0541b86ecfc094a172b4cd29bb70fd0">snd_mixer_elem_empty</a> (<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *melem)</td></tr> <tr class="memdesc:gae0541b86ecfc094a172b4cd29bb70fd0"><td class="mdescLeft"> </td><td class="mdescRight">Return true if a mixer element does not contain any HCTL elements. <a href="#gae0541b86ecfc094a172b4cd29bb70fd0">More...</a><br /></td></tr> <tr class="separator:gae0541b86ecfc094a172b4cd29bb70fd0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4cfddf235c06ae83765ecfd45c5a95d0"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga4cfddf235c06ae83765ecfd45c5a95d0">snd_mixer_elem_get_private</a> (const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *melem)</td></tr> <tr class="memdesc:ga4cfddf235c06ae83765ecfd45c5a95d0"><td class="mdescLeft"> </td><td class="mdescRight">Get private data associated to give mixer element. <a href="#ga4cfddf235c06ae83765ecfd45c5a95d0">More...</a><br /></td></tr> <tr class="separator:ga4cfddf235c06ae83765ecfd45c5a95d0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa61b83017a92b67ea27a18777dcd141d"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gaa61b83017a92b67ea27a18777dcd141d">snd_mixer_class_sizeof</a> (void)</td></tr> <tr class="memdesc:gaa61b83017a92b67ea27a18777dcd141d"><td class="mdescLeft"> </td><td class="mdescRight">get size of <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> <a href="#gaa61b83017a92b67ea27a18777dcd141d">More...</a><br /></td></tr> <tr class="separator:gaa61b83017a92b67ea27a18777dcd141d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadc36fd49fdeccc37c41fc700d29adf39"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gadc36fd49fdeccc37c41fc700d29adf39">snd_mixer_class_malloc</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> **<a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a>)</td></tr> <tr class="memdesc:gadc36fd49fdeccc37c41fc700d29adf39"><td class="mdescLeft"> </td><td class="mdescRight">allocate an invalid <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> using standard malloc <a href="#gadc36fd49fdeccc37c41fc700d29adf39">More...</a><br /></td></tr> <tr class="separator:gadc36fd49fdeccc37c41fc700d29adf39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafef7028555b5c50b9bb072ba6d441ddb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gafef7028555b5c50b9bb072ba6d441ddb">snd_mixer_class_free</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *obj)</td></tr> <tr class="memdesc:gafef7028555b5c50b9bb072ba6d441ddb"><td class="mdescLeft"> </td><td class="mdescRight">frees a previously allocated <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> <a href="#gafef7028555b5c50b9bb072ba6d441ddb">More...</a><br /></td></tr> <tr class="separator:gafef7028555b5c50b9bb072ba6d441ddb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabaaa35c5538fec113fffdaff4cbed2fc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gabaaa35c5538fec113fffdaff4cbed2fc">snd_mixer_class_copy</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *dst, const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *src)</td></tr> <tr class="memdesc:gabaaa35c5538fec113fffdaff4cbed2fc"><td class="mdescLeft"> </td><td class="mdescRight">copy one <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> to another <a href="#gabaaa35c5538fec113fffdaff4cbed2fc">More...</a><br /></td></tr> <tr class="separator:gabaaa35c5538fec113fffdaff4cbed2fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga07e5edf36e361b3c1293ed14d2ef5b76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga07e5edf36e361b3c1293ed14d2ef5b76">snd_mixer_class_get_mixer</a> (const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_)</td></tr> <tr class="memdesc:ga07e5edf36e361b3c1293ed14d2ef5b76"><td class="mdescLeft"> </td><td class="mdescRight">Get a mixer associated to given mixer class. <a href="#ga07e5edf36e361b3c1293ed14d2ef5b76">More...</a><br /></td></tr> <tr class="separator:ga07e5edf36e361b3c1293ed14d2ef5b76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5744823b495ae331e7dd60f2abdf3589"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#gacad1f279dc4c9dcd259293b3b38196ef">snd_mixer_event_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga5744823b495ae331e7dd60f2abdf3589">snd_mixer_class_get_event</a> (const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_)</td></tr> <tr class="memdesc:ga5744823b495ae331e7dd60f2abdf3589"><td class="mdescLeft"> </td><td class="mdescRight">Get mixer event callback associated to given mixer class. <a href="#ga5744823b495ae331e7dd60f2abdf3589">More...</a><br /></td></tr> <tr class="separator:ga5744823b495ae331e7dd60f2abdf3589"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga95b50447f32262756143cd7d9e76997c"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#ga95b50447f32262756143cd7d9e76997c">snd_mixer_class_get_private</a> (const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_)</td></tr> <tr class="memdesc:ga95b50447f32262756143cd7d9e76997c"><td class="mdescLeft"> </td><td class="mdescRight">Get mixer private data associated to given mixer class. <a href="#ga95b50447f32262756143cd7d9e76997c">More...</a><br /></td></tr> <tr class="separator:ga95b50447f32262756143cd7d9e76997c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad7182d1d18653709bf26fc53a8b1a94f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gad7182d1d18653709bf26fc53a8b1a94f">snd_mixer_class_get_compare</a> (const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_)</td></tr> <tr class="memdesc:gad7182d1d18653709bf26fc53a8b1a94f"><td class="mdescLeft"> </td><td class="mdescRight">Get mixer compare callback associated to given mixer class. <a href="#gad7182d1d18653709bf26fc53a8b1a94f">More...</a><br /></td></tr> <tr class="separator:gad7182d1d18653709bf26fc53a8b1a94f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad0162769035880347ea9af0dbc518e79"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gad0162769035880347ea9af0dbc518e79">snd_mixer_class_set_event</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, <a class="el" href="group___mixer.html#gacad1f279dc4c9dcd259293b3b38196ef">snd_mixer_event_t</a> event)</td></tr> <tr class="memdesc:gad0162769035880347ea9af0dbc518e79"><td class="mdescLeft"> </td><td class="mdescRight">Set mixer event callback to given mixer class. <a href="#gad0162769035880347ea9af0dbc518e79">More...</a><br /></td></tr> <tr class="separator:gad0162769035880347ea9af0dbc518e79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf3b845bb0637fc59cacfe59ef29398d2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gaf3b845bb0637fc59cacfe59ef29398d2">snd_mixer_class_set_private</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, void *private_data)</td></tr> <tr class="memdesc:gaf3b845bb0637fc59cacfe59ef29398d2"><td class="mdescLeft"> </td><td class="mdescRight">Set mixer private data to given mixer class. <a href="#gaf3b845bb0637fc59cacfe59ef29398d2">More...</a><br /></td></tr> <tr class="separator:gaf3b845bb0637fc59cacfe59ef29398d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafe066ab71d568f7a616a587da7e3c1a5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gafe066ab71d568f7a616a587da7e3c1a5">snd_mixer_class_set_private_free</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, void(*private_free)(<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *))</td></tr> <tr class="memdesc:gafe066ab71d568f7a616a587da7e3c1a5"><td class="mdescLeft"> </td><td class="mdescRight">Set mixer private data free callback to given mixer class. <a href="#gafe066ab71d568f7a616a587da7e3c1a5">More...</a><br /></td></tr> <tr class="separator:gafe066ab71d568f7a616a587da7e3c1a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab389fb10998a950207001e3f8abead26"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___mixer.html#gab389fb10998a950207001e3f8abead26">snd_mixer_class_set_compare</a> (<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, <a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> compare)</td></tr> <tr class="memdesc:gab389fb10998a950207001e3f8abead26"><td class="mdescLeft"> </td><td class="mdescRight">Set mixer compare callback to given mixer class. <a href="#gab389fb10998a950207001e3f8abead26">More...</a><br /></td></tr> <tr class="separator:gab389fb10998a950207001e3f8abead26"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>The mixer interface. </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="ga040501051e4e4f8667caf0e89328702b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_mixer_class_alloca</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="seq__event_8h.html#add9af9569af79ec26dd741fb226b38ba">ptr</a></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>allocate an invalid <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> using standard alloca </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ptr</td><td>returned pointer </td></tr> </table> </dd> </dl> </div> </div> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="ga9e108905ed4fa236faa49f003c002d95"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_mixer_callback_t)(<a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> *ctl, unsigned int mask, <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem)</td> </tr> </table> </div><div class="memdoc"> <p>Mixer callback function. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">mask</td><td>event mask </td></tr> <tr><td class="paramname">elem</td><td>related mixer element (if any) </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga51c7b205d5afc62342d9dec3ce54d11f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_mixer_class <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Mixer elements class handle </p> </div> </div> <a class="anchor" id="gae133dc10af535ebba0c717c23889f619"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_mixer_compare_t)(const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *e1, const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *e2)</td> </tr> </table> </div><div class="memdoc"> <p>Compare function for sorting mixer elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">e1</td><td>First element </td></tr> <tr><td class="paramname">e2</td><td>Second element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>-1 if e1 < e2, 0 if e1 == e2, 1 if e1 > e2 </dd></dl> </div> </div> <a class="anchor" id="gabb270fe0068703dee2df0caffa69498f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_mixer_elem_callback_t)(<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem, unsigned int mask)</td> </tr> </table> </div><div class="memdoc"> <p>Mixer element callback function. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> <tr><td class="paramname">mask</td><td>event mask </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga9bb5eb24e4feea6c1a04c79b77938ef9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_mixer_elem <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Mixer element handle </p> </div> </div> <a class="anchor" id="gacad1f279dc4c9dcd259293b3b38196ef"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* snd_mixer_event_t)(<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *class_, unsigned int mask, <a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> *helem, <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *melem)</td> </tr> </table> </div><div class="memdoc"> <p>Event callback for the mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">class_</td><td>Mixer class </td></tr> <tr><td class="paramname">mask</td><td>Event mask (SND_CTL_EVENT_*) </td></tr> <tr><td class="paramname">helem</td><td>HCTL element which invoked the event </td></tr> <tr><td class="paramname">melem</td><td>Mixer element associated to HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error value </dd></dl> </div> </div> <a class="anchor" id="ga34161447bc01a64f578456ed13d57e33"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_mixer <a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Mixer handle </p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="ga18a15493e66cc90ab851e49161d28b4c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___mixer.html#ga18a15493e66cc90ab851e49161d28b4c">snd_mixer_elem_type_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Mixer element type </p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga8c36e99e3d2ab0cb76a5acd203face45"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_attach </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Attach an HCTL specified with the CTL device name to an opened mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">name</td><td>HCTL name (see <a class="el" href="group___h_control.html#ga2a86455eaad4f2730a936d06c62cca29" title="Opens an HCTL. ">snd_hctl_open</a>) </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga01e5feeb925addfc245ce81c037b1397"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_attach_hctl </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> * </td> <td class="paramname"><em>hctl</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Attach an HCTL to an opened mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">hctl</td><td>the HCTL to be attached </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gabaaa35c5538fec113fffdaff4cbed2fc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_class_copy </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>copy one <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> to another </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dst</td><td>pointer to destination </td></tr> <tr><td class="paramname">src</td><td>pointer to source </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gafef7028555b5c50b9bb072ba6d441ddb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_class_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>frees a previously allocated <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>pointer to object to free </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gad7182d1d18653709bf26fc53a8b1a94f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> snd_mixer_class_get_compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get mixer compare callback associated to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>event callback pointer </dd></dl> </div> </div> <a class="anchor" id="ga5744823b495ae331e7dd60f2abdf3589"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#gacad1f279dc4c9dcd259293b3b38196ef">snd_mixer_event_t</a> snd_mixer_class_get_event </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get mixer event callback associated to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>event callback pointer </dd></dl> </div> </div> <a class="anchor" id="ga07e5edf36e361b3c1293ed14d2ef5b76"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a>* snd_mixer_class_get_mixer </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get a mixer associated to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>mixer pointer </dd></dl> </div> </div> <a class="anchor" id="ga95b50447f32262756143cd7d9e76997c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* snd_mixer_class_get_private </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get mixer private data associated to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>event callback pointer </dd></dl> </div> </div> <a class="anchor" id="gadc36fd49fdeccc37c41fc700d29adf39"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_malloc </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> ** </td> <td class="paramname"><em>ptr</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>allocate an invalid <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> using standard malloc </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ptr</td><td>returned pointer </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise negative error code </dd></dl> </div> </div> <a class="anchor" id="ga595cbd9394f85f9af4a6b30e748e3930"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_register </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>class</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Register mixer element class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">class</td><td>Mixer element class </td></tr> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="gab389fb10998a950207001e3f8abead26"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_set_compare </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> </td> <td class="paramname"><em>compare</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set mixer compare callback to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> <tr><td class="paramname">compare</td><td>the compare callback to be used </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gad0162769035880347ea9af0dbc518e79"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_set_event </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#gacad1f279dc4c9dcd259293b3b38196ef">snd_mixer_event_t</a> </td> <td class="paramname"><em>event</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set mixer event callback to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> <tr><td class="paramname">event</td><td>Event callback </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gaf3b845bb0637fc59cacfe59ef29398d2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_set_private </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>private_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set mixer private data to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> <tr><td class="paramname">private_data</td><td>class private data </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gafe066ab71d568f7a616a587da7e3c1a5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_set_private_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void(*)(<a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> *) </td> <td class="paramname"><em>private_free</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set mixer private data free callback to given mixer class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>Mixer simple class identifier </td></tr> <tr><td class="paramname">private_free</td><td>Mixer class private data free callback </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gaa61b83017a92b67ea27a18777dcd141d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t snd_mixer_class_sizeof </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get size of <a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> </p> <dl class="section return"><dt>Returns</dt><dd>size in bytes </dd></dl> </div> </div> <a class="anchor" id="ga6a7bf3805fbbfc3f6f8243e91fbce5f6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_class_unregister </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>class</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Unregister mixer element class and remove all its elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">class</td><td>Mixer element class </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Note that the class structure is also deallocated! </p> </div> </div> <a class="anchor" id="ga9deea3f628bf737001d968620cfd3b1a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_close </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Close a mixer and free all related resources. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga99ca1c15d46d5f194a216d5e0a8e9229"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_detach </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Detach a previously attached HCTL to an opened mixer freeing all related resources. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">name</td><td>HCTL previously attached </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga63b6f8183e08a2b3e6bb83638828e8df"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_detach_hctl </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> * </td> <td class="paramname"><em>hctl</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Detach a previously attached HCTL to an opened mixer freeing all related resources. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">hctl</td><td>HCTL previously attached </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Note: The hctl handle is not closed! </p> </div> </div> <a class="anchor" id="ga3b0e73914256f2125d2b7bb48d602457"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_add </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#ga51c7b205d5afc62342d9dec3ce54d11f">snd_mixer_class_t</a> * </td> <td class="paramname"><em>class</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Add an element for a registered mixer element class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> <tr><td class="paramname">class</td><td>Mixer element class </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="gabe7f0255c9a981a6c73a8edf359781cc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_attach </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>melem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td> <td class="paramname"><em>helem</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Attach an HCTL element to a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">melem</td><td>Mixer element </td></tr> <tr><td class="paramname">helem</td><td>HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga7413e8f80e2e556c75c6b9fc7d0598f9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_detach </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>melem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___h_control.html#gaddfb152863e87857d463c7008d72ad74">snd_hctl_elem_t</a> * </td> <td class="paramname"><em>helem</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Detach an HCTL element from a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">melem</td><td>Mixer element </td></tr> <tr><td class="paramname">helem</td><td>HCTL element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="gae0541b86ecfc094a172b4cd29bb70fd0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_empty </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>melem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return true if a mixer element does not contain any HCTL elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">melem</td><td>Mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 if not empty, 1 if empty</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga40d8bf56621085d5ed5a7e92ad067e03"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_elem_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Free a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga78c51ad2e60617137e47ad1d58b45916"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* snd_mixer_elem_get_callback_private </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get callback private value for a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>callback private value </dd></dl> </div> </div> <a class="anchor" id="ga4cfddf235c06ae83765ecfd45c5a95d0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* snd_mixer_elem_get_private </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get private data associated to give mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>private data</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga1083ba441bb93da13f79bc0cda226ea3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#ga18a15493e66cc90ab851e49161d28b4c">snd_mixer_elem_type_t</a> snd_mixer_elem_get_type </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get type for a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>mixer element type </dd></dl> </div> </div> <a class="anchor" id="gae4a32f9d571201a2bf33a65340dc9afd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_info </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Mixer element informations are changed. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga226cf962e72b6132fd61cbd434b28941"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_new </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> ** </td> <td class="paramname"><em>elem</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#ga18a15493e66cc90ab851e49161d28b4c">snd_mixer_elem_type_t</a> </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>compare_weight</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>private_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void(*)(<a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> *elem) </td> <td class="paramname"><em>private_free</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Allocate a new mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Returned mixer element </td></tr> <tr><td class="paramname">type</td><td>Mixer element type </td></tr> <tr><td class="paramname">compare_weight</td><td>Mixer element compare weight </td></tr> <tr><td class="paramname">private_data</td><td>Private data </td></tr> <tr><td class="paramname">private_free</td><td>Private data free callback </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga68254228ef108122b8178087ea0fcc16"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a>* snd_mixer_elem_next </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get next mixer element </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to next element </dd></dl> </div> </div> <a class="anchor" id="gaaf9a9dfe1d52f40df2be517621f9474a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a>* snd_mixer_elem_prev </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get previous mixer element </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to previous element </dd></dl> </div> </div> <a class="anchor" id="gacad36ead935e96f75fe44cf8dd4afa2a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_remove </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Remove a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="ga01e1fd766a313ce513f561bd03c98317"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_elem_set_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#gabb270fe0068703dee2df0caffa69498f">snd_mixer_elem_callback_t</a> </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback function for a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer element </td></tr> <tr><td class="paramname">val</td><td>callback function </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga4fb4ea11326c1cb1fdbf5dac0444507e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_elem_set_callback_private </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback private value for a mixer element. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer element </td></tr> <tr><td class="paramname">val</td><td>callback private value </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga0d23278769e37532f810cecf2ffffacb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_elem_value </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a> * </td> <td class="paramname"><em>elem</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Mixer element values is changed. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">elem</td><td>Mixer element </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For use by mixer element class specific code. </p> </div> </div> <a class="anchor" id="gaffccf51ddf8ecdc357b216cb979a2318"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a>* snd_mixer_first_elem </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get first element for a mixer </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to first element </dd></dl> </div> </div> <a class="anchor" id="ga93a71c28e82c04e4c732703e309910fd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Unload all mixer elements and free all related resources. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga9cfc303fa34eb234efeb52151838f88b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* snd_mixer_get_callback_private </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get callback private value for a mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>callback private value </dd></dl> </div> </div> <a class="anchor" id="ga3447c190c69cfce4c52df4ad3300e319"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int snd_mixer_get_count </td> <td>(</td> <td class="paramtype">const <a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get elements count for a mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>elements count </dd></dl> </div> </div> <a class="anchor" id="gafbbaedd662ea57e573e09f39ca8b247c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_get_hctl </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___h_control.html#ga13c9ad52c57ab7db06065a7f806b2369">snd_hctl_t</a> ** </td> <td class="paramname"><em>hctl</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Obtain a HCTL pointer associated to given name. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">name</td><td>HCTL previously attached </td></tr> <tr><td class="paramname">hctl</td><td>HCTL pointer </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gae0cfb6b50ec2493281107b0649f87cb8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_handle_events </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Handle pending mixer events invoking callbacks. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Number of events that occured on success, otherwise a negative error code on failure </dd></dl> </div> </div> <a class="anchor" id="ga51121b263ea3d3ee9367aabfd338ef11"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___mixer.html#ga9bb5eb24e4feea6c1a04c79b77938ef9">snd_mixer_elem_t</a>* snd_mixer_last_elem </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get last element for a mixer </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>pointer to last element </dd></dl> </div> </div> <a class="anchor" id="ga24b6077528d04cb9fca072b3ae109aef"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_load </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Load a mixer elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga240cfebce7d68f22875d76e99cf19394"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_open </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> ** </td> <td class="paramname"><em>mixerp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Opens an empty mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixerp</td><td>Returned mixer handle </td></tr> <tr><td class="paramname">mode</td><td>Open mode </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga07f7bc33587907988aaffc03ce72367e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_poll_descriptors </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct pollfd * </td> <td class="paramname"><em>pfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>space</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>get poll descriptors </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr> <tr><td class="paramname">space</td><td>space in the poll descriptor array </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>count of filled descriptors </dd></dl> </div> </div> <a class="anchor" id="gab3ee14782a19e6d62acbdcdb5f9f7786"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_poll_descriptors_count </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get count of poll descriptors for mixer handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>count of poll descriptors </dd></dl> </div> </div> <a class="anchor" id="gab26686311756ee3c66e05766227df818"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_poll_descriptors_revents </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct pollfd * </td> <td class="paramname"><em>pfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>nfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short * </td> <td class="paramname"><em>revents</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>get returned events from poll descriptors </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr> <tr><td class="paramname">nfds</td><td>count of poll descriptors </td></tr> <tr><td class="paramname">revents</td><td>returned events </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga691a593ea0a32f9535fff83b00a0a574"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_set_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>obj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#ga9e108905ed4fa236faa49f003c002d95">snd_mixer_callback_t</a> </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback function for a mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">obj</td><td>mixer handle </td></tr> <tr><td class="paramname">val</td><td>callback function </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gab91fc99ac65c866e660d4d8be0cb3e17"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_mixer_set_callback_private </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set callback private value for a mixer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>mixer handle </td></tr> <tr><td class="paramname">val</td><td>callback private value </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gac7e1bbe5d5b69a6ee67d5bced6325a67"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_set_compare </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___mixer.html#gae133dc10af535ebba0c717c23889f619">snd_mixer_compare_t</a> </td> <td class="paramname"><em>compare</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Change mixer compare function and reorder elements. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">compare</td><td>Element compare function </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga072846849f4bc2058336fd6601f18a15"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_mixer_wait </td> <td>(</td> <td class="paramtype"><a class="el" href="group___mixer.html#ga34161447bc01a64f578456ed13d57e33">snd_mixer_t</a> * </td> <td class="paramname"><em>mixer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>timeout</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Wait for a mixer to become ready (i.e. at least one event pending) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">mixer</td><td>Mixer handle </td></tr> <tr><td class="paramname">timeout</td><td>maximum time in milliseconds to wait </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Jun 18 2014 05:47:50 for ALSA project - the C library reference by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.7 </small></address> </body> </html>