Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /usr/share/doc/libjack-dev/HTML/ |
Current File : //usr/share/doc/libjack-dev/HTML/group__ClientCallbacks.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>JACK-AUDIO-CONNECTION-KIT: Setting Client Callbacks</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">JACK-AUDIO-CONNECTION-KIT  <span id="projectnumber">0.122.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.2 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Setting Client Callbacks</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:gad5a6904292f5c9790223c18aeab202bf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gad5a6904292f5c9790223c18aeab202bf">jack_set_thread_init_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#a7c4428bf3b2caf8bb0b92314acaa1307">JackThreadInitCallback</a> thread_init_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga417b907ee02efbe00f5e9a2f4d202599"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga417b907ee02efbe00f5e9a2f4d202599">jack_on_shutdown</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#a2069f13b45929fa414613de4421083ed">JackShutdownCallback</a> function, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:gaf54d9f133267170ef1e6ce5219d24dd4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gaf54d9f133267170ef1e6ce5219d24dd4">jack_on_info_shutdown</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#a594934437a7d17b2af8a1ab8f5e969ca">JackInfoShutdownCallback</a> function, void *arg) JACK_WEAK_EXPORT</td></tr> <tr class="memitem:gafb5ec9fb4b736606d676c135fb97888b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gafb5ec9fb4b736606d676c135fb97888b">jack_set_process_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#a4923142208a8e7dacf00ca7a10681d2b">JackProcessCallback</a> process_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:gae797e2cde20faecb9be510c8873fbdd6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gae797e2cde20faecb9be510c8873fbdd6">jack_set_freewheel_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#ac7b7d36a121a4828002b2c5a8ddefcd6">JackFreewheelCallback</a> freewheel_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga030cc371acb19abe52861492acb960ad"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga030cc371acb19abe52861492acb960ad">jack_set_buffer_size_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#a0261190ceecb5da2c2f57a95407f3207">JackBufferSizeCallback</a> bufsize_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:gac1b3eb298cfa2869b8773c6cecf7f4b3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gac1b3eb298cfa2869b8773c6cecf7f4b3">jack_set_sample_rate_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#afed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#ab993af9e0b5fe4f9b9645c092abcec35">JackSampleRateCallback</a> srate_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga51b01a31e56c92f4e2788a94840f0f37"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga51b01a31e56c92f4e2788a94840f0f37">jack_set_client_registration_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#a0ae385908cac1f5dffbdf25c377237f4">JackClientRegistrationCallback</a> registration_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga30983a0478551a3cd20b71d692b24007"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga30983a0478551a3cd20b71d692b24007">jack_set_port_registration_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#abe0df275316020d3607e0cde8e1161d3">JackPortRegistrationCallback</a> registration_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga5312576d779c0664a7c703c87a9dba89"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga5312576d779c0664a7c703c87a9dba89">jack_set_port_connect_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#aa5218343bca6daa13a99c30ea39ac96c">JackPortConnectCallback</a> connect_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:gacd0804ccef7c6891d8265bd88e7429ee"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gacd0804ccef7c6891d8265bd88e7429ee">jack_set_graph_order_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#a8a656ca8ccb88cb25255e1ae85e834c7">JackGraphOrderCallback</a> graph_callback, void *) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga08196c75f06d9e68f9a3570dfcb1e323"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga08196c75f06d9e68f9a3570dfcb1e323">jack_set_xrun_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#a7955ec486286fec4e2a71243bb66370e">JackXRunCallback</a> xrun_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT</td></tr> <tr class="memitem:ga70a38fb1e74c5e9df9f1305c695c58bf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#ga70a38fb1e74c5e9df9f1305c695c58bf">jack_set_latency_callback</a> (<a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#a96dd81bc48bbcac6187188bd7c6a54a6">JackLatencyCallback</a> latency_callback, void *) JACK_WEAK_EXPORT</td></tr> </table> <a name="details" id="details"></a><h2>Detailed Description</h2> <h2>Function Documentation</h2> <a class="anchor" id="gaf54d9f133267170ef1e6ce5219d24dd4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void jack_on_info_shutdown </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a594934437a7d17b2af8a1ab8f5e969ca">JackInfoShutdownCallback</a> </td> <td class="paramname"><em>function</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">client</td><td>pointer to JACK client structure. </td></tr> <tr><td class="paramname">function</td><td>The jack_shutdown function pointer. </td></tr> <tr><td class="paramname">arg</td><td>The arguments for the jack_shutdown function.</td></tr> </table> </dd> </dl> <p>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> <p>NOTE: clients do not need to call this. It exists only to help more complex clients understand what is going on. It should be called before jack_client_activate().</p> <p>NOTE: if a client calls this AND <a class="el" href="group__ClientCallbacks.html#ga417b907ee02efbe00f5e9a2f4d202599">jack_on_shutdown()</a>, then in the event of a client thread shutdown, the callback passed to this function will be called, and the one passed to <a class="el" href="group__ClientCallbacks.html#ga417b907ee02efbe00f5e9a2f4d202599">jack_on_shutdown()</a> will not. </p> </div> </div> <a class="anchor" id="ga417b907ee02efbe00f5e9a2f4d202599"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void jack_on_shutdown </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a2069f13b45929fa414613de4421083ed">JackShutdownCallback</a> </td> <td class="paramname"><em>function</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">client</td><td>pointer to JACK client structure. </td></tr> <tr><td class="paramname">function</td><td>The jack_shutdown function pointer. </td></tr> <tr><td class="paramname">arg</td><td>The arguments for the jack_shutdown function.</td></tr> </table> </dd> </dl> <p>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> <p>NOTE: clients do not need to call this. It exists only to help more complex clients understand what is going on. It should be called before jack_client_activate().</p> <p>NOTE: if a client calls this AND <a class="el" href="group__ClientCallbacks.html#gaf54d9f133267170ef1e6ce5219d24dd4">jack_on_info_shutdown()</a>, then the event of a client thread shutdown, the callback passed to this function will not be called, and the one passed to <a class="el" href="group__ClientCallbacks.html#gaf54d9f133267170ef1e6ce5219d24dd4">jack_on_info_shutdown()</a> will. </p> <p>Referenced by <a class="el" href="simple__client_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>.</p> </div> </div> <a class="anchor" id="ga030cc371acb19abe52861492acb960ad"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_buffer_size_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a0261190ceecb5da2c2f57a95407f3207">JackBufferSizeCallback</a> </td> <td class="paramname"><em>bufsize_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell JACK to call <em>bufsize_callback</em> whenever the size of the the buffer that will be passed to the <em>process_callback</em> is about to change. Clients that depend on knowing the buffer size must supply a <em>bufsize_callback</em> before activating themselves.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">client</td><td>pointer to JACK client structure. </td></tr> <tr><td class="paramname">bufsize_callback</td><td>function to call when the buffer size changes. </td></tr> <tr><td class="paramname">arg</td><td>argument for <em>bufsize_callback</em>.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="ga51b01a31e56c92f4e2788a94840f0f37"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_client_registration_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a0ae385908cac1f5dffbdf25c377237f4">JackClientRegistrationCallback</a> </td> <td class="paramname"><em>registration_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the JACK server to call <em>registration_callback</em> whenever a port is registered or unregistered, passing <em>arg</em> as a parameter.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="gae797e2cde20faecb9be510c8873fbdd6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_freewheel_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#ac7b7d36a121a4828002b2c5a8ddefcd6">JackFreewheelCallback</a> </td> <td class="paramname"><em>freewheel_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the Jack server to call <em>freewheel_callback</em> whenever we enter or leave "freewheel" mode, passing <em>arg</em> as the second argument. The first argument to the callback will be non-zero if JACK is entering freewheel mode, and zero otherwise.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code. </dd></dl> </div> </div> <a class="anchor" id="gacd0804ccef7c6891d8265bd88e7429ee"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_graph_order_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a8a656ca8ccb88cb25255e1ae85e834c7">JackGraphOrderCallback</a> </td> <td class="paramname"><em>graph_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the JACK server to call <em>graph_callback</em> whenever the processing graph is reordered, passing <em>arg</em> as a parameter.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="ga70a38fb1e74c5e9df9f1305c695c58bf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_latency_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a96dd81bc48bbcac6187188bd7c6a54a6">JackLatencyCallback</a> </td> <td class="paramname"><em>latency_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the Jack server to call <em>latency_callback</em> whenever it is necessary to recompute the latencies for some or all Jack ports.</p> <p><em>latency_callback</em> will be called twice each time it is needed, once being passed JackCaptureLatency and once JackPlaybackLatency. See <a class="el" href="group__LatencyFunctions.html">Managing and determining latency</a> for the definition of each type of latency and related functions.</p> <p><b>IMPORTANT: Most JACK clients do NOT need to register a latency callback.</b></p> <p>Clients that meet any of the following conditions do NOT need to register a latency callback:</p> <ul> <li>have only input ports</li> <li>have only output ports</li> <li>their output is totally unrelated to their input</li> <li>their output is not delayed relative to their input (i.e. data that arrives in a given <a class="el" href="simple__client_8c.html#a01271cc6cf692278ae35d0062935d7ae">process()</a> callback is processed and output again in the same callback)</li> </ul> <p>Clients NOT registering a latency callback MUST also satisfy this condition:</p> <ul> <li>have no multiple distinct internal signal pathways</li> </ul> <p>This means that if your client has more than 1 input and output port, and considers them always "correlated" (e.g. as a stereo pair), then there is only 1 (e.g. stereo) signal pathway through the client. This would be true, for example, of a stereo FX rack client that has a left/right input pair and a left/right output pair.</p> <p>However, this is somewhat a matter of perspective. The same FX rack client could be connected so that its two input ports were connected to entirely separate sources. Under these conditions, the fact that the client does not register a latency callback MAY result in port latency values being incorrect.</p> <p>Clients that do not meet any of those conditions SHOULD register a latency callback.</p> <p>See the documentation for <a class="el" href="group__LatencyFunctions.html#ga7a8f181fcec32945db7b8e06ee1ca94b">jack_port_set_latency_range()</a> on how the callback should operate. Remember that the <em>mode</em> argument given to the latency callback will need to be passed into <a class="el" href="group__LatencyFunctions.html#ga7a8f181fcec32945db7b8e06ee1ca94b">jack_port_set_latency_range()</a></p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="ga5312576d779c0664a7c703c87a9dba89"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_port_connect_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#aa5218343bca6daa13a99c30ea39ac96c">JackPortConnectCallback</a> </td> <td class="paramname"><em>connect_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the JACK server to call <em>connect_callback</em> whenever a port is connected or disconnected, passing <em>arg</em> as a parameter.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="ga30983a0478551a3cd20b71d692b24007"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_port_registration_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#abe0df275316020d3607e0cde8e1161d3">JackPortRegistrationCallback</a> </td> <td class="paramname"><em>registration_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the JACK server to call <em>registration_callback</em> whenever a port is registered or unregistered, passing <em>arg</em> as a parameter.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="gafb5ec9fb4b736606d676c135fb97888b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_process_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a4923142208a8e7dacf00ca7a10681d2b">JackProcessCallback</a> </td> <td class="paramname"><em>process_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the Jack server to call <em>process_callback</em> whenever there is work be done, passing <em>arg</em> as the second argument.</p> <p>The code in the supplied function must be suitable for real-time execution. That means that it cannot call functions that might block for a long time. This includes all I/O functions (disk, TTY, network), malloc, free, printf, pthread_mutex_lock, sleep, wait, poll, select, pthread_join, pthread_cond_wait, etc, etc.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code, causing JACK to remove that client from the <a class="el" href="simple__client_8c.html#a01271cc6cf692278ae35d0062935d7ae">process()</a> graph. </dd></dl> <p>Referenced by <a class="el" href="inprocess_8c.html#a872c1ad15ec7ba35574b0bafc91212c9">jack_initialize()</a>, and <a class="el" href="simple__client_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>.</p> </div> </div> <a class="anchor" id="gac1b3eb298cfa2869b8773c6cecf7f4b3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_sample_rate_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#ab993af9e0b5fe4f9b9645c092abcec35">JackSampleRateCallback</a> </td> <td class="paramname"><em>srate_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the Jack server to call <em>srate_callback</em> whenever the system sample rate changes.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> <a class="anchor" id="gad5a6904292f5c9790223c18aeab202bf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_thread_init_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a7c4428bf3b2caf8bb0b92314acaa1307">JackThreadInitCallback</a> </td> <td class="paramname"><em>thread_init_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell JACK to call <em>thread_init_callback</em> once just after the creation of the thread in which all other callbacks will be handled.</p> <p>The code in the supplied function does not need to be suitable for real-time execution.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code, causing JACK to remove that client from the <a class="el" href="simple__client_8c.html#a01271cc6cf692278ae35d0062935d7ae">process()</a> graph. </dd></dl> </div> </div> <a class="anchor" id="ga08196c75f06d9e68f9a3570dfcb1e323"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int jack_set_xrun_callback </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#a96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#a7955ec486286fec4e2a71243bb66370e">JackXRunCallback</a> </td> <td class="paramname"><em>xrun_callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tell the JACK server to call <em>xrun_callback</em> whenever there is a xrun, passing <em>arg</em> as a parameter.</p> <dl class="section return"><dt>Returns</dt><dd>0 on success, otherwise a non-zero error code </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Sun Sep 30 2012 09:08:39 for JACK-AUDIO-CONNECTION-KIT by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.2 </small></address> </body> </html>
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare