<!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 Source File</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>jack.h</h1><a href="jack_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> 00002 <span class="comment"> Copyright (C) 2001 Paul Davis</span> 00003 <span class="comment"> </span> 00004 <span class="comment"> This program is free software; you can redistribute it and/or modify</span> 00005 <span class="comment"> it under the terms of the GNU Lesser General Public License as published by</span> 00006 <span class="comment"> the Free Software Foundation; either version 2.1 of the License, or</span> 00007 <span class="comment"> (at your option) any later version.</span> 00008 <span class="comment"> </span> 00009 <span class="comment"> This program is distributed in the hope that it will be useful,</span> 00010 <span class="comment"> but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 00011 <span class="comment"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> 00012 <span class="comment"> GNU Lesser General Public License for more details.</span> 00013 <span class="comment"> </span> 00014 <span class="comment"> You should have received a copy of the GNU Lesser General Public License</span> 00015 <span class="comment"> along with this program; if not, write to the Free Software </span> 00016 <span class="comment"> Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span> 00017 <span class="comment"></span> 00018 <span class="comment"> $Id: jack.h,v 1.30 2003/01/28 19:59:35 kaiv Exp $</span> 00019 <span class="comment">*/</span> 00020 00021 <span class="preprocessor">#ifndef __jack_h__</span> 00022 <span class="preprocessor"></span><span class="preprocessor">#define __jack_h__</span> 00023 <span class="preprocessor"></span> 00024 <span class="preprocessor">#ifdef __cplusplus</span> 00025 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { 00026 <span class="preprocessor">#endif</span> 00027 <span class="preprocessor"></span> 00028 <span class="preprocessor">#include <pthread.h></span> 00029 00030 <span class="preprocessor">#include <<a class="code" href="types_8h.html">jack/types.h</a>></span> 00031 <span class="preprocessor">#include <<a class="code" href="error_8h.html">jack/error.h</a>></span> 00032 <span class="preprocessor">#include <<a class="code" href="transport_8h.html">jack/transport.h</a>></span> 00033 00041 <a class="code" href="types_8h.html#a4">jack_client_t</a> *<a class="code" href="jack_8h.html#a0">jack_client_new</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *client_name); 00042 00043 00051 <a class="code" href="types_8h.html#a4">jack_client_t</a> *<a class="code" href="jack_8h.html#a1">jack_client_new_inprocess</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *client_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *so_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *so_data); 00052 00056 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a2">jack_client_close</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *client); 00057 00076 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a3">jack_on_shutdown</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *client, <span class="keywordtype">void</span> (*function)(<span class="keywordtype">void</span> *arg), <span class="keywordtype">void</span> *arg); 00077 00082 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a4">jack_set_process_callback</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a6">JackProcessCallback</a> process_callback, <span class="keywordtype">void</span> *arg); 00083 00089 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a5">jack_set_buffer_size_callback</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a9">JackBufferSizeCallback</a> bufsize_callback, <span class="keywordtype">void</span> *arg); 00090 00095 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a6">jack_set_sample_rate_callback</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a10">JackSampleRateCallback</a> srate_callback, <span class="keywordtype">void</span> *arg); 00096 00101 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a7">jack_set_port_registration_callback</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a11">JackPortRegistrationCallback</a> registration_callback, <span class="keywordtype">void</span> *arg); 00102 00107 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a8">jack_set_graph_order_callback</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a7">JackGraphOrderCallback</a> graph_callback, <span class="keywordtype">void</span> *); 00108 00113 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a9">jack_set_xrun_callback</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a8">JackXRunCallback</a> xrun_callback, <span class="keywordtype">void</span> *arg); 00114 00119 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a10">jack_activate</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *client); 00120 00127 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a11">jack_deactivate</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *client); 00128 00150 <a class="code" href="types_8h.html#a3">jack_port_t</a> *<a class="code" href="jack_8h.html#a12">jack_port_register</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, 00151 <span class="keyword">const</span> <span class="keywordtype">char</span> *port_name, 00152 <span class="keyword">const</span> <span class="keywordtype">char</span> *port_type, 00153 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags, 00154 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> buffer_size); 00155 00160 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a13">jack_port_unregister</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a3">jack_port_t</a> *); 00161 00165 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="jack_8h.html#a14">jack_port_name</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00166 00170 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="jack_8h.html#a15">jack_port_short_name</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00171 00175 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a16">jack_port_flags</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00176 00180 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="jack_8h.html#a17">jack_port_type</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00181 00185 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a18">jack_port_is_mine</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a4">jack_client_t</a> *, <span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00186 00193 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a19">jack_port_connected</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00194 00201 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a20">jack_port_connected_to</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *portname); 00202 00215 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="jack_8h.html#a21">jack_port_get_connections</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00216 00235 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="jack_8h.html#a22">jack_port_get_all_connections</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a4">jack_client_t</a> *client, <span class="keyword">const</span> <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00236 00240 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a23">jack_port_set_name</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00241 00256 <span class="keywordtype">void</span> *<a class="code" href="jack_8h.html#a24">jack_port_get_buffer</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *, <a class="code" href="types_8h.html#a2">jack_nframes_t</a>); 00257 00268 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a25">jack_connect</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, 00269 <span class="keyword">const</span> <span class="keywordtype">char</span> *source_port, 00270 <span class="keyword">const</span> <span class="keywordtype">char</span> *destination_port); 00271 00279 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a26">jack_disconnect</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, 00280 <span class="keyword">const</span> <span class="keywordtype">char</span> *source_port, 00281 <span class="keyword">const</span> <span class="keywordtype">char</span> *destination_port); 00282 00292 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a27">jack_port_connect</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a3">jack_port_t</a> *src, <a class="code" href="types_8h.html#a3">jack_port_t</a> *dst); 00293 00303 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a28">jack_port_disconnect</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a3">jack_port_t</a> *); 00304 00319 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a29">jack_port_tie</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *src, <a class="code" href="types_8h.html#a3">jack_port_t</a> *dst); 00320 00326 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a30">jack_port_untie</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00327 00333 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a31">jack_port_lock</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a3">jack_port_t</a> *); 00334 00338 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a32">jack_port_unlock</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a3">jack_port_t</a> *); 00339 00350 <a class="code" href="types_8h.html#a2">jack_nframes_t</a> <a class="code" href="jack_8h.html#a33">jack_port_get_latency</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00351 00357 <a class="code" href="types_8h.html#a2">jack_nframes_t</a> <a class="code" href="jack_8h.html#a34">jack_port_get_total_latency</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00358 00370 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a35">jack_port_set_latency</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *, <a class="code" href="types_8h.html#a2">jack_nframes_t</a>); 00371 00377 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a36">jack_port_request_monitor</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *port, <span class="keywordtype">int</span> onoff); 00378 00384 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a37">jack_port_request_monitor_by_name</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *port_name, <span class="keywordtype">int</span> onoff); 00385 00392 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a38">jack_port_ensure_monitor</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *port, <span class="keywordtype">int</span> onoff); 00393 00398 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a39">jack_port_monitoring_input</a> (<a class="code" href="types_8h.html#a3">jack_port_t</a> *port); 00399 00404 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="jack_8h.html#a40">jack_get_sample_rate</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *); 00405 00413 <a class="code" href="types_8h.html#a2">jack_nframes_t</a> <a class="code" href="jack_8h.html#a41">jack_get_buffer_size</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *); 00414 00430 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="jack_8h.html#a42">jack_get_ports</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, 00431 <span class="keyword">const</span> <span class="keywordtype">char</span> *port_name_pattern, 00432 <span class="keyword">const</span> <span class="keywordtype">char</span> *type_name_pattern, 00433 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags); 00434 00439 <a class="code" href="types_8h.html#a3">jack_port_t</a> *<a class="code" href="jack_8h.html#a43">jack_port_by_name</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *portname); 00440 00444 <a class="code" href="types_8h.html#a3">jack_port_t</a> *<a class="code" href="jack_8h.html#a44">jack_port_by_id</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a4">jack_client_t</a> *client, <a class="code" href="types_8h.html#a5">jack_port_id_t</a> id); 00445 00453 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a45">jack_engine_takeover_timebase</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *); 00454 00458 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a46">jack_update_time</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <a class="code" href="types_8h.html#a2">jack_nframes_t</a>); 00459 00465 <a class="code" href="types_8h.html#a2">jack_nframes_t</a> <a class="code" href="jack_8h.html#a47">jack_frames_since_cycle_start</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a4">jack_client_t</a> *); 00466 00473 <a class="code" href="types_8h.html#a2">jack_nframes_t</a> <a class="code" href="jack_8h.html#a48">jack_frame_time</a> (<span class="keyword">const</span> <a class="code" href="types_8h.html#a4">jack_client_t</a> *); 00474 00482 <span class="keywordtype">float</span> <a class="code" href="jack_8h.html#a49">jack_cpu_load</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *client); 00483 00492 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a50">jack_set_server_dir</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *path); 00493 00504 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a51">jack_add_alias</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *portname, <span class="keyword">const</span> <span class="keywordtype">char</span> *alias); 00505 00513 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a52">jack_remove_alias</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *alias); 00514 00520 pthread_t <a class="code" href="jack_8h.html#a53">jack_client_thread_id</a> (<a class="code" href="types_8h.html#a4">jack_client_t</a> *); 00521 00522 <span class="preprocessor">#ifdef __cplusplus</span> 00523 <span class="preprocessor"></span>} 00524 <span class="preprocessor">#endif</span> 00525 <span class="preprocessor"></span> 00526 <span class="preprocessor">#endif </span><span class="comment">/* __jack_h__ */</span> 00527 </pre></div><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>