~ubuntu-branches/ubuntu/trusty/jack-audio-connection-kit/trusty

« back to all changes in this revision

Viewing changes to doc/reference/html/group__ClientCallbacks.html

  • Committer: Bazaar Package Importer
  • Author(s): Luca Falavigna
  • Date: 2008-12-06 11:05:15 UTC
  • mfrom: (4.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20081206110515-xa9v9pajr9jqvfvg
Tags: 0.115.6-1ubuntu1
* Merge from Debian unstable, remaining Ubuntu changes:
  - Redirect stderr in bash completion (Debian #504488).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 
3
<title>JACK-AUDIO-CONNECTION-KIT: Setting Client Callbacks</title>
 
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
 
5
<link href="tabs.css" rel="stylesheet" type="text/css">
 
6
</head><body>
 
7
<!-- Generated by Doxygen 1.5.6 -->
 
8
<div class="contents">
 
9
<h1>Setting Client Callbacks</h1><table border="0" cellpadding="0" cellspacing="0">
 
10
<tr><td></td></tr>
 
11
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
 
12
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gbad6ea38ac9d8e5ff4231a083604fff9">jack_set_thread_init_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#fed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#7c4428bf3b2caf8bb0b92314acaa1307">JackThreadInitCallback</a> thread_init_callback, void *arg)</td></tr>
 
13
 
 
14
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g76f99f987700b33cd3c28b3cb79f6bf5">jack_on_shutdown</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#fed7053cd7bdd1cce33dec7213f340ea">client</a>, void(*function)(void *arg), void *arg)</td></tr>
 
15
 
 
16
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g62351a5803421b6c21b9ffb9124801ef">jack_set_process_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#fed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#4923142208a8e7dacf00ca7a10681d2b">JackProcessCallback</a> process_callback, void *arg)</td></tr>
 
17
 
 
18
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gc8e87f2c4054afc41c98c8f6a2460859">jack_set_freewheel_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#fed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#c7b7d36a121a4828002b2c5a8ddefcd6">JackFreewheelCallback</a> freewheel_callback, void *arg)</td></tr>
 
19
 
 
20
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g664b5c6516c05878fdcd000af149fad9">jack_set_buffer_size_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#fed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#0261190ceecb5da2c2f57a95407f3207">JackBufferSizeCallback</a> bufsize_callback, void *arg)</td></tr>
 
21
 
 
22
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gfb44f979b13f2dc1fbf2ba7b52882d65">jack_set_sample_rate_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *<a class="el" href="simple__client_8c.html#fed7053cd7bdd1cce33dec7213f340ea">client</a>, <a class="el" href="types_8h.html#b993af9e0b5fe4f9b9645c092abcec35">JackSampleRateCallback</a> srate_callback, void *arg)</td></tr>
 
23
 
 
24
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#gdbabe066f85692eb50546cbf2bd5c209">jack_set_client_registration_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#0ae385908cac1f5dffbdf25c377237f4">JackClientRegistrationCallback</a> registration_callback, void *arg)</td></tr>
 
25
 
 
26
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g36c72f648c7adb7a1698564cb65c4dd9">jack_set_port_registration_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#be0df275316020d3607e0cde8e1161d3">JackPortRegistrationCallback</a> registration_callback, void *arg)</td></tr>
 
27
 
 
28
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g9f1de5c519d43a5ec60a373d8953ad1f">jack_set_port_connect_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#a5218343bca6daa13a99c30ea39ac96c">JackPortConnectCallback</a> connect_callback, void *arg)</td></tr>
 
29
 
 
30
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g50f1f3a79e50cf04016b2ec57be60f0b">jack_set_graph_order_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#8a656ca8ccb88cb25255e1ae85e834c7">JackGraphOrderCallback</a> graph_callback, void *)</td></tr>
 
31
 
 
32
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ClientCallbacks.html#g185c6859d72bb56452b72d1dcd8924f7">jack_set_xrun_callback</a> (<a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *, <a class="el" href="types_8h.html#7955ec486286fec4e2a71243bb66370e">JackXRunCallback</a> xrun_callback, void *arg)</td></tr>
 
