<!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: jack.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.2 --> <div class="qindex"><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></div> <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.43 2003/07/20 01:38:31 joq 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="transport_8h.html">jack/transport.h</a>></span> 00032 00040 <a class="code" href="types_8h.html#a6">jack_client_t</a> *<a class="code" href="jack_8h.html#a1">jack_client_new</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *client_name); 00041 00047 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a2">jack_client_close</a> (jack_client_t *client); 00048 00056 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a3">jack_internal_client_new</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); 00057 00063 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a4">jack_internal_client_close</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *client_name); 00064 00072 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a5">jack_is_realtime</a> (jack_client_t *client); 00073 00092 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a6">jack_on_shutdown</a> (jack_client_t *client, <span class="keywordtype">void</span> (*function)(<span class="keywordtype">void</span> *arg), <span class="keywordtype">void</span> *arg); 00093 00110 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a7">jack_set_process_callback</a> (jack_client_t *, JackProcessCallback process_callback, <span class="keywordtype">void</span> *arg); 00111 00119 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a8">jack_set_buffer_size_callback</a> (jack_client_t *, JackBufferSizeCallback bufsize_callback, <span class="keywordtype">void</span> *arg); 00120 00127 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a9">jack_set_sample_rate_callback</a> (jack_client_t *, JackSampleRateCallback srate_callback, <span class="keywordtype">void</span> *arg); 00128 00135 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a10">jack_set_port_registration_callback</a> (jack_client_t *, JackPortRegistrationCallback registration_callback, <span class="keywordtype">void</span> *arg); 00136 00143 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a11">jack_set_graph_order_callback</a> (jack_client_t *, JackGraphOrderCallback graph_callback, <span class="keywordtype">void</span> *); 00144 00151 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a12">jack_set_xrun_callback</a> (jack_client_t *, JackXRunCallback xrun_callback, <span class="keywordtype">void</span> *arg); 00152 00159 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a13">jack_activate</a> (jack_client_t *client); 00160 00169 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a14">jack_deactivate</a> (jack_client_t *client); 00170 00199 <a class="code" href="types_8h.html#a5">jack_port_t</a> *<a class="code" href="jack_8h.html#a15">jack_port_register</a> (jack_client_t *, 00200 <span class="keyword">const</span> <span class="keywordtype">char</span> *port_name, 00201 <span class="keyword">const</span> <span class="keywordtype">char</span> *port_type, 00202 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags, 00203 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> buffer_size); 00204 00211 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a16">jack_port_unregister</a> (jack_client_t *, jack_port_t *); 00212 00229 <span class="keywordtype">void</span> *<a class="code" href="jack_8h.html#a17">jack_port_get_buffer</a> (jack_port_t *, jack_nframes_t); 00230 00234 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="jack_8h.html#a18">jack_port_name</a> (<span class="keyword">const</span> jack_port_t *port); 00235 00239 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="jack_8h.html#a19">jack_port_short_name</a> (<span class="keyword">const</span> jack_port_t *port); 00240 00244 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a20">jack_port_flags</a> (<span class="keyword">const</span> jack_port_t *port); 00245 00249 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="jack_8h.html#a21">jack_port_type</a> (<span class="keyword">const</span> jack_port_t *port); 00250 00254 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a22">jack_port_is_mine</a> (<span class="keyword">const</span> jack_client_t *, <span class="keyword">const</span> jack_port_t *port); 00255 00262 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a23">jack_port_connected</a> (<span class="keyword">const</span> jack_port_t *port); 00263 00270 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a24">jack_port_connected_to</a> (<span class="keyword">const</span> jack_port_t *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *portname); 00271 00284 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="jack_8h.html#a25">jack_port_get_connections</a> (<span class="keyword">const</span> jack_port_t *port); 00285 00304 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="jack_8h.html#a26">jack_port_get_all_connections</a> (<span class="keyword">const</span> jack_client_t *client, <span class="keyword">const</span> jack_port_t *port); 00305 00322 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a27">jack_port_tie</a> (jack_port_t *src, jack_port_t *dst); 00323 00331 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a28">jack_port_untie</a> (jack_port_t *port); 00332 00340 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a29">jack_port_lock</a> (jack_client_t *, jack_port_t *); 00341 00347 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a30">jack_port_unlock</a> (jack_client_t *, jack_port_t *); 00348 00360 <a class="code" href="types_8h.html#a3">jack_nframes_t</a> <a class="code" href="jack_8h.html#a31">jack_port_get_latency</a> (jack_port_t *port); 00361 00367 <a class="code" href="types_8h.html#a3">jack_nframes_t</a> <a class="code" href="jack_8h.html#a32">jack_port_get_total_latency</a> (jack_client_t *, jack_port_t *port); 00368 00379 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a33">jack_port_set_latency</a> (jack_port_t *, jack_nframes_t); 00380 00386 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a34">jack_port_set_name</a> (jack_port_t *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00387 00391 <span class="keywordtype">double</span> <a class="code" href="jack_8h.html#a35">jack_port_get_peak</a> (jack_port_t*, jack_nframes_t); 00392 00396 <span class="keywordtype">double</span> <a class="code" href="jack_8h.html#a36">jack_port_get_power</a> (jack_port_t*, jack_nframes_t); 00397 00401 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a37">jack_port_set_peak_function</a> (jack_port_t *, <span class="keywordtype">double</span> (*func)(jack_port_t*, jack_nframes_t)); 00402 00406 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a38">jack_port_set_power_function</a> (jack_port_t *, <span class="keywordtype">double</span> (*func)(jack_port_t*, jack_nframes_t)); 00407 00413 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a39">jack_port_request_monitor</a> (jack_port_t *port, <span class="keywordtype">int</span> onoff); 00414 00422 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a40">jack_port_request_monitor_by_name</a> (jack_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *port_name, <span class="keywordtype">int</span> onoff); 00423 00432 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a41">jack_port_ensure_monitor</a> (jack_port_t *port, <span class="keywordtype">int</span> onoff); 00433 00438 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a42">jack_port_monitoring_input</a> (jack_port_t *port); 00439 00452 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a43">jack_connect</a> (jack_client_t *, 00453 <span class="keyword">const</span> <span class="keywordtype">char</span> *source_port, 00454 <span class="keyword">const</span> <span class="keywordtype">char</span> *destination_port); 00455 00465 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a44">jack_disconnect</a> (jack_client_t *, 00466 <span class="keyword">const</span> <span class="keywordtype">char</span> *source_port, 00467 <span class="keyword">const</span> <span class="keywordtype">char</span> *destination_port); 00468 00480 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a45">jack_port_connect</a> (jack_client_t *, jack_port_t *src, jack_port_t *dst); 00481 00491 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a46">jack_port_disconnect</a> (jack_client_t *, jack_port_t *); 00492 00497 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="jack_8h.html#a47">jack_get_sample_rate</a> (jack_client_t *); 00498 00506 <a class="code" href="types_8h.html#a3">jack_nframes_t</a> <a class="code" href="jack_8h.html#a48">jack_get_buffer_size</a> (jack_client_t *); 00507 00522 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="jack_8h.html#a49">jack_get_ports</a> (jack_client_t *, 00523 <span class="keyword">const</span> <span class="keywordtype">char</span> *port_name_pattern, 00524 <span class="keyword">const</span> <span class="keywordtype">char</span> *type_name_pattern, 00525 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags); 00526 00531 <a class="code" href="types_8h.html#a5">jack_port_t</a> *<a class="code" href="jack_8h.html#a50">jack_port_by_name</a> (jack_client_t *, <span class="keyword">const</span> <span class="keywordtype">char</span> *portname); 00532 00536 <a class="code" href="types_8h.html#a5">jack_port_t</a> *<a class="code" href="jack_8h.html#a51">jack_port_by_id</a> (<span class="keyword">const</span> jack_client_t *client, jack_port_id_t id); 00537 00547 <span class="keywordtype">int</span> <a class="code" href="jack_8h.html#a52">jack_engine_takeover_timebase</a> (jack_client_t *); 00548 00552 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a53">jack_update_time</a> (jack_client_t *, jack_nframes_t); 00553 00559 <a class="code" href="types_8h.html#a3">jack_nframes_t</a> <a class="code" href="jack_8h.html#a54">jack_frames_since_cycle_start</a> (<span class="keyword">const</span> jack_client_t *); 00560 00567 <a class="code" href="types_8h.html#a3">jack_nframes_t</a> <a class="code" href="jack_8h.html#a55">jack_frame_time</a> (<span class="keyword">const</span> jack_client_t *); 00568 00576 <span class="keywordtype">float</span> <a class="code" href="jack_8h.html#a56">jack_cpu_load</a> (jack_client_t *client); 00577 00586 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a57">jack_set_server_dir</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *path); 00587 00592 pthread_t <a class="code" href="jack_8h.html#a58">jack_client_thread_id</a> (jack_client_t *); 00593 <a name="l00594"></a><a class="code" href="jack_8h.html#a0">00594</a> <span class="keyword">extern</span> void (*jack_error_callback)(<span class="keyword">const</span> <span class="keywordtype">char</span> *desc); 00595 00599 <span class="keywordtype">void</span> <a class="code" href="jack_8h.html#a59">jack_set_error_function</a> (<span class="keywordtype">void</span> (*func)(<span class="keyword">const</span> <span class="keywordtype">char</span> *)); 00600 00601 <span class="preprocessor">#ifdef __cplusplus</span> 00602 <span class="preprocessor"></span>} 00603 <span class="preprocessor">#endif</span> 00604 <span class="preprocessor"></span> 00605 <span class="preprocessor">#endif </span><span class="comment">/* __jack_h__ */</span> 00606 00607 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Aug 6 04:09:57 2003 for Jack by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address> </body> </html>