<!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: Sequencer Event Type Checks</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="#define-members">Macros</a> | <a href="#enum-members">Enumerations</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">Sequencer Event Type Checks<div class="ingroups"><a class="el" href="group___sequencer.html">MIDI Sequencer</a></div></div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga4751ac8b4272b1439408afc963a49636"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(x)   (1<<(x))</td></tr> <tr class="separator:ga4751ac8b4272b1439408afc963a49636"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadc21b59998d0cf1473c0fe1b6b863b71"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gadc21b59998d0cf1473c0fe1b6b863b71">_SND_SEQ_TYPE_OPT</a>(x)   ((x)<<24)</td></tr> <tr class="separator:gadc21b59998d0cf1473c0fe1b6b863b71"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf2830d00d1641fd9311364f2a3521485"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, x)   (<a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a>[(ev)->type] & <a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(x))</td></tr> <tr class="separator:gaf2830d00d1641fd9311364f2a3521485"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8f90579f79cee4d8b29b1d10114373ea"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga8f90579f79cee4d8b29b1d10114373ea">snd_seq_ev_is_result_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_RESULT)</td></tr> <tr class="separator:ga8f90579f79cee4d8b29b1d10114373ea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9a27965148074e206c3143dbb0c8de3e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga9a27965148074e206c3143dbb0c8de3e">snd_seq_ev_is_note_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_NOTE)</td></tr> <tr class="separator:ga9a27965148074e206c3143dbb0c8de3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac72e058f43ff25cea0043c460c109cae"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gac72e058f43ff25cea0043c460c109cae">snd_seq_ev_is_control_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_CONTROL)</td></tr> <tr class="separator:gac72e058f43ff25cea0043c460c109cae"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1ba891f98c9c4b54384e7c24fa9a7dd5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga1ba891f98c9c4b54384e7c24fa9a7dd5">snd_seq_ev_is_channel_type</a>(ev)   (<a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a>[(ev)->type] & (<a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(SND_SEQ_EVFLG_NOTE) | <a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(SND_SEQ_EVFLG_CONTROL)))</td></tr> <tr class="separator:ga1ba891f98c9c4b54384e7c24fa9a7dd5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacb4bf5684b67c3763a5088df71ca0159"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gacb4bf5684b67c3763a5088df71ca0159">snd_seq_ev_is_queue_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_QUEUE)</td></tr> <tr class="separator:gacb4bf5684b67c3763a5088df71ca0159"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga325c894a9eef04a510d79765581556c3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga325c894a9eef04a510d79765581556c3">snd_seq_ev_is_message_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_MESSAGE)</td></tr> <tr class="separator:ga325c894a9eef04a510d79765581556c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab33330bcf7cfe7e93abe51c603ec6974"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gab33330bcf7cfe7e93abe51c603ec6974">snd_seq_ev_is_subscribe_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_CONNECTION)</td></tr> <tr class="separator:gab33330bcf7cfe7e93abe51c603ec6974"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaef277335d27c8bee394b5f6d068497a1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gaef277335d27c8bee394b5f6d068497a1">snd_seq_ev_is_sample_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_SAMPLE)</td></tr> <tr class="separator:gaef277335d27c8bee394b5f6d068497a1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6b390a71b71b7be48a6470db7042038f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga6b390a71b71b7be48a6470db7042038f">snd_seq_ev_is_user_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_USERS)</td></tr> <tr class="separator:ga6b390a71b71b7be48a6470db7042038f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga12d36511a518535dacad6d011e7994ea"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga12d36511a518535dacad6d011e7994ea">snd_seq_ev_is_instr_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_INSTR)</td></tr> <tr class="separator:ga12d36511a518535dacad6d011e7994ea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacbee889f777ba57ffaefe5e170b4cdbd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gacbee889f777ba57ffaefe5e170b4cdbd">snd_seq_ev_is_fixed_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_FIXED)</td></tr> <tr class="separator:gacbee889f777ba57ffaefe5e170b4cdbd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabae52c0158f02aa84c17f92c68683caa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gabae52c0158f02aa84c17f92c68683caa">snd_seq_ev_is_variable_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_VARIABLE)</td></tr> <tr class="separator:gabae52c0158f02aa84c17f92c68683caa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9985549f097ac2752dd12bf2809f8b24"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga9985549f097ac2752dd12bf2809f8b24">snd_seq_ev_is_varusr_type</a>(ev)   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_VARUSR)</td></tr> <tr class="separator:ga9985549f097ac2752dd12bf2809f8b24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga93e24ae77718810bdd763c27d935f501"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga93e24ae77718810bdd763c27d935f501">snd_seq_ev_is_reserved</a>(ev)   (! <a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a>[(ev)->type])</td></tr> <tr class="separator:ga93e24ae77718810bdd763c27d935f501"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf87a88bb452f8e324ec0ed8fd0387c22"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gaf87a88bb452f8e324ec0ed8fd0387c22">snd_seq_ev_is_prior</a>(ev)   (((ev)->flags & <a class="el" href="group___seq_events.html#gaea7b84a517451282036dad991a45239c">SND_SEQ_PRIORITY_MASK</a>) == <a class="el" href="group___seq_events.html#ga6816c4987d7dc2efe4b9949223964165">SND_SEQ_PRIORITY_HIGH</a>)</td></tr> <tr class="separator:gaf87a88bb452f8e324ec0ed8fd0387c22"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5ecf609b322e5b89c9c34c3bb2d79582"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev)   ((ev)->flags & <a class="el" href="group___seq_events.html#ga69fa938ef7ebc12e3d1b8758b39b7967">SND_SEQ_EVENT_LENGTH_MASK</a>)</td></tr> <tr class="separator:ga5ecf609b322e5b89c9c34c3bb2d79582"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga761af7115668606b5ec52772ed6e4c39"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga761af7115668606b5ec52772ed6e4c39">snd_seq_ev_is_fixed</a>(ev)   (<a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev) == <a class="el" href="group___seq_events.html#ga35b6aacb44080053e0ca0eeaefbe8dc2">SND_SEQ_EVENT_LENGTH_FIXED</a>)</td></tr> <tr class="separator:ga761af7115668606b5ec52772ed6e4c39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf49ed93e227adb6c182a66f06afacce0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gaf49ed93e227adb6c182a66f06afacce0">snd_seq_ev_is_variable</a>(ev)   (<a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev) == <a class="el" href="group___seq_events.html#ga273f82dce70a0284a4dcabd34f1bfe7d">SND_SEQ_EVENT_LENGTH_VARIABLE</a>)</td></tr> <tr class="separator:gaf49ed93e227adb6c182a66f06afacce0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga989761929e93fd3b3aa061f8dccd426a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga989761929e93fd3b3aa061f8dccd426a">snd_seq_ev_is_varusr</a>(ev)   (<a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev) == <a class="el" href="group___seq_events.html#ga5e38e6cf87f023332b797c30b74223b1">SND_SEQ_EVENT_LENGTH_VARUSR</a>)</td></tr> <tr class="separator:ga989761929e93fd3b3aa061f8dccd426a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabd5fe99634508a917e1a3abc445fe449"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gabd5fe99634508a917e1a3abc445fe449">snd_seq_ev_timestamp_type</a>(ev)   ((ev)->flags & <a class="el" href="group___seq_events.html#gac7da1e1965e86a68f663babec22a99ba">SND_SEQ_TIME_STAMP_MASK</a>)</td></tr> <tr class="separator:gabd5fe99634508a917e1a3abc445fe449"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7ac61bc05ceffc89ab63ecf33b402e43"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga7ac61bc05ceffc89ab63ecf33b402e43">snd_seq_ev_is_tick</a>(ev)   (<a class="el" href="group___seq_ev_type.html#gabd5fe99634508a917e1a3abc445fe449">snd_seq_ev_timestamp_type</a>(ev) == <a class="el" href="group___seq_events.html#gaf3c4c4900893680d95aa722ee6c16d2e">SND_SEQ_TIME_STAMP_TICK</a>)</td></tr> <tr class="separator:ga7ac61bc05ceffc89ab63ecf33b402e43"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac9e547978dfa08480d25b5708c19df22"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gac9e547978dfa08480d25b5708c19df22">snd_seq_ev_is_real</a>(ev)   (<a class="el" href="group___seq_ev_type.html#gabd5fe99634508a917e1a3abc445fe449">snd_seq_ev_timestamp_type</a>(ev) == <a class="el" href="group___seq_events.html#ga13e36bf2f3341625f6d88858d512f50b">SND_SEQ_TIME_STAMP_REAL</a>)</td></tr> <tr class="separator:gac9e547978dfa08480d25b5708c19df22"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad2d8ae9a2f5fedd0834d215af7e8073b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gad2d8ae9a2f5fedd0834d215af7e8073b">snd_seq_ev_timemode_type</a>(ev)   ((ev)->flags & <a class="el" href="group___seq_events.html#gac7c12b40ede05529ec9a66b938d62aec">SND_SEQ_TIME_MODE_MASK</a>)</td></tr> <tr class="separator:gad2d8ae9a2f5fedd0834d215af7e8073b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9e04371f9b8fff628a823a7f5c1e4908"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga9e04371f9b8fff628a823a7f5c1e4908">snd_seq_ev_is_abstime</a>(ev)   (<a class="el" href="group___seq_ev_type.html#gad2d8ae9a2f5fedd0834d215af7e8073b">snd_seq_ev_timemode_type</a>(ev) == <a class="el" href="group___seq_events.html#gaa799f2aa335545bfe9dedc84105b6cf9">SND_SEQ_TIME_MODE_ABS</a>)</td></tr> <tr class="separator:ga9e04371f9b8fff628a823a7f5c1e4908"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7504ce2159e886ecae2cf959bb99e9a7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga7504ce2159e886ecae2cf959bb99e9a7">snd_seq_ev_is_reltime</a>(ev)   (<a class="el" href="group___seq_ev_type.html#gad2d8ae9a2f5fedd0834d215af7e8073b">snd_seq_ev_timemode_type</a>(ev) == <a class="el" href="group___seq_events.html#ga167d462a14d80b2599470635dd0ee048">SND_SEQ_TIME_MODE_REL</a>)</td></tr> <tr class="separator:ga7504ce2159e886ecae2cf959bb99e9a7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga02ec1f914e66b2c6f7ecf53d15b75335"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#ga02ec1f914e66b2c6f7ecf53d15b75335">snd_seq_ev_is_direct</a>(ev)   ((ev)->queue == <a class="el" href="group___seq_queue.html#ga2a5be7ea9ad68adc9a7288ba25850245">SND_SEQ_QUEUE_DIRECT</a>)</td></tr> <tr class="separator:ga02ec1f914e66b2c6f7ecf53d15b75335"><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:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a>enum  </td><td class="memItemRight" valign="bottom">{ <br />   <b>SND_SEQ_EVFLG_RESULT</b>, <b>SND_SEQ_EVFLG_NOTE</b>, <b>SND_SEQ_EVFLG_CONTROL</b>, <b>SND_SEQ_EVFLG_QUEUE</b>, <br />   <b>SND_SEQ_EVFLG_SYSTEM</b>, <b>SND_SEQ_EVFLG_MESSAGE</b>, <b>SND_SEQ_EVFLG_CONNECTION</b>, <b>SND_SEQ_EVFLG_SAMPLE</b>, <br />   <b>SND_SEQ_EVFLG_USERS</b>, <b>SND_SEQ_EVFLG_INSTR</b>, <b>SND_SEQ_EVFLG_QUOTE</b>, <b>SND_SEQ_EVFLG_NONE</b>, <br />   <b>SND_SEQ_EVFLG_RAW</b>, <b>SND_SEQ_EVFLG_FIXED</b>, <b>SND_SEQ_EVFLG_VARIABLE</b>, <b>SND_SEQ_EVFLG_VARUSR</b> <br /> }</td></tr> <tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a>enum  </td><td class="memItemRight" valign="bottom">{ <b>SND_SEQ_EVFLG_NOTE_ONEARG</b>, <b>SND_SEQ_EVFLG_NOTE_TWOARG</b> }</td></tr> <tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a>enum  </td><td class="memItemRight" valign="bottom">{ <b>SND_SEQ_EVFLG_QUEUE_NOARG</b>, <b>SND_SEQ_EVFLG_QUEUE_TICK</b>, <b>SND_SEQ_EVFLG_QUEUE_TIME</b>, <b>SND_SEQ_EVFLG_QUEUE_VALUE</b> }</td></tr> <tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:gaa40bbb018018a491bd102e6fe58a6c84"><td class="memItemLeft" align="right" valign="top">const unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a> []</td></tr> <tr class="separator:gaa40bbb018018a491bd102e6fe58a6c84"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Sequencer Event Type Checks </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="ga4751ac8b4272b1439408afc963a49636"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _SND_SEQ_TYPE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   (1<<(x))</td> </tr> </table> </div><div class="memdoc"> <p>master type - 24bit </p> </div> </div> <a class="anchor" id="gadc21b59998d0cf1473c0fe1b6b863b71"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define _SND_SEQ_TYPE_OPT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   ((x)<<24)</td> </tr> </table> </div><div class="memdoc"> <p>optional type - 8bit </p> </div> </div> <a class="anchor" id="ga9e04371f9b8fff628a823a7f5c1e4908"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_abstime</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#gad2d8ae9a2f5fedd0834d215af7e8073b">snd_seq_ev_timemode_type</a>(ev) == <a class="el" href="group___seq_events.html#gaa799f2aa335545bfe9dedc84105b6cf9">SND_SEQ_TIME_MODE_ABS</a>)</td> </tr> </table> </div><div class="memdoc"> <p>scheduled in absolute time </p> </div> </div> <a class="anchor" id="ga1ba891f98c9c4b54384e7c24fa9a7dd5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_channel_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a>[(ev)->type] & (<a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(SND_SEQ_EVFLG_NOTE) | <a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(SND_SEQ_EVFLG_CONTROL)))</td> </tr> </table> </div><div class="memdoc"> <p>event type check: channel specific events </p> </div> </div> <a class="anchor" id="gac72e058f43ff25cea0043c460c109cae"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_control_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_CONTROL)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: control events </p> </div> </div> <a class="anchor" id="ga02ec1f914e66b2c6f7ecf53d15b75335"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_direct</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   ((ev)->queue == <a class="el" href="group___seq_queue.html#ga2a5be7ea9ad68adc9a7288ba25850245">SND_SEQ_QUEUE_DIRECT</a>)</td> </tr> </table> </div><div class="memdoc"> <p>direct dispatched events </p> </div> </div> <a class="anchor" id="ga761af7115668606b5ec52772ed6e4c39"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_fixed</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev) == <a class="el" href="group___seq_events.html#ga35b6aacb44080053e0ca0eeaefbe8dc2">SND_SEQ_EVENT_LENGTH_FIXED</a>)</td> </tr> </table> </div><div class="memdoc"> <p>fixed length events </p> </div> </div> <a class="anchor" id="gacbee889f777ba57ffaefe5e170b4cdbd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_fixed_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_FIXED)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: fixed length events </p> </div> </div> <a class="anchor" id="ga12d36511a518535dacad6d011e7994ea"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_instr_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_INSTR)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: instrument layer events </p> </div> </div> <a class="anchor" id="ga325c894a9eef04a510d79765581556c3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_message_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_MESSAGE)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: system status messages </p> </div> </div> <a class="anchor" id="ga9a27965148074e206c3143dbb0c8de3e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_note_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_NOTE)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: note events </p> </div> </div> <a class="anchor" id="gaf87a88bb452f8e324ec0ed8fd0387c22"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_prior</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (((ev)->flags & <a class="el" href="group___seq_events.html#gaea7b84a517451282036dad991a45239c">SND_SEQ_PRIORITY_MASK</a>) == <a class="el" href="group___seq_events.html#ga6816c4987d7dc2efe4b9949223964165">SND_SEQ_PRIORITY_HIGH</a>)</td> </tr> </table> </div><div class="memdoc"> <p>macros to check event flagsprior events </p> </div> </div> <a class="anchor" id="gacb4bf5684b67c3763a5088df71ca0159"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_queue_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_QUEUE)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: queue control events </p> </div> </div> <a class="anchor" id="gac9e547978dfa08480d25b5708c19df22"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_real</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#gabd5fe99634508a917e1a3abc445fe449">snd_seq_ev_timestamp_type</a>(ev) == <a class="el" href="group___seq_events.html#ga13e36bf2f3341625f6d88858d512f50b">SND_SEQ_TIME_STAMP_REAL</a>)</td> </tr> </table> </div><div class="memdoc"> <p>event is in real-time </p> </div> </div> <a class="anchor" id="ga7504ce2159e886ecae2cf959bb99e9a7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_reltime</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#gad2d8ae9a2f5fedd0834d215af7e8073b">snd_seq_ev_timemode_type</a>(ev) == <a class="el" href="group___seq_events.html#ga167d462a14d80b2599470635dd0ee048">SND_SEQ_TIME_MODE_REL</a>)</td> </tr> </table> </div><div class="memdoc"> <p>scheduled in relative time </p> </div> </div> <a class="anchor" id="ga93e24ae77718810bdd763c27d935f501"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_reserved</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (! <a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a>[(ev)->type])</td> </tr> </table> </div><div class="memdoc"> <p>event type check: reserved for kernel </p> </div> </div> <a class="anchor" id="ga8f90579f79cee4d8b29b1d10114373ea"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_result_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_RESULT)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: result events </p> </div> </div> <a class="anchor" id="gaef277335d27c8bee394b5f6d068497a1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_sample_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_SAMPLE)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: sample messages </p> </div> </div> <a class="anchor" id="gab33330bcf7cfe7e93abe51c603ec6974"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_subscribe_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_CONNECTION)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: system status messages </p> </div> </div> <a class="anchor" id="ga7ac61bc05ceffc89ab63ecf33b402e43"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_tick</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#gabd5fe99634508a917e1a3abc445fe449">snd_seq_ev_timestamp_type</a>(ev) == <a class="el" href="group___seq_events.html#gaf3c4c4900893680d95aa722ee6c16d2e">SND_SEQ_TIME_STAMP_TICK</a>)</td> </tr> </table> </div><div class="memdoc"> <p>event is in tick time </p> </div> </div> <a class="anchor" id="ga6b390a71b71b7be48a6470db7042038f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_user_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_USERS)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: user-defined messages </p> </div> </div> <a class="anchor" id="gaf49ed93e227adb6c182a66f06afacce0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_variable</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev) == <a class="el" href="group___seq_events.html#ga273f82dce70a0284a4dcabd34f1bfe7d">SND_SEQ_EVENT_LENGTH_VARIABLE</a>)</td> </tr> </table> </div><div class="memdoc"> <p>variable length events </p> </div> </div> <a class="anchor" id="gabae52c0158f02aa84c17f92c68683caa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_variable_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_VARIABLE)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: variable length events </p> </div> </div> <a class="anchor" id="ga989761929e93fd3b3aa061f8dccd426a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_varusr</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   (<a class="el" href="group___seq_ev_type.html#ga5ecf609b322e5b89c9c34c3bb2d79582">snd_seq_ev_length_type</a>(ev) == <a class="el" href="group___seq_events.html#ga5e38e6cf87f023332b797c30b74223b1">SND_SEQ_EVENT_LENGTH_VARUSR</a>)</td> </tr> </table> </div><div class="memdoc"> <p>variable length on user-space </p> </div> </div> <a class="anchor" id="ga9985549f097ac2752dd12bf2809f8b24"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_is_varusr_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   <a class="el" href="group___seq_ev_type.html#gaf2830d00d1641fd9311364f2a3521485">snd_seq_type_check</a>(ev, SND_SEQ_EVFLG_VARUSR)</td> </tr> </table> </div><div class="memdoc"> <p>event type check: user pointer events </p> </div> </div> <a class="anchor" id="ga5ecf609b322e5b89c9c34c3bb2d79582"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_length_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   ((ev)->flags & <a class="el" href="group___seq_events.html#ga69fa938ef7ebc12e3d1b8758b39b7967">SND_SEQ_EVENT_LENGTH_MASK</a>)</td> </tr> </table> </div><div class="memdoc"> <p>get the data length type </p> </div> </div> <a class="anchor" id="gad2d8ae9a2f5fedd0834d215af7e8073b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_timemode_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   ((ev)->flags & <a class="el" href="group___seq_events.html#gac7c12b40ede05529ec9a66b938d62aec">SND_SEQ_TIME_MODE_MASK</a>)</td> </tr> </table> </div><div class="memdoc"> <p>time-mode type </p> </div> </div> <a class="anchor" id="gabd5fe99634508a917e1a3abc445fe449"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_ev_timestamp_type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev</td><td>)</td> <td>   ((ev)->flags & <a class="el" href="group___seq_events.html#gac7da1e1965e86a68f663babec22a99ba">SND_SEQ_TIME_STAMP_MASK</a>)</td> </tr> </table> </div><div class="memdoc"> <p>time-stamp type </p> </div> </div> <a class="anchor" id="gaf2830d00d1641fd9311364f2a3521485"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define snd_seq_type_check</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ev, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">x </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (<a class="el" href="group___seq_ev_type.html#gaa40bbb018018a491bd102e6fe58a6c84">snd_seq_event_types</a>[(ev)->type] & <a class="el" href="group___seq_ev_type.html#ga4751ac8b4272b1439408afc963a49636">_SND_SEQ_TYPE</a>(x))</td> </tr> </table> </div><div class="memdoc"> <p>check the event type </p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a class="anchor" id="gaa40bbb018018a491bd102e6fe58a6c84"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const unsigned int snd_seq_event_types[]</td> </tr> </table> </div><div class="memdoc"> <p>Exported event type table</p> <p>This table is referred by snd_seq_ev_is_xxx.</p> <p>Event types conversion array </p> </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>