Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 16ddb2bbfb06c9689bef4d45275fb157 > files > 21

jackit-realtime-0.50.0-2mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>jack.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
<hr><h1>jack.h File Reference</h1><code>#include &lt;pthread.h&gt;</code><br>
<code>#include &lt;<a class="el" href="types_8h-source.html">jack/types.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="error_8h-source.html">jack/error.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="transport_8h-source.html">jack/transport.h</a>&gt;</code><br>

<p>
<a href="jack_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a0">jack_client_new</a> (const char *client_name)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a1">jack_client_new_inprocess</a> (const char *client_name, const char *so_name, const char *so_data)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a2">jack_client_close</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *client)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a3">jack_on_shutdown</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *client, void(*function)(void *arg), void *arg)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a4">jack_set_process_callback</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a6">JackProcessCallback</a> process_callback, void *arg)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a5">jack_set_buffer_size_callback</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a9">JackBufferSizeCallback</a> bufsize_callback, void *arg)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a6">jack_set_sample_rate_callback</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a10">JackSampleRateCallback</a> srate_callback, void *arg)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a7">jack_set_port_registration_callback</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a11">JackPortRegistrationCallback</a> registration_callback, void *arg)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a8">jack_set_graph_order_callback</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a7">JackGraphOrderCallback</a> graph_callback, void *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a9">jack_set_xrun_callback</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a8">JackXRunCallback</a> xrun_callback, void *arg)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a10">jack_activate</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *client)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a11">jack_deactivate</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *client)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a12">jack_port_register</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *port_name, const char *port_type, unsigned long flags, unsigned long buffer_size)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a13">jack_port_unregister</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a3">jack_port_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a14">jack_port_name</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a15">jack_port_short_name</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a16">jack_port_flags</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a17">jack_port_type</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a18">jack_port_is_mine</a> (const <a class="el" href="types_8h.html#a4">jack_client_t</a> *, const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a19">jack_port_connected</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a20">jack_port_connected_to</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port, const char *portname)</td></tr>
<tr><td nowrap align=right valign=top>const char **&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a21">jack_port_get_connections</a> (const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>const char **&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a22">jack_port_get_all_connections</a> (const <a class="el" href="types_8h.html#a4">jack_client_t</a> *client, const <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a23">jack_port_set_name</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *port, const char *name)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a24">jack_port_get_buffer</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *, <a class="el" href="types_8h.html#a2">jack_nframes_t</a>)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a25">jack_connect</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *source_port, const char *destination_port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a26">jack_disconnect</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *source_port, const char *destination_port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a27">jack_port_connect</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a3">jack_port_t</a> *src, <a class="el" href="types_8h.html#a3">jack_port_t</a> *dst)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a28">jack_port_disconnect</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a3">jack_port_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a29">jack_port_tie</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *src, <a class="el" href="types_8h.html#a3">jack_port_t</a> *dst)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a30">jack_port_untie</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a31">jack_port_lock</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a3">jack_port_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a32">jack_port_unlock</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a3">jack_port_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a33">jack_port_get_latency</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a34">jack_port_get_total_latency</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a35">jack_port_set_latency</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *, <a class="el" href="types_8h.html#a2">jack_nframes_t</a>)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a36">jack_port_request_monitor</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *port, int onoff)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a37">jack_port_request_monitor_by_name</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *client, const char *port_name, int onoff)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a38">jack_port_ensure_monitor</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *port, int onoff)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a39">jack_port_monitoring_input</a> (<a class="el" href="types_8h.html#a3">jack_port_t</a> *port)</td></tr>
<tr><td nowrap align=right valign=top>unsigned long&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a40">jack_get_sample_rate</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a41">jack_get_buffer_size</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top>const char **&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a42">jack_get_ports</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *port_name_pattern, const char *type_name_pattern, unsigned long flags)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a43">jack_port_by_name</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *portname)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a44">jack_port_by_id</a> (const <a class="el" href="types_8h.html#a4">jack_client_t</a> *client, <a class="el" href="types_8h.html#a5">jack_port_id_t</a> id)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a45">jack_engine_takeover_timebase</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a46">jack_update_time</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, <a class="el" href="types_8h.html#a2">jack_nframes_t</a>)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a47">jack_frames_since_cycle_start</a> (const <a class="el" href="types_8h.html#a4">jack_client_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a48">jack_frame_time</a> (const <a class="el" href="types_8h.html#a4">jack_client_t</a> *)</td></tr>
<tr><td nowrap align=right valign=top>float&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a49">jack_cpu_load</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *client)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a50">jack_set_server_dir</a> (const char *path)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a51">jack_add_alias</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *portname, const char *alias)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a52">jack_remove_alias</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *, const char *alias)</td></tr>
<tr><td nowrap align=right valign=top>pthread_t&nbsp;</td><td valign=bottom><a class="el" href="jack_8h.html#a53">jack_client_thread_id</a> (<a class="el" href="types_8h.html#a4">jack_client_t</a> *)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a10" doxytag="jack.h::jack_activate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_activate </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>client</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server that the program is ready to start processing audio.     </td>
  </tr>
</table>
<a name="a51" doxytag="jack.h::jack_add_alias"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_add_alias </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>portname</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alias</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create an alias for a port. Returns zero if successful, non-zero otherwise. After a successful return, `alias' may be used to refer to a port instead of the port's actual name. the naming scheme is "alias:&lt;alias&gt;", so if the port alias was "left", and the port name was "foo:out1", then "alias:left" will refer to "foo:out1".     </td>
  </tr>
</table>
<a name="a2" doxytag="jack.h::jack_client_close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_client_close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>client</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Disconnects from Jack server.     </td>
  </tr>
</table>
<a name="a0" doxytag="jack.h::jack_client_new"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a4">jack_client_t</a>* jack_client_new </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>client_name</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Attemps to become an out-of-process client of the Jack server.     </td>
  </tr>
</table>
<a name="a1" doxytag="jack.h::jack_client_new_inprocess"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a4">jack_client_t</a>* jack_client_new_inprocess </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>client_name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>so_name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>so_data</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>client_name</em>&nbsp;</td><td>
The name for the new client </td></tr>
<tr><td valign=top><em>so_name</em>&nbsp;</td><td>
A path to a shared object file containing the code for the new client  </td></tr>
<tr><td valign=top><em>so_data</em>&nbsp;</td><td>
An arbitary string containing information to be passed to the init() routine of the new client</td></tr>
</table>
</dl>Attemps to create an in-process client of the Jack server.     </td>
  </tr>
</table>
<a name="a53" doxytag="jack.h::jack_client_thread_id"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> pthread_t jack_client_thread_id </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return the pthread ID of the thread running the JACK client side code.     </td>
  </tr>
</table>
<a name="a25" doxytag="jack.h::jack_connect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_connect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>source_port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>destination_port</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Establishes a connection between two ports.
<p>
When a connection exists, data written to the source port will be available to be read at the destination port.
<p>
The types of both ports must be identical to establish a connection. The flags of the source port must include PortIsOutput. The flags of the destination port must include PortIsInput.     </td>
  </tr>
</table>
<a name="a49" doxytag="jack.h::jack_cpu_load"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> float jack_cpu_load </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>client</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns the current CPU load estimated by JACK as a percentage. The load is computed by measuring the number of cycles it took to execute all clients as a fraction of the total number of cycles represented by the data that was processed.     </td>
  </tr>
</table>
<a name="a11" doxytag="jack.h::jack_deactivate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_deactivate </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>client</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tells the Jack server that the program should be removed from the  processing graph. As a side effect, this will disconnect any and all ports belonging to the client, since inactive clients are not allowed to be connected to any other ports.     </td>
  </tr>
</table>
<a name="a26" doxytag="jack.h::jack_disconnect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_disconnect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>source_port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>destination_port</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Removes a connection between two ports.
<p>
The types of both ports must be identical to establish a connection. The flags of the source port must include PortIsOutput. The flags of the destination port must include PortIsInput.     </td>
  </tr>
</table>
<a name="a45" doxytag="jack.h::jack_engine_takeover_timebase"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_engine_takeover_timebase </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
If a client is told (by the user) to become the timebase for the entire system, it calls this function. If it returns zero, then the client has the responsibility to call <a class="el" href="transport_8h.html#a6">jack_set_transport_info()</a>) at the end of its process() callback.     </td>
  </tr>
</table>
<a name="a48" doxytag="jack.h::jack_frame_time"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a2">jack_nframes_t</a> jack_frame_time </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return an estimate of the current time in frames. It is a running counter - no significance should be attached to the return value. it should be used to compute the difference between a previously returned value.     </td>
  </tr>
</table>
<a name="a47" doxytag="jack.h::jack_frames_since_cycle_start"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a2">jack_nframes_t</a> jack_frames_since_cycle_start </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This estimates the time that has passed since the start jack server started calling the process() callbacks of all its clients.     </td>
  </tr>
</table>
<a name="a41" doxytag="jack.h::jack_get_buffer_size"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a2">jack_nframes_t</a> jack_get_buffer_size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns the current maximum size that will ever be passed to the "process" callback. It should only be used *before* the client has been activated. After activation, the client will be notified of buffer size changes if it registers a buffer_size callback.     </td>
  </tr>
</table>
<a name="a42" doxytag="jack.h::jack_get_ports"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char** jack_get_ports </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port_name_pattern</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type_name_pattern</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>port_name_pattern</em>&nbsp;</td><td>
A regular expression used to select  ports by name. If NULL or of zero length, no selection based  on name will be carried out. </td></tr>
<tr><td valign=top><em>type_name_pattern</em>&nbsp;</td><td>
A regular expression used to select  ports by type. If NULL or of zero length, no selection based  on type will be carried out. </td></tr>
<tr><td valign=top><em>flags</em>&nbsp;</td><td>
A value used to select ports by their flags.  If zero, no selection based on flags will be carried out.</td></tr>
</table>
</dl>This function returns a NULL-terminated array of ports that match  the specified arguments. The caller is responsible for calling free(3) any non-NULL returned value.     </td>
  </tr>
</table>
<a name="a40" doxytag="jack.h::jack_get_sample_rate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned long jack_get_sample_rate </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns the sample rate of the jack system, as set by the user when jackd was started.     </td>
  </tr>
</table>
<a name="a3" doxytag="jack.h::jack_on_shutdown"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void jack_on_shutdown </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>client</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void(*&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>function</em>)(void *arg), </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>client</em>&nbsp;</td><td>
The Jack client structure. </td></tr>
<tr><td valign=top><em>function</em>&nbsp;</td><td>
The jack_shutdown function pointer. </td></tr>
<tr><td valign=top><em>arg</em>&nbsp;</td><td>
The arguments for the jack_shutdown function.</td></tr>
</table>
</dl>Register a function (and argument) to be called if and when the JACK server shuts down the client thread. The function must be written as if it were an asynchonrous POSIX signal handler --- use only async-safe functions, and remember that it is executed from another thread. A typical function might set a flag or write to a pipe so that the rest of the application knows that the JACK client thread has shut down.
<p>
NOTE: clients do not need to call this. It exists only to help more complex clients understand what is going on. If called, it must be called before jack_client_activate().     </td>
  </tr>
</table>
<a name="a44" doxytag="jack.h::jack_port_by_id"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a3">jack_port_t</a>* jack_port_by_id </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>client</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a5">jack_port_id_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>id</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Searchs for and returns the jack_port_t of id @id.     </td>
  </tr>
</table>
<a name="a43" doxytag="jack.h::jack_port_by_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a3">jack_port_t</a>* jack_port_by_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>portname</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Searchs for and returns the jack_port_t with the name value from portname.     </td>
  </tr>
</table>
<a name="a27" doxytag="jack.h::jack_port_connect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_connect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dst</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Performs the exact same function as <a class="el" href="jack_8h.html#a25">jack_connect()</a>, but it uses port handles rather than names, which avoids the name lookup inherent in the name-based version.
<p>
It is envisaged that clients connecting their own ports will use these two, whereas generic connection clients (e.g. patchbays) will use the name-based versions.     </td>
  </tr>
</table>
<a name="a19" doxytag="jack.h::jack_port_connected"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_connected </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns a positive integer indicating the number of connections to or from @port.
<p>
The calling client must own @port.     </td>
  </tr>
</table>
<a name="a20" doxytag="jack.h::jack_port_connected_to"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_connected_to </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>portname</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns TRUE or FALSE if the port argument is DIRECTLY connected to the port with the name given in 'portname'
<p>
The calling client must own @port.     </td>
  </tr>
</table>
<a name="a28" doxytag="jack.h::jack_port_disconnect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_disconnect </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Performs the exact same function as <a class="el" href="jack_8h.html#a26">jack_disconnect()</a>, but it uses port handles rather than names, which avoids the name lookup inherent in the name-based version.
<p>
It is envisaged that clients disconnecting their own ports will use these two, whereas generic connection clients (e.g. patchbays) will use the name-based versions.     </td>
  </tr>
</table>
<a name="a38" doxytag="jack.h::jack_port_ensure_monitor"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_ensure_monitor </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>onoff</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
If JackPortCanMonitor is set for a port, then this function will turn on input monitoring if it was off, and will turn it off it only one request has been made to turn it on. If JackPortCanMonitor is not set, then this function will do nothing.     </td>
  </tr>
</table>
<a name="a16" doxytag="jack.h::jack_port_flags"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_flags </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the flags of the jack_port_t.     </td>
  </tr>
</table>
<a name="a22" doxytag="jack.h::jack_port_get_all_connections"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char** jack_port_get_all_connections </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>client</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns a null-terminated array of port names to which  the argument port is connected. if there are no connections, it  returns NULL.
<p>
The caller is responsible for calling free(3) on any non-NULL returned value.
<p>
It differs from <a class="el" href="jack_8h.html#a21">jack_port_get_connections()</a> in two important respects:
<p>
1) You may not call this function from code that is executed in response to a JACK event. For example, you cannot use it in a GraphReordered handler.
<p>
2) You need not be the owner of the port to get information about its connections.     </td>
  </tr>
</table>
<a name="a24" doxytag="jack.h::jack_port_get_buffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* jack_port_get_buffer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns a pointer to the memory area associated with the specified port. For an output port, it will be a memory area that can be written to; for an input port, it will be an area containing the data from the port's connection(s), or zero-filled. if there are multiple inbound connections, the data will be mixed appropriately.
<p>
You may cache the value returned, but only between calls to your "blocksize" callback. For this reason alone, you should either never cache the return value or ensure you have a "blocksize" callback and be sure to invalidate the cached address from there.     </td>
  </tr>
</table>
<a name="a21" doxytag="jack.h::jack_port_get_connections"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char** jack_port_get_connections </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This returns a null-terminated array of port names to which  the argument port is connected. if there are no connections, it  returns NULL.
<p>
The caller is responsible for calling free(3) on any non-NULL returned value.
<p>
The calling client must own @port.
<p>
See <a class="el" href="jack_8h.html#a22">jack_port_get_all_connections()</a> for an alternative.     </td>
  </tr>
</table>
<a name="a33" doxytag="jack.h::jack_port_get_latency"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a2">jack_nframes_t</a> jack_port_get_latency </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the time (in frames) between data being available or delivered at/to a port, and the time at which it arrived at or is delivered to the "other side" of the port. E.g. for a physical audio output port, this is the time between writing to the port and when the audio will be audible. For a physical audio input port, this is the time between the sound being audible and the corresponding frames being readable from the port.     </td>
  </tr>
</table>
<a name="a34" doxytag="jack.h::jack_port_get_total_latency"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a2">jack_nframes_t</a> jack_port_get_total_latency </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The maximum of the sum of the latencies in every connection path that can be drawn between the port and other ports with the JackPortIsTerminal flag set.     </td>
  </tr>
</table>
<a name="a18" doxytag="jack.h::jack_port_is_mine"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_is_mine </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns 1 if the jack_port_t belongs to the jack_client_t.     </td>
  </tr>
</table>
<a name="a31" doxytag="jack.h::jack_port_lock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_lock </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A client may call this function to prevent other objects from changing the connection status of a port. The port must be owned by the calling client.     </td>
  </tr>
</table>
<a name="a39" doxytag="jack.h::jack_port_monitoring_input"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_monitoring_input </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a true or false value depending on whether or not  input monitoring has been requested for 'port'.     </td>
  </tr>
</table>
<a name="a14" doxytag="jack.h::jack_port_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* jack_port_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the name of the jack_port_t.     </td>
  </tr>
</table>
<a name="a12" doxytag="jack.h::jack_port_register"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a3">jack_port_t</a>* jack_port_register </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port_name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port_type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned long&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buffer_size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This creates a new port for the client.
<p>
A port is an object used for moving data in or out of the client. the data may be of any type. Ports may be connected to each other in various ways.
<p>
A port has a short name, which may be any non-NULL and non-zero length string, and is passed as the first argument. A port's full name is the name of the client concatenated with a colon (:) and then its short name.
<p>
A port has a type, which may be any non-NULL and non-zero length string, and is passed as the second argument. For types that are not built into the jack API (currently just JACK_DEFAULT_AUDIO_TYPE) the client MUST supply a non-zero size for the buffer as for @buffer_size. For builtin types,  @buffer_size is ignored.
<p>
The @flags argument is formed from a bitmask of JackPortFlags values.     </td>
  </tr>
</table>
<a name="a36" doxytag="jack.h::jack_port_request_monitor"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_request_monitor </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>onoff</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
If JackPortCanMonitor is set for a port, then these 2 functions will turn on/off input monitoring for the port. If JackPortCanMonitor is not set, then these functions will have no effect.     </td>
  </tr>
</table>
<a name="a37" doxytag="jack.h::jack_port_request_monitor_by_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_request_monitor_by_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>client</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port_name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>onoff</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
If JackPortCanMonitor is set for a port, then these 2 functions will turn on/off input monitoring for the port. If JackPortCanMonitor is not set, then these functions will have no effect.     </td>
  </tr>
</table>
<a name="a35" doxytag="jack.h::jack_port_set_latency"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void jack_port_set_latency </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The port latency is zero by default. Clients that control physical hardware with non-zero latency should call this to set the latency to its correct value. Note that the value should include any systemic latency present "outside" the physical hardware controlled by the client. For example, for a client controlling a digital audio interface connected to an external digital converter, the latency setting should include both buffering by the audio interface *and* the converter.     </td>
  </tr>
</table>
<a name="a23" doxytag="jack.h::jack_port_set_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_set_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This modifies a port's name, and may be called at any time.     </td>
  </tr>
</table>
<a name="a15" doxytag="jack.h::jack_port_short_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* jack_port_short_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the short name of the jack_port_t.     </td>
  </tr>
</table>
<a name="a29" doxytag="jack.h::jack_port_tie"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_tie </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dst</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A client may call this on a pair of its own ports to  semi-permanently wire them together. This means that a client that wants to direct-wire an input port to an output port can call this and then no longer have to worry about moving data between them. Any data arriving at the input port will appear automatically at the output port.
<p>
The 'destination' port must be an output port. The 'source' port must be an input port. Both ports must belong to the same client. You cannot use this to tie ports between clients. That is what a connection is for.     </td>
  </tr>
</table>
<a name="a17" doxytag="jack.h::jack_port_type"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* jack_port_type </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the type of the jack_port_t.     </td>
  </tr>
</table>
<a name="a32" doxytag="jack.h::jack_port_unlock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_unlock </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This allows other objects to change the connection status of a port.     </td>
  </tr>
</table>
<a name="a13" doxytag="jack.h::jack_port_unregister"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_unregister </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This removes the port from the client, disconnecting any existing connections at the same time.     </td>
  </tr>
</table>
<a name="a30" doxytag="jack.h::jack_port_untie"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_port_untie </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">jack_port_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>port</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This undoes the effect of <a class="el" href="jack_8h.html#a29">jack_port_tie()</a>. The port should be same as the 'destination' port passed to <a class="el" href="jack_8h.html#a29">jack_port_tie()</a>.     </td>
  </tr>
</table>
<a name="a52" doxytag="jack.h::jack_remove_alias"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_remove_alias </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alias</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Remove `alias' from a JACK system. Returns zero if successful, less than zero if the alias did not exist, greater than zero if the alias could not be removed.     </td>
  </tr>
</table>
<a name="a5" doxytag="jack.h::jack_set_buffer_size_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_set_buffer_size_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a9">JackBufferSizeCallback</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>bufsize_callback</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server to call 'bufsize_callback' whenever the maximum number of frames that could be passed to 'process()' changes. 'arg' will be supplied as a second argument.     </td>
  </tr>
</table>
<a name="a8" doxytag="jack.h::jack_set_graph_order_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_set_graph_order_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a7">JackGraphOrderCallback</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>graph_callback</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server to call 'registration_callback' whenever the processing graph is reordered, passing 'arg' as an argument.     </td>
  </tr>
</table>
<a name="a7" doxytag="jack.h::jack_set_port_registration_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_set_port_registration_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a11">JackPortRegistrationCallback</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>registration_callback</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server to call 'registration_callback' whenever a port is registered or unregistered, passing 'arg' as a second argument.     </td>
  </tr>
</table>
<a name="a4" doxytag="jack.h::jack_set_process_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_set_process_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a6">JackProcessCallback</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>process_callback</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server to call 'process_callback' whenever there is work be done, passing 'arg' as the second argument.     </td>
  </tr>
</table>
<a name="a6" doxytag="jack.h::jack_set_sample_rate_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_set_sample_rate_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a10">JackSampleRateCallback</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>srate_callback</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server to call 'srate_callback' whenever the sample rate of the system changes.     </td>
  </tr>
</table>
<a name="a50" doxytag="jack.h::jack_set_server_dir"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void jack_set_server_dir </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>path</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the directory in which the server is expected to have put its communication FIFOs. A client will need to call this before calling <a class="el" href="jack_8h.html#a0">jack_client_new()</a> if the server was started with arguments telling it to use a non-standard directory.     </td>
  </tr>
</table>
<a name="a9" doxytag="jack.h::jack_set_xrun_callback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int jack_set_xrun_callback </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a8">JackXRunCallback</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>xrun_callback</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>arg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tell the Jack server to call 'xrun_callback' whenever there is a xrun, passing 'arg' as an argument.     </td>
  </tr>
</table>
<a name="a46" doxytag="jack.h::jack_update_time"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void jack_update_time </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a4">jack_client_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a2">jack_nframes_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
undocumented     </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Tue Mar 11 08:52:41 2003 for Jack by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>