33
 
 
34
</table>
 
35
<hr><h2>Function Documentation</h2>
 
36
<a class="anchor" name="g76f99f987700b33cd3c28b3cb79f6bf5"></a><!-- doxytag: member="jack.h::jack_on_shutdown" ref="g76f99f987700b33cd3c28b3cb79f6bf5" args="(jack_client_t *client, void(*function)(void *arg), void *arg)" -->
 
37
<div class="memitem">
 
38
<div class="memproto">
 
39
      <table class="memname">
 
40
        <tr>
 
41
          <td class="memname">void jack_on_shutdown           </td>
 
42
          <td>(</td>
 
43
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
44
          <td class="paramname"> <em>client</em>, </td>
 
45
        </tr>
 
46
        <tr>
 
47
          <td class="paramkey"></td>
 
48
          <td></td>
 
49
          <td class="paramtype">void(*)(void *arg)&nbsp;</td>
 
50
          <td class="paramname"> <em>function</em>, </td>
 
51
        </tr>
 
52
        <tr>
 
53
          <td class="paramkey"></td>
 
54
          <td></td>
 
55
          <td class="paramtype">void *&nbsp;</td>
 
56
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
57
        </tr>
 
58
        <tr>
 
59
          <td></td>
 
60
          <td>)</td>
 
61
          <td></td><td></td><td></td>
 
62
        </tr>
 
63
      </table>
 
64
</div>
 
65
<div class="memdoc">
 
66
 
 
67
<p>
 
68
<dl compact><dt><b>Parameters:</b></dt><dd>
 
69
  <table border="0" cellspacing="2" cellpadding="0">
 
70
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>pointer to JACK client structure. </td></tr>
 
71
    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>The jack_shutdown function pointer. </td></tr>
 
72
    <tr><td valign="top"></td><td valign="top"><em>arg</em>&nbsp;</td><td>The arguments for the jack_shutdown function.</td></tr>
 
73
  </table>
 
74
</dl>
 
75
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>
 
76
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(). 
 
77
<p>Referenced by <a class="el" href="simple__client_8c-source.html#l00051">main()</a>.</p>
 
78
 
 
79
</div>
 
80
</div><p>
 
81
<a class="anchor" name="g664b5c6516c05878fdcd000af149fad9"></a><!-- doxytag: member="jack.h::jack_set_buffer_size_callback" ref="g664b5c6516c05878fdcd000af149fad9" args="(jack_client_t *client, JackBufferSizeCallback bufsize_callback, void *arg)" -->
 
82
<div class="memitem">
 
83
<div class="memproto">
 
84
      <table class="memname">
 
85
        <tr>
 
86
          <td class="memname">int jack_set_buffer_size_callback           </td>
 
87
          <td>(</td>
 
88
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
89
          <td class="paramname"> <em>client</em>, </td>
 
90
        </tr>
 
91
        <tr>
 
92
          <td class="paramkey"></td>
 
93
          <td></td>
 
94
          <td class="paramtype"><a class="el" href="types_8h.html#0261190ceecb5da2c2f57a95407f3207">JackBufferSizeCallback</a>&nbsp;</td>
 
95
          <td class="paramname"> <em>bufsize_callback</em>, </td>
 
96
        </tr>
 
97
        <tr>
 
98
          <td class="paramkey"></td>
 
99
          <td></td>
 
100
          <td class="paramtype">void *&nbsp;</td>
 
101
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
102
        </tr>
 
103
        <tr>
 
104
          <td></td>
 
105
          <td>)</td>
 
106
          <td></td><td></td><td></td>
 
107
        </tr>
 
108
      </table>
 
109
</div>
 
110
<div class="memdoc">
 
111
 
 
112
<p>
 
113
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>
 
114
<dl compact><dt><b>Parameters:</b></dt><dd>
 
115
  <table border="0" cellspacing="2" cellpadding="0">
 
116
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>pointer to JACK client structure. </td></tr>
 
117
    <tr><td valign="top"></td><td valign="top"><em>bufsize_callback</em>&nbsp;</td><td>function to call when the buffer size changes. </td></tr>
 
118
    <tr><td valign="top"></td><td valign="top"><em>arg</em>&nbsp;</td><td>argument for <em>bufsize_callback</em>.</td></tr>
 
119
  </table>
 
120
</dl>
 
121
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
122
 
 
123
</div>
 
124
</div><p>
 
125
<a class="anchor" name="gdbabe066f85692eb50546cbf2bd5c209"></a><!-- doxytag: member="jack.h::jack_set_client_registration_callback" ref="gdbabe066f85692eb50546cbf2bd5c209" args="(jack_client_t *, JackClientRegistrationCallback registration_callback, void *arg)" -->
 
126
<div class="memitem">
 
127
<div class="memproto">
 
128
      <table class="memname">
 
129
        <tr>
 
130
          <td class="memname">int jack_set_client_registration_callback           </td>
 
131
          <td>(</td>
 
132
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
133
          <td class="paramname">, </td>
 
134
        </tr>
 
135
        <tr>
 
136
          <td class="paramkey"></td>
 
137
          <td></td>
 
138
          <td class="paramtype"><a class="el" href="types_8h.html#0ae385908cac1f5dffbdf25c377237f4">JackClientRegistrationCallback</a>&nbsp;</td>
 
139
          <td class="paramname"> <em>registration_callback</em>, </td>
 
140
        </tr>
 
141
        <tr>
 
142
          <td class="paramkey"></td>
 
143
          <td></td>
 
144
          <td class="paramtype">void *&nbsp;</td>
 
145
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
146
        </tr>
 
147
        <tr>
 
148
          <td></td>
 
149
          <td>)</td>
 
150
          <td></td><td></td><td></td>
 
151
        </tr>
 
152
      </table>
 
153
</div>
 
154
<div class="memdoc">
 
155
 
 
156
<p>
 
157
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>
 
158
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
159
 
 
160
</div>
 
161
</div><p>
 
162
<a class="anchor" name="gc8e87f2c4054afc41c98c8f6a2460859"></a><!-- doxytag: member="jack.h::jack_set_freewheel_callback" ref="gc8e87f2c4054afc41c98c8f6a2460859" args="(jack_client_t *client, JackFreewheelCallback freewheel_callback, void *arg)" -->
 
163
<div class="memitem">
 
164
<div class="memproto">
 
165
      <table class="memname">
 
166
        <tr>
 
167
          <td class="memname">int jack_set_freewheel_callback           </td>
 
168
          <td>(</td>
 
169
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
170
          <td class="paramname"> <em>client</em>, </td>
 
171
        </tr>
 
172
        <tr>
 
173
          <td class="paramkey"></td>
 
174
          <td></td>
 
175
          <td class="paramtype"><a class="el" href="types_8h.html#c7b7d36a121a4828002b2c5a8ddefcd6">JackFreewheelCallback</a>&nbsp;</td>
 
176
          <td class="paramname"> <em>freewheel_callback</em>, </td>
 
177
        </tr>
 
178
        <tr>
 
179
          <td class="paramkey"></td>
 
180
          <td></td>
 
181
          <td class="paramtype">void *&nbsp;</td>
 
182
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
183
        </tr>
 
184
        <tr>
 
185
          <td></td>
 
186
          <td>)</td>
 
187
          <td></td><td></td><td></td>
 
188
        </tr>
 
189
      </table>
 
190
</div>
 
191
<div class="memdoc">
 
192
 
 
193
<p>
 
194
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>
 
195
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code. </dd></dl>
 
196
 
 
197
</div>
 
198
</div><p>
 
199
<a class="anchor" name="g50f1f3a79e50cf04016b2ec57be60f0b"></a><!-- doxytag: member="jack.h::jack_set_graph_order_callback" ref="g50f1f3a79e50cf04016b2ec57be60f0b" args="(jack_client_t *, JackGraphOrderCallback graph_callback, void *)" -->
 
200
<div class="memitem">
 
201
<div class="memproto">
 
202
      <table class="memname">
 
203
        <tr>
 
204
          <td class="memname">int jack_set_graph_order_callback           </td>
 
