<!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>types.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> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> <hr><h1>types.h File Reference</h1><code>#include <limits.h></code><br> <p> <a href="types_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>Defines</h2></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="types_8h.html#a0">JACK_MAX_FRAMES</a> ULONG_MAX;</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="types_8h.html#a1">JACK_DEFAULT_AUDIO_TYPE</a> "32 bit float mono audio"</td></tr> <tr><td colspan=2><br><h2>Typedefs</h2></td></tr> <tr><td nowrap align=right valign=top>typedef unsigned long </td><td valign=bottom><a class="el" href="types_8h.html#a2">jack_nframes_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef _jack_port </td><td valign=bottom><a class="el" href="types_8h.html#a3">jack_port_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef _jack_client </td><td valign=bottom><a class="el" href="types_8h.html#a4">jack_client_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef unsigned long </td><td valign=bottom><a class="el" href="types_8h.html#a5">jack_port_id_t</a></td></tr> <tr><td nowrap align=right valign=top>typedef int(* </td><td valign=bottom><a class="el" href="types_8h.html#a6">JackProcessCallback</a> )(<a class="el" href="types_8h.html#a2">jack_nframes_t</a> nframes, void *arg)</td></tr> <tr><td nowrap align=right valign=top>typedef int(* </td><td valign=bottom><a class="el" href="types_8h.html#a7">JackGraphOrderCallback</a> )(void *arg)</td></tr> <tr><td nowrap align=right valign=top>typedef int(* </td><td valign=bottom><a class="el" href="types_8h.html#a8">JackXRunCallback</a> )(void *arg)</td></tr> <tr><td nowrap align=right valign=top>typedef int(* </td><td valign=bottom><a class="el" href="types_8h.html#a9">JackBufferSizeCallback</a> )(<a class="el" href="types_8h.html#a2">jack_nframes_t</a> nframes, void *arg)</td></tr> <tr><td nowrap align=right valign=top>typedef int(* </td><td valign=bottom><a class="el" href="types_8h.html#a10">JackSampleRateCallback</a> )(<a class="el" href="types_8h.html#a2">jack_nframes_t</a> nframes, void *arg)</td></tr> <tr><td nowrap align=right valign=top>typedef void(* </td><td valign=bottom><a class="el" href="types_8h.html#a11">JackPortRegistrationCallback</a> )(<a class="el" href="types_8h.html#a5">jack_port_id_t</a> port, int, void *arg)</td></tr> <tr><td nowrap align=right valign=top>typedef float </td><td valign=bottom><a class="el" href="types_8h.html#a12">jack_default_audio_sample_t</a></td></tr> <tr><td colspan=2><br><h2>Enumerations</h2></td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="types_8h.html#a18">JackPortFlags</a> { <br> <a class="el" href="types_8h.html#a18a13">JackPortIsInput</a> = 0x1, <a class="el" href="types_8h.html#a18a14">JackPortIsOutput</a> = 0x2, <a class="el" href="types_8h.html#a18a15">JackPortIsPhysical</a> = 0x4, <a class="el" href="types_8h.html#a18a16">JackPortCanMonitor</a> = 0x8, <br> <a class="el" href="types_8h.html#a18a17">JackPortIsTerminal</a> = 0x10 <br> }</td></tr> </table> <hr><h2>Define Documentation</h2> <a name="a1" doxytag="types.h::JACK_DEFAULT_AUDIO_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"> #define JACK_DEFAULT_AUDIO_TYPE "32 bit float mono audio" </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Used for the type argument of <a class="el" href="jack_8h.html#a12">jack_port_register()</a>. </td> </tr> </table> <a name="a0" doxytag="types.h::JACK_MAX_FRAMES"></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"> #define JACK_MAX_FRAMES ULONG_MAX; </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Maximum value that can be stored in jack_nframes_t </td> </tr> </table> <hr><h2>Typedef Documentation</h2> <a name="a4" doxytag="types.h::jack_client_t"></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"> typedef struct _jack_client jack_client_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> jack_client_t is an opaque type. You may only access it using the API provided. </td> </tr> </table> <a name="a12" doxytag="types.h::jack_default_audio_sample_t"></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"> typedef float jack_default_audio_sample_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> For convenience, use this typedef if you want to be able to change between float and double. You may want to typedef sample_t to jack_default_audio_sample_t in your application. </td> </tr> </table> <a name="a2" doxytag="types.h::jack_nframes_t"></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"> typedef unsigned long jack_nframes_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Type used to represent sample frame counts. </td> </tr> </table> <a name="a5" doxytag="types.h::jack_port_id_t"></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"> typedef unsigned long jack_port_id_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Ports have unique ids. You will very rarely need to know them, however, except in the case of the port registration callback. </td> </tr> </table> <a name="a3" doxytag="types.h::jack_port_t"></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"> typedef struct _jack_port jack_port_t </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> jack_port_t is an opaque type. You may only access it using the API provided. </td> </tr> </table> <a name="a9" doxytag="types.h::JackBufferSizeCallback"></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"> typedef int(* JackBufferSizeCallback)(<a class="el" href="types_8h.html#a2">jack_nframes_t</a> nframes, void *arg) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Prototype for the client supplied function that is called when the engine buffersize changes. <p> Note! Use of this callback function is deprecated!<dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>nframes</em> </td><td> new engine buffer size </td></tr> <tr><td valign=top><em>arg</em> </td><td> pointer to a client supplied structure</td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero on success, non-zero on error </dl> </td> </tr> </table> <a name="a7" doxytag="types.h::JackGraphOrderCallback"></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"> typedef int(* JackGraphOrderCallback)(void *arg) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Prototype for the client supplied function that is called whenever the processing graph is reordered.<dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>arg</em> </td><td> pointer to a client supplied structure</td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero on success, non-zero on error </dl> </td> </tr> </table> <a name="a11" doxytag="types.h::JackPortRegistrationCallback"></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"> typedef void(* JackPortRegistrationCallback)(<a class="el" href="types_8h.html#a5">jack_port_id_t</a> port, int, void *arg) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Prototype for the client supplied function that is called whenever a port is registered or unregistered.<dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>arg</em> </td><td> pointer to a client supplied structure </td></tr> </table> </dl> </td> </tr> </table> <a name="a6" doxytag="types.h::JackProcessCallback"></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"> typedef int(* JackProcessCallback)(<a class="el" href="types_8h.html#a2">jack_nframes_t</a> nframes, void *arg) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Prototype for the client supplied function that is called by the engine anytime there is work to be done. <p> <dl compact><dt><b>Precondition: </b></dt><dd> nframes == <a class="el" href="jack_8h.html#a41">jack_get_buffer_size()</a> <dd> nframes == pow(2,x)</dl><dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>nframes</em> </td><td> number of frames to process </td></tr> <tr><td valign=top><em>arg</em> </td><td> pointer to a client supplied structure</td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero on success, non-zero on error </dl> </td> </tr> </table> <a name="a10" doxytag="types.h::JackSampleRateCallback"></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"> typedef int(* JackSampleRateCallback)(<a class="el" href="types_8h.html#a2">jack_nframes_t</a> nframes, void *arg) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Prototype for the client supplied function that is called when the engine sample rate changes.<dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>nframes</em> </td><td> new engine sample rate </td></tr> <tr><td valign=top><em>arg</em> </td><td> pointer to a client supplied structure</td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero on success, non-zero on error </dl> </td> </tr> </table> <a name="a8" doxytag="types.h::JackXRunCallback"></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"> typedef int(* JackXRunCallback)(void *arg) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Prototype for the client supplied function that is called whenever an xrun has occured.<dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>arg</em> </td><td> pointer to a client supplied structure</td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> zero on success, non-zero on error </dl> </td> </tr> </table> <hr><h2>Enumeration Type Documentation</h2> <a name="a18" doxytag="types.h::JackPortFlags"></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"> enum JackPortFlags </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> A port has a set of flags that are formed by AND-ing together the desired values from the list below. The flags "JackPortIsInput" and "JackPortIsOutput" are mutually exclusive and it is an error to use them both. <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a18a13" doxytag="JackPortIsInput"></a><em>JackPortIsInput</em></em> </td><td> if JackPortIsInput is set, then the port can receive data. </td></tr> <tr><td valign=top><em><a name="a18a14" doxytag="JackPortIsOutput"></a><em>JackPortIsOutput</em></em> </td><td> if JackPortIsOutput is set, then data can be read from the port. </td></tr> <tr><td valign=top><em><a name="a18a15" doxytag="JackPortIsPhysical"></a><em>JackPortIsPhysical</em></em> </td><td> if JackPortIsPhysical is set, then the port corresponds to some kind of physical I/O connector. </td></tr> <tr><td valign=top><em><a name="a18a16" doxytag="JackPortCanMonitor"></a><em>JackPortCanMonitor</em></em> </td><td> if JackPortCanMonitor is set, then a call to <a class="el" href="jack_8h.html#a36">jack_port_request_monitor()</a> makes sense. <p> Precisely what this means is dependent on the client. A typical result of it being called with TRUE as the second argument is that data that would be available from an output port (with JackPortIsPhysical set) is sent to a physical output connector as well, so that it can be heard/seen/whatever. <p> Clients that do not control physical interfaces should never create ports with this bit set. </td></tr> <tr><td valign=top><em><a name="a18a17" doxytag="JackPortIsTerminal"></a><em>JackPortIsTerminal</em></em> </td><td> JackPortIsTerminal means: <p> for an input port: the data received by the port will not be passed on or made available at any other port <p> for an output port: the data available at the port does not originate from any other port <p> Audio synthesizers, i/o h/w interface clients, HDR systems are examples of things that would set this flag for their ports. </td></tr> </table> </dl> </td> </tr> </table> <hr><address style="align: right;"><small>Generated on Tue Mar 11 08:52:42 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>