Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 2eb128636afdc4a8c8207ec3ec09861d > files > 75

fluidsynth-devel-1.1.3-1.fc14.i686.rpm

<!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"/>
<title>libfluidsynth: seq.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>seq.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>MIDI event sequencer.  
<a href="#_details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a7a0cdbf4fbb63750bb8ca5d862b7f5bd">fluid_event_callback_t</a> )(unsigned int time, <a class="el" href="types_8h.html#aca09348be1b6e6ee7fce49dd4734f1ba">fluid_event_t</a> *event, <a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event callback prototype for destination clients.  <a href="#a7a0cdbf4fbb63750bb8ca5d862b7f5bd"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API <a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a9ab3db0b0977a97bc9f6bc17b1c1534d">new_fluid_sequencer</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sequencer object which uses the system timer.  <a href="#a9ab3db0b0977a97bc9f6bc17b1c1534d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API <a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a3c27499606024a92bca0b32dbcf72c44">new_fluid_sequencer2</a> (int use_system_timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new sequencer object.  <a href="#a3c27499606024a92bca0b32dbcf72c44"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a57d2277b188240e435b5fc3f39c0bc7e">delete_fluid_sequencer</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a sequencer object.  <a href="#a57d2277b188240e435b5fc3f39c0bc7e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a2ae3552fe3a4f20b8a29854c93eed643">fluid_sequencer_get_use_system_timer</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a sequencer is using the system timer or not.  <a href="#a2ae3552fe3a4f20b8a29854c93eed643"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a749882ab2b9ce51fa6a265db2cd59915">fluid_sequencer_register_client</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, const char *name, <a class="el" href="seq_8h.html#a7a0cdbf4fbb63750bb8ca5d862b7f5bd">fluid_event_callback_t</a> callback, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a sequencer client.  <a href="#a749882ab2b9ce51fa6a265db2cd59915"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#afca860d8580b2c19b2340ca4e9432e19">fluid_sequencer_unregister_client</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, short id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregister a previously registered client.  <a href="#afca860d8580b2c19b2340ca4e9432e19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#ad33ba5ee1b85e844dc107b7fcc1877d3">fluid_sequencer_count_clients</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count a sequencers registered clients.  <a href="#ad33ba5ee1b85e844dc107b7fcc1877d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a10e1c02213cad76a7133cbee688a95d9">fluid_sequencer_get_client_id</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, int index)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a client ID from its index (order in which it was registered).  <a href="#a10e1c02213cad76a7133cbee688a95d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a95d4d8c3882bd70af4690a9db3be7a0f">fluid_sequencer_get_client_name</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, int id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of a registered client.  <a href="#a95d4d8c3882bd70af4690a9db3be7a0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#ae1e2383b9b0af90b76c494937fe095da">fluid_sequencer_client_is_dest</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, int id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a client is a destination client.  <a href="#ae1e2383b9b0af90b76c494937fe095da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a3210e5a6b8a23c25038b91d0810a0a02">fluid_sequencer_process</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, unsigned int msec)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advance a sequencer that isn't using the system timer.  <a href="#a3210e5a6b8a23c25038b91d0810a0a02"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#ac6c0346378a9ce531ec428747dbe16fe">fluid_sequencer_send_now</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, <a class="el" href="types_8h.html#aca09348be1b6e6ee7fce49dd4734f1ba">fluid_event_t</a> *evt)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send an event immediately.  <a href="#ac6c0346378a9ce531ec428747dbe16fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#afb0c62f3a2cff3decbf628535f4511ef">fluid_sequencer_send_at</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, <a class="el" href="types_8h.html#aca09348be1b6e6ee7fce49dd4734f1ba">fluid_event_t</a> *evt, unsigned int time, int absolute)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Schedule an event for sending at a later time.  <a href="#afb0c62f3a2cff3decbf628535f4511ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a0b2c510849c1228eaac2a2feb1a3a676">fluid_sequencer_remove_events</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, short source, short dest, int type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove events from the event queue.  <a href="#a0b2c510849c1228eaac2a2feb1a3a676"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239">fluid_sequencer_get_tick</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current tick of a sequencer.  <a href="#a2a51cf34c359020eb6c9b7ab549ab239"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#aa62f856223ff035fcfca2517facc3205">fluid_sequencer_set_time_scale</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, double scale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the time scale of a sequencer.  <a href="#aa62f856223ff035fcfca2517facc3205"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">FLUIDSYNTH_API double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="seq_8h.html#a8cae41c892b82ed8b070513eb33e8dd1">fluid_sequencer_get_time_scale</a> (<a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a sequencer's time scale.  <a href="#a8cae41c892b82ed8b070513eb33e8dd1"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>MIDI event sequencer. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a7a0cdbf4fbb63750bb8ca5d862b7f5bd"></a><!-- doxytag: member="seq.h::fluid_event_callback_t" ref="a7a0cdbf4fbb63750bb8ca5d862b7f5bd" args=")(unsigned int time, fluid_event_t *event, fluid_sequencer_t *seq, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="seq_8h.html#a7a0cdbf4fbb63750bb8ca5d862b7f5bd">fluid_event_callback_t</a>)(unsigned int time, <a class="el" href="types_8h.html#aca09348be1b6e6ee7fce49dd4734f1ba">fluid_event_t</a> *event, <a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *seq, void *data)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Event callback prototype for destination clients. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>Current sequencer tick value (see <a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239" title="Get the current tick of a sequencer.">fluid_sequencer_get_tick()</a>). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The event being received </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>The sequencer instance </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>User defined data registered with the client </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a9ab3db0b0977a97bc9f6bc17b1c1534d"></a><!-- doxytag: member="seq.h::new_fluid_sequencer" ref="a9ab3db0b0977a97bc9f6bc17b1c1534d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API <a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a>* new_fluid_sequencer </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sequencer object which uses the system timer. </p>
<p>Use <a class="el" href="seq_8h.html#a3c27499606024a92bca0b32dbcf72c44" title="Create a new sequencer object.">new_fluid_sequencer2()</a> to specify whether the system timer or <a class="el" href="seq_8h.html#a3210e5a6b8a23c25038b91d0810a0a02" title="Advance a sequencer that isn&#39;t using the system timer.">fluid_sequencer_process()</a> is used to advance the sequencer. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>New sequencer instance </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fluidsynth__arpeggio_8c-example.html#a11">fluidsynth_arpeggio.c</a>, and <a class="el" href="fluidsynth__metronome_8c-example.html#a10">fluidsynth_metronome.c</a>.</dd>
</dl>
<p>References <a class="el" href="seq_8h.html#a9ab3db0b0977a97bc9f6bc17b1c1534d">new_fluid_sequencer()</a>, and <a class="el" href="seq_8h.html#a3c27499606024a92bca0b32dbcf72c44">new_fluid_sequencer2()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a9ab3db0b0977a97bc9f6bc17b1c1534d">new_fluid_sequencer()</a>.</p>

</div>
</div>
<a class="anchor" id="a3c27499606024a92bca0b32dbcf72c44"></a><!-- doxytag: member="seq.h::new_fluid_sequencer2" ref="a3c27499606024a92bca0b32dbcf72c44" args="(int use_system_timer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API <a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a>* new_fluid_sequencer2 </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>use_system_timer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new sequencer object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>use_system_timer</em>&nbsp;</td><td>If TRUE, sequencer will advance at the rate of the system clock. If FALSE, call <a class="el" href="seq_8h.html#a3210e5a6b8a23c25038b91d0810a0a02" title="Advance a sequencer that isn&#39;t using the system timer.">fluid_sequencer_process()</a> to advance the sequencer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>New sequencer instance </dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>

<p>References <a class="el" href="log_8h.html#a4433d077ea131c3e4b542537d65ffd72">fluid_log()</a>, <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9ea62d9ddd89d0a853606ce38d195daa99a">FLUID_PANIC</a>, and <a class="el" href="seq_8h.html#a3c27499606024a92bca0b32dbcf72c44">new_fluid_sequencer2()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a9ab3db0b0977a97bc9f6bc17b1c1534d">new_fluid_sequencer()</a>, and <a class="el" href="seq_8h.html#a3c27499606024a92bca0b32dbcf72c44">new_fluid_sequencer2()</a>.</p>

</div>
</div>
<a class="anchor" id="a57d2277b188240e435b5fc3f39c0bc7e"></a><!-- doxytag: member="seq.h::delete_fluid_sequencer" ref="a57d2277b188240e435b5fc3f39c0bc7e" args="(fluid_sequencer_t *seq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void delete_fluid_sequencer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a sequencer object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer to delete </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fluidsynth__arpeggio_8c-example.html#a16">fluidsynth_arpeggio.c</a>, and <a class="el" href="fluidsynth__metronome_8c-example.html#a15">fluidsynth_metronome.c</a>.</dd>
</dl>
<p>References <a class="el" href="seq_8h.html#a57d2277b188240e435b5fc3f39c0bc7e">delete_fluid_sequencer()</a>, and <a class="el" href="seq_8h.html#afca860d8580b2c19b2340ca4e9432e19">fluid_sequencer_unregister_client()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a57d2277b188240e435b5fc3f39c0bc7e">delete_fluid_sequencer()</a>.</p>

</div>
</div>
<a class="anchor" id="a2ae3552fe3a4f20b8a29854c93eed643"></a><!-- doxytag: member="seq.h::fluid_sequencer_get_use_system_timer" ref="a2ae3552fe3a4f20b8a29854c93eed643" args="(fluid_sequencer_t *seq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API int fluid_sequencer_get_use_system_timer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a sequencer is using the system timer or not. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if system timer is being used, FALSE otherwise. </dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>

<p>References <a class="el" href="seq_8h.html#a2ae3552fe3a4f20b8a29854c93eed643">fluid_sequencer_get_use_system_timer()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a2ae3552fe3a4f20b8a29854c93eed643">fluid_sequencer_get_use_system_timer()</a>, and <a class="el" href="seqbind_8h.html#a3680e34efa6745fcbe851fcd802cba39">fluid_sequencer_register_fluidsynth()</a>.</p>

</div>
</div>
<a class="anchor" id="a749882ab2b9ce51fa6a265db2cd59915"></a><!-- doxytag: member="seq.h::fluid_sequencer_register_client" ref="a749882ab2b9ce51fa6a265db2cd59915" args="(fluid_sequencer_t *seq, const char *name, fluid_event_callback_t callback, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API short fluid_sequencer_register_client </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="seq_8h.html#a7a0cdbf4fbb63750bb8ca5d862b7f5bd">fluid_event_callback_t</a>&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register a sequencer client. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of sequencer client </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback</em>&nbsp;</td><td>Sequencer client callback or NULL for a source client. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>User data to pass to the <em>callback</em> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Unique sequencer ID or <a class="el" href="misc_8h.html#a90e8bdbc5a507bbfa5c45bac85a63a61" title="Value that indicates failure, used by most libfluidsynth functions.">FLUID_FAILED</a> on error</dd></dl>
<p>Clients can be sources or destinations of events. Sources don't need to register a callback. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fluidsynth__arpeggio_8c-example.html#a13">fluidsynth_arpeggio.c</a>, and <a class="el" href="fluidsynth__metronome_8c-example.html#a12">fluidsynth_metronome.c</a>.</dd>
</dl>
<p>References <a class="el" href="log_8h.html#a4433d077ea131c3e4b542537d65ffd72">fluid_log()</a>, <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9ea62d9ddd89d0a853606ce38d195daa99a">FLUID_PANIC</a>, and <a class="el" href="seq_8h.html#a749882ab2b9ce51fa6a265db2cd59915">fluid_sequencer_register_client()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a749882ab2b9ce51fa6a265db2cd59915">fluid_sequencer_register_client()</a>, and <a class="el" href="seqbind_8h.html#a3680e34efa6745fcbe851fcd802cba39">fluid_sequencer_register_fluidsynth()</a>.</p>

</div>
</div>
<a class="anchor" id="afca860d8580b2c19b2340ca4e9432e19"></a><!-- doxytag: member="seq.h::fluid_sequencer_unregister_client" ref="afca860d8580b2c19b2340ca4e9432e19" args="(fluid_sequencer_t *seq, short id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void fluid_sequencer_unregister_client </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&nbsp;</td>
          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unregister a previously registered client. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>Client ID as returned by <a class="el" href="seq_8h.html#a749882ab2b9ce51fa6a265db2cd59915" title="Register a sequencer client.">fluid_sequencer_register_client()</a>. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="event_8h.html#a473c54f0c43bdea789b211c23c7daeee">delete_fluid_event()</a>, <a class="el" href="event_8h.html#ae0857e30ffdcfe4e277eb3c55df7ba32">fluid_event_set_dest()</a>, <a class="el" href="event_8h.html#a1af14ec5decbc1fcbdf1d5404f0c1bc6">fluid_event_unregistering()</a>, <a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239">fluid_sequencer_get_tick()</a>, <a class="el" href="seq_8h.html#afca860d8580b2c19b2340ca4e9432e19">fluid_sequencer_unregister_client()</a>, and <a class="el" href="event_8h.html#a1d535480f26630b755102415a6d246cb">new_fluid_event()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a57d2277b188240e435b5fc3f39c0bc7e">delete_fluid_sequencer()</a>, and <a class="el" href="seq_8h.html#afca860d8580b2c19b2340ca4e9432e19">fluid_sequencer_unregister_client()</a>.</p>

</div>
</div>
<a class="anchor" id="ad33ba5ee1b85e844dc107b7fcc1877d3"></a><!-- doxytag: member="seq.h::fluid_sequencer_count_clients" ref="ad33ba5ee1b85e844dc107b7fcc1877d3" args="(fluid_sequencer_t *seq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API int fluid_sequencer_count_clients </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Count a sequencers registered clients. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Count of sequencer clients. </dd></dl>

<p>References <a class="el" href="seq_8h.html#ad33ba5ee1b85e844dc107b7fcc1877d3">fluid_sequencer_count_clients()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#ad33ba5ee1b85e844dc107b7fcc1877d3">fluid_sequencer_count_clients()</a>.</p>

</div>
</div>
<a class="anchor" id="a10e1c02213cad76a7133cbee688a95d9"></a><!-- doxytag: member="seq.h::fluid_sequencer_get_client_id" ref="a10e1c02213cad76a7133cbee688a95d9" args="(fluid_sequencer_t *seq, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API short fluid_sequencer_get_client_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a client ID from its index (order in which it was registered). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>Index of register client </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Client ID or <a class="el" href="misc_8h.html#a90e8bdbc5a507bbfa5c45bac85a63a61" title="Value that indicates failure, used by most libfluidsynth functions.">FLUID_FAILED</a> if not found </dd></dl>

<p>References <a class="el" href="seq_8h.html#a10e1c02213cad76a7133cbee688a95d9">fluid_sequencer_get_client_id()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a10e1c02213cad76a7133cbee688a95d9">fluid_sequencer_get_client_id()</a>.</p>

</div>
</div>
<a class="anchor" id="a95d4d8c3882bd70af4690a9db3be7a0f"></a><!-- doxytag: member="seq.h::fluid_sequencer_get_client_name" ref="a95d4d8c3882bd70af4690a9db3be7a0f" args="(fluid_sequencer_t *seq, int id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API char* fluid_sequencer_get_client_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the name of a registered client. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>Client ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Client name or NULL if not found. String is internal and should not be modified or freed. </dd></dl>

<p>References <a class="el" href="seq_8h.html#a95d4d8c3882bd70af4690a9db3be7a0f">fluid_sequencer_get_client_name()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a95d4d8c3882bd70af4690a9db3be7a0f">fluid_sequencer_get_client_name()</a>.</p>

</div>
</div>
<a class="anchor" id="ae1e2383b9b0af90b76c494937fe095da"></a><!-- doxytag: member="seq.h::fluid_sequencer_client_is_dest" ref="ae1e2383b9b0af90b76c494937fe095da" args="(fluid_sequencer_t *seq, int id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API int fluid_sequencer_client_is_dest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if a client is a destination client. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>Client ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if client is a destination client, FALSE otherwise or if not found </dd></dl>

<p>References <a class="el" href="seq_8h.html#ae1e2383b9b0af90b76c494937fe095da">fluid_sequencer_client_is_dest()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#ae1e2383b9b0af90b76c494937fe095da">fluid_sequencer_client_is_dest()</a>.</p>

</div>
</div>
<a class="anchor" id="a3210e5a6b8a23c25038b91d0810a0a02"></a><!-- doxytag: member="seq.h::fluid_sequencer_process" ref="a3210e5a6b8a23c25038b91d0810a0a02" args="(fluid_sequencer_t *seq, unsigned int msec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void fluid_sequencer_process </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>msec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Advance a sequencer that isn't using the system timer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msec</em>&nbsp;</td><td>Time to advance sequencer to (absolute time since sequencer start). </td></tr>
  </table>
  </dd>
</dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>

<p>References <a class="el" href="seq_8h.html#a3210e5a6b8a23c25038b91d0810a0a02">fluid_sequencer_process()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a3210e5a6b8a23c25038b91d0810a0a02">fluid_sequencer_process()</a>.</p>

</div>
</div>
<a class="anchor" id="ac6c0346378a9ce531ec428747dbe16fe"></a><!-- doxytag: member="seq.h::fluid_sequencer_send_now" ref="ac6c0346378a9ce531ec428747dbe16fe" args="(fluid_sequencer_t *seq, fluid_event_t *evt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void fluid_sequencer_send_now </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#aca09348be1b6e6ee7fce49dd4734f1ba">fluid_event_t</a> *&nbsp;</td>
          <td class="paramname"> <em>evt</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Send an event immediately. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>evt</em>&nbsp;</td><td>Event to send (copied) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="event_8h.html#ae55407a115f1efdfefd8cd5ba58faae9">fluid_event_get_dest()</a>, <a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239">fluid_sequencer_get_tick()</a>, and <a class="el" href="seq_8h.html#ac6c0346378a9ce531ec428747dbe16fe">fluid_sequencer_send_now()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#ac6c0346378a9ce531ec428747dbe16fe">fluid_sequencer_send_now()</a>.</p>

</div>
</div>
<a class="anchor" id="afb0c62f3a2cff3decbf628535f4511ef"></a><!-- doxytag: member="seq.h::fluid_sequencer_send_at" ref="afb0c62f3a2cff3decbf628535f4511ef" args="(fluid_sequencer_t *seq, fluid_event_t *evt, unsigned int time, int absolute)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API int fluid_sequencer_send_at </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#aca09348be1b6e6ee7fce49dd4734f1ba">fluid_event_t</a> *&nbsp;</td>
          <td class="paramname"> <em>evt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>absolute</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Schedule an event for sending at a later time. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>evt</em>&nbsp;</td><td>Event to send </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>time</em>&nbsp;</td><td>Time value in ticks (in milliseconds with the default time scale of 1000). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>absolute</em>&nbsp;</td><td>TRUE if <em>time</em> is absolute sequencer time (time since sequencer creation), FALSE if relative to current time. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="misc_8h.html#ae4efb1c3ce0d550c922504adfb0fb886" title="Value that indicates success, used by most libfluidsynth functions.">FLUID_OK</a> on success, <a class="el" href="misc_8h.html#a90e8bdbc5a507bbfa5c45bac85a63a61" title="Value that indicates failure, used by most libfluidsynth functions.">FLUID_FAILED</a> otherwise </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fluidsynth__arpeggio_8c-example.html#a4">fluidsynth_arpeggio.c</a>, and <a class="el" href="fluidsynth__metronome_8c-example.html#a4">fluidsynth_metronome.c</a>.</dd>
</dl>
<p>References <a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239">fluid_sequencer_get_tick()</a>, and <a class="el" href="seq_8h.html#afb0c62f3a2cff3decbf628535f4511ef">fluid_sequencer_send_at()</a>.</p>

<p>Referenced by <a class="el" href="seqbind_8h.html#aecf29486fa3b80514be4a6a535b02045">fluid_sequencer_add_midi_event_to_buffer()</a>, and <a class="el" href="seq_8h.html#afb0c62f3a2cff3decbf628535f4511ef">fluid_sequencer_send_at()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b2c510849c1228eaac2a2feb1a3a676"></a><!-- doxytag: member="seq.h::fluid_sequencer_remove_events" ref="a0b2c510849c1228eaac2a2feb1a3a676" args="(fluid_sequencer_t *seq, short source, short dest, int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void fluid_sequencer_remove_events </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove events from the event queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Source client ID to match or -1 for wildcard </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>Destination client ID to match or -1 for wildcard </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Event type to match or -1 for wildcard (<a class="el" href="event_8h.html#a98ada1fab7a3785a41aa4003645640eb" title="Sequencer event type enumeration.">fluid_seq_event_type</a>) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="seq_8h.html#a0b2c510849c1228eaac2a2feb1a3a676">fluid_sequencer_remove_events()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a0b2c510849c1228eaac2a2feb1a3a676">fluid_sequencer_remove_events()</a>.</p>

</div>
</div>
<a class="anchor" id="a2a51cf34c359020eb6c9b7ab549ab239"></a><!-- doxytag: member="seq.h::fluid_sequencer_get_tick" ref="a2a51cf34c359020eb6c9b7ab549ab239" args="(fluid_sequencer_t *seq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API unsigned int fluid_sequencer_get_tick </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current tick of a sequencer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Current tick value </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="fluidsynth__arpeggio_8c-example.html#a15">fluidsynth_arpeggio.c</a>, and <a class="el" href="fluidsynth__metronome_8c-example.html#a14">fluidsynth_metronome.c</a>.</dd>
</dl>
<p>References <a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239">fluid_sequencer_get_tick()</a>.</p>

<p>Referenced by <a class="el" href="seqbind_8h.html#aecf29486fa3b80514be4a6a535b02045">fluid_sequencer_add_midi_event_to_buffer()</a>, <a class="el" href="seq_8h.html#a2a51cf34c359020eb6c9b7ab549ab239">fluid_sequencer_get_tick()</a>, <a class="el" href="seq_8h.html#afb0c62f3a2cff3decbf628535f4511ef">fluid_sequencer_send_at()</a>, <a class="el" href="seq_8h.html#ac6c0346378a9ce531ec428747dbe16fe">fluid_sequencer_send_now()</a>, and <a class="el" href="seq_8h.html#afca860d8580b2c19b2340ca4e9432e19">fluid_sequencer_unregister_client()</a>.</p>

</div>
</div>
<a class="anchor" id="aa62f856223ff035fcfca2517facc3205"></a><!-- doxytag: member="seq.h::fluid_sequencer_set_time_scale" ref="aa62f856223ff035fcfca2517facc3205" args="(fluid_sequencer_t *seq, double scale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API void fluid_sequencer_set_time_scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the time scale of a sequencer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>scale</em>&nbsp;</td><td>Sequencer scale value in ticks per second (default is 1000 for 1 tick per millisecond, max is 1000.0)</td></tr>
  </table>
  </dd>
</dl>
<p>If there are already scheduled events in the sequencer and the scale is changed the events are adjusted accordingly. </p>

<p>References <a class="el" href="log_8h.html#a4433d077ea131c3e4b542537d65ffd72">fluid_log()</a>, <a class="el" href="seq_8h.html#aa62f856223ff035fcfca2517facc3205">fluid_sequencer_set_time_scale()</a>, and <a class="el" href="log_8h.html#aa341232c15addd9c336131984840ed9ea394460be1ec74fce15e1ff683606df0f">FLUID_WARN</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#aa62f856223ff035fcfca2517facc3205">fluid_sequencer_set_time_scale()</a>.</p>

</div>
</div>
<a class="anchor" id="a8cae41c892b82ed8b070513eb33e8dd1"></a><!-- doxytag: member="seq.h::fluid_sequencer_get_time_scale" ref="a8cae41c892b82ed8b070513eb33e8dd1" args="(fluid_sequencer_t *seq)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FLUIDSYNTH_API double fluid_sequencer_get_time_scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#a7c7acad4ee620fc954a7ad4d7e87e1c3">fluid_sequencer_t</a> *&nbsp;</td>
          <td class="paramname"> <em>seq</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a sequencer's time scale. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Sequencer object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Time scale value in ticks per second. </dd></dl>

<p>References <a class="el" href="seq_8h.html#a8cae41c892b82ed8b070513eb33e8dd1">fluid_sequencer_get_time_scale()</a>.</p>

<p>Referenced by <a class="el" href="seq_8h.html#a8cae41c892b82ed8b070513eb33e8dd1">fluid_sequencer_get_time_scale()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Oct 12 2010 for libfluidsynth by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>