205
          <td>(</td>
 
206
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
207
          <td class="paramname">, </td>
 
208
        </tr>
 
209
        <tr>
 
210
          <td class="paramkey"></td>
 
211
          <td></td>
 
212
          <td class="paramtype"><a class="el" href="types_8h.html#8a656ca8ccb88cb25255e1ae85e834c7">JackGraphOrderCallback</a>&nbsp;</td>
 
213
          <td class="paramname"> <em>graph_callback</em>, </td>
 
214
        </tr>
 
215
        <tr>
 
216
          <td class="paramkey"></td>
 
217
          <td></td>
 
218
          <td class="paramtype">void *&nbsp;</td>
 
219
          <td class="paramname"></td><td>&nbsp;</td>
 
220
        </tr>
 
221
        <tr>
 
222
          <td></td>
 
223
          <td>)</td>
 
224
          <td></td><td></td><td></td>
 
225
        </tr>
 
226
      </table>
 
227
</div>
 
228
<div class="memdoc">
 
229
 
 
230
<p>
 
231
Tell the JACK server to call <em>graph_callback</em> whenever the processing graph is reordered, passing <em>arg</em> as a parameter.<p>
 
232
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
233
 
 
234
</div>
 
235
</div><p>
 
236
<a class="anchor" name="g9f1de5c519d43a5ec60a373d8953ad1f"></a><!-- doxytag: member="jack.h::jack_set_port_connect_callback" ref="g9f1de5c519d43a5ec60a373d8953ad1f" args="(jack_client_t *, JackPortConnectCallback connect_callback, void *arg)" -->
 
237
<div class="memitem">
 
238
<div class="memproto">
 
239
      <table class="memname">
 
240
        <tr>
 
241
          <td class="memname">int jack_set_port_connect_callback           </td>
 
242
          <td>(</td>
 
243
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
244
          <td class="paramname">, </td>
 
245
        </tr>
 
246
        <tr>
 
247
          <td class="paramkey"></td>
 
248
          <td></td>
 
249
          <td class="paramtype"><a class="el" href="types_8h.html#a5218343bca6daa13a99c30ea39ac96c">JackPortConnectCallback</a>&nbsp;</td>
 
250
          <td class="paramname"> <em>connect_callback</em>, </td>
 
251
        </tr>
 
252
        <tr>
 
253
          <td class="paramkey"></td>
 
254
          <td></td>
 
255
          <td class="paramtype">void *&nbsp;</td>
 
256
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
257
        </tr>
 
258
        <tr>
 
259
          <td></td>
 
260
          <td>)</td>
 
261
          <td></td><td></td><td></td>
 
262
        </tr>
 
263
      </table>
 
264
</div>
 
265
<div class="memdoc">
 
266
 
 
267
<p>
 
268
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>
 
269
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
270
 
 
271
</div>
 
272
</div><p>
 
273
<a class="anchor" name="g36c72f648c7adb7a1698564cb65c4dd9"></a><!-- doxytag: member="jack.h::jack_set_port_registration_callback" ref="g36c72f648c7adb7a1698564cb65c4dd9" args="(jack_client_t *, JackPortRegistrationCallback registration_callback, void *arg)" -->
 
274
<div class="memitem">
 
275
<div class="memproto">
 
276
      <table class="memname">
 
277
        <tr>
 
278
          <td class="memname">int jack_set_port_registration_callback           </td>
 
279
          <td>(</td>
 
280
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
281
          <td class="paramname">, </td>
 
282
        </tr>
 
283
        <tr>
 
284
          <td class="paramkey"></td>
 
285
          <td></td>
 
286
          <td class="paramtype"><a class="el" href="types_8h.html#be0df275316020d3607e0cde8e1161d3">JackPortRegistrationCallback</a>&nbsp;</td>
 
287
          <td class="paramname"> <em>registration_callback</em>, </td>
 
288
        </tr>
 
289
        <tr>
 
290
          <td class="paramkey"></td>
 
291
          <td></td>
 
292
          <td class="paramtype">void *&nbsp;</td>
 
293
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
294
        </tr>
 
295
        <tr>
 
296
          <td></td>
 
297
          <td>)</td>
 
298
          <td></td><td></td><td></td>
 
299
        </tr>
 
300
      </table>
 
301
</div>
 
302
<div class="memdoc">
 
303
 
 
304
<p>
 
305
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>
 
306
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
307
 
 
308
</div>
 
309
</div><p>
 
310
<a class="anchor" name="g62351a5803421b6c21b9ffb9124801ef"></a><!-- doxytag: member="jack.h::jack_set_process_callback" ref="g62351a5803421b6c21b9ffb9124801ef" args="(jack_client_t *client, JackProcessCallback process_callback, void *arg)" -->
 
311
<div class="memitem">
 
312
<div class="memproto">
 
313
      <table class="memname">
 
314
        <tr>
 
315
          <td class="memname">int jack_set_process_callback           </td>
 
316
          <td>(</td>
 
317
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
318
          <td class="paramname"> <em>client</em>, </td>
 
319
        </tr>
 
320
        <tr>
 
321
          <td class="paramkey"></td>
 
322
          <td></td>
 
323
          <td class="paramtype"><a class="el" href="types_8h.html#4923142208a8e7dacf00ca7a10681d2b">JackProcessCallback</a>&nbsp;</td>
 
324
          <td class="paramname"> <em>process_callback</em>, </td>
 
325
        </tr>
 
326
        <tr>
 
327
          <td class="paramkey"></td>
 
328
          <td></td>
 
329
          <td class="paramtype">void *&nbsp;</td>
 
330
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
331
        </tr>
 
332
        <tr>
 
333
          <td></td>
 
334
          <td>)</td>
 
335
          <td></td><td></td><td></td>
 
336
        </tr>
 
337
      </table>
 
338
</div>
 
339
<div class="memdoc">
 
340
 
 
341
<p>
 
342
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>
 
343
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 malloc, free, printf, pthread_mutex_lock, sleep, wait, poll, select, pthread_join, pthread_cond_wait, etc, etc. See <a href="http://jackit.sourceforge.net/docs/design/design.html#SECTION00411000000000000000">http://jackit.sourceforge.net/docs/design/design.html#SECTION00411000000000000000</a> for more information.<p>
 
344
<dl class="return" compact><dt><b>Returns:</b></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#01271cc6cf692278ae35d0062935d7ae">process()</a> graph. </dd></dl>
 
345
 
 
346
<p>Referenced by <a class="el" href="inprocess_8c-source.html#l00060">jack_initialize()</a>, and <a class="el" href="simple__client_8c-source.html#l00051">main()</a>.</p>
 
347
 
 
348
</div>
 
349
</div><p>
 
350
<a class="anchor" name="gfb44f979b13f2dc1fbf2ba7b52882d65"></a><!-- doxytag: member="jack.h::jack_set_sample_rate_callback" ref="gfb44f979b13f2dc1fbf2ba7b52882d65" args="(jack_client_t *client, JackSampleRateCallback srate_callback, void *arg)" -->
 
351
<div class="memitem">
 
352
<div class="memproto">
 
353
      <table class="memname">
 
354
        <tr>
 
355
          <td class="memname">int jack_set_sample_rate_callback           </td>
 
356
          <td>(</td>
 
357
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
358
          <td class="paramname"> <em>client</em>, </td>
 
359
        </tr>
 
360
        <tr>
 
361
          <td class="paramkey"></td>
 
362
          <td></td>
 
363
          <td class="paramtype"><a class="el" href="types_8h.html#b993af9e0b5fe4f9b9645c092abcec35">JackSampleRateCallback</a>&nbsp;</td>
 
364
          <td class="paramname"> <em>srate_callback</em>, </td>
 
365
        </tr>
 
366
        <tr>
 
367
          <td class="paramkey"></td>
 
368
          <td></td>
 
369
          <td class="paramtype">void *&nbsp;</td>
 
370
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
371
        </tr>
 
372
        <tr>
 
373
          <td></td>
 
374
          <td>)</td>
 
375
          <td></td><td></td><td></td>
 
376
        </tr>
 
377
      </table>
 
378
</div>
 
379
<div class="memdoc">
 
380
 
 
381
<p>
 
382
Tell the Jack server to call <em>srate_callback</em> whenever the system sample rate changes.<p>
 
383
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
384
 
 
385
</div>
 
386
</div><p>
 
387
<a class="anchor" name="gbad6ea38ac9d8e5ff4231a083604fff9"></a><!-- doxytag: member="jack.h::jack_set_thread_init_callback" ref="gbad6ea38ac9d8e5ff4231a083604fff9" args="(jack_client_t *client, JackThreadInitCallback thread_init_callback, void *arg)" -->
 
388
<div class="memitem">
 
389
<div class="memproto">
 
390
      <table class="memname">
 
391
        <tr>
 
392
          <td class="memname">int jack_set_thread_init_callback           </td>
 
393
          <td>(</td>
 
394
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
395
          <td class="paramname"> <em>client</em>, </td>
 
396
        </tr>
 
397
        <tr>
 
398
          <td class="paramkey"></td>
 
399
          <td></td>
 
400
          <td class="paramtype"><a class="el" href="types_8h.html#7c4428bf3b2caf8bb0b92314acaa1307">JackThreadInitCallback</a>&nbsp;</td>
 
401
          <td class="paramname"> <em>thread_init_callback</em>, </td>
 
402
        </tr>
 
403
        <tr>
 
404
          <td class="paramkey"></td>
 
405
          <td></td>
 
406
          <td class="paramtype">void *&nbsp;</td>
 
407
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
408
        </tr>
 
409
        <tr>
 
410
          <td></td>
 
411
          <td>)</td>
 
412
          <td></td><td></td><td></td>
 
413
        </tr>
 
414
      </table>
 
415
</div>
 
416
<div class="memdoc">
 
417
 
 
418
<p>
 
419
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>
 
420
The code in the supplied function does not need to be suitable for real-time execution.<p>
 
421
<dl class="return" compact><dt><b>Returns:</b></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#01271cc6cf692278ae35d0062935d7ae">process()</a> graph. </dd></dl>
 
422
 
 
423
</div>
 
424
</div><p>
 
425
<a class="anchor" name="g185c6859d72bb56452b72d1dcd8924f7"></a><!-- doxytag: member="jack.h::jack_set_xrun_callback" ref="g185c6859d72bb56452b72d1dcd8924f7" args="(jack_client_t *, JackXRunCallback xrun_callback, void *arg)" -->
 
426
<div class="memitem">
 
427
<div class="memproto">
 
428
      <table class="memname">
 
429
        <tr>
 
430
          <td class="memname">int jack_set_xrun_callback           </td>
 
431
          <td>(</td>
 
432
          <td class="paramtype"><a class="el" href="types_8h.html#96cf103940d2ee71b141d4b9d0c116bf">jack_client_t</a> *&nbsp;</td>
 
433
          <td class="paramname">, </td>
 
434
        </tr>
 
435
        <tr>
 
436
          <td class="paramkey"></td>
 
437
          <td></td>
 
438
          <td class="paramtype"><a class="el" href="types_8h.html#7955ec486286fec4e2a71243bb66370e">JackXRunCallback</a>&nbsp;</td>
 
439
          <td class="paramname"> <em>xrun_callback</em>, </td>
 
440
        </tr>
 
441
        <tr>
 
442
          <td class="paramkey"></td>
 
443
          <td></td>
 
444
          <td class="paramtype">void *&nbsp;</td>
 
445
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
 
446
        </tr>
 
447
        <tr>
 
448
          <td></td>
 
449
          <td>)</td>
 
450
          <td></td><td></td><td></td>
 
451
        </tr>
 
452
      </table>
 
453
</div>
 
454
<div class="memdoc">
 
455
 
 
456
<p>
 
457
Tell the JACK server to call <em>xrun_callback</em> whenever there is a xrun, passing <em>arg</em> as a parameter.<p>
 
458
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, otherwise a non-zero error code </dd></dl>
 
459
 
 
460
</div>
 
461
</div><p>
 
462
</div>
 
463
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Nov 28 14:29:17 2008 for JACK-AUDIO-CONNECTION-KIT by&nbsp;
 
464
<a href="http://www.doxygen.org/index.html">
 
465
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
 
466
</body>
 
467
</html>