jack.h

Go to the documentation of this file.
00001 /* 00002 Copyright (C) 2001 Paul Davis 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU Lesser General Public License as published by 00006 the Free Software Foundation; either version 2.1 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU Lesser General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 00018 $Id: jack.h,v 1.64 2004/07/15 03:07:28 trutkin Exp $ 00019 */ 00020 00021 #ifndef __jack_h__ 00022 #define __jack_h__ 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 #include <pthread.h> 00029 00030 #include <jack/types.h> 00031 #include <jack/transport.h> 00032 00055 jack_client_t *jack_client_new (const char *client_name); 00056 00062 int jack_client_close (jack_client_t *client); 00063 00068 int jack_client_name_size(void); 00069 00085 int jack_internal_client_new (const char *client_name, const char *so_name, 00086 const char *so_data); 00087 00093 void jack_internal_client_close (const char *client_name); 00094 00102 int jack_is_realtime (jack_client_t *client); 00103 00122 void jack_on_shutdown (jack_client_t *client, void (*function)(void *arg), void *arg); 00123 00139 int jack_set_process_callback (jack_client_t *client, 00140 JackProcessCallback process_callback, 00141 void *arg); 00142 00154 int jack_set_thread_init_callback (jack_client_t *client, 00155 JackThreadInitCallback thread_init_callback, 00156 void *arg); 00157 00167 int jack_set_freewheel_callback (jack_client_t *client, 00168 JackFreewheelCallback freewheel_callback, 00169 void *arg); 00170 00189 int jack_set_freewheel(jack_client_t* client, int onoff); 00190 00206 int jack_set_buffer_size (jack_client_t *client, jack_nframes_t nframes); 00207 00220 int jack_set_buffer_size_callback (jack_client_t *client, 00221 JackBufferSizeCallback bufsize_callback, 00222 void *arg); 00223 00230 int jack_set_sample_rate_callback (jack_client_t *client, 00231 JackSampleRateCallback srate_callback, 00232 void *arg); 00233 00240 int jack_set_port_registration_callback (jack_client_t *, 00241 JackPortRegistrationCallback 00242 registration_callback, void *arg); 00243 00250 int jack_set_graph_order_callback (jack_client_t *, JackGraphOrderCallback graph_callback, void *); 00251 00258 int jack_set_xrun_callback (jack_client_t *, JackXRunCallback xrun_callback, void *arg); 00259 00266 int jack_activate (jack_client_t *client); 00267 00275 int jack_deactivate (jack_client_t *client); 00276 00303 jack_port_t *jack_port_register (jack_client_t *client, 00304 const char *port_name, 00305 const char *port_type, 00306 unsigned long flags, 00307 unsigned long buffer_size); 00308 00315 int jack_port_unregister (jack_client_t *, jack_port_t *); 00316 00333 void *jack_port_get_buffer (jack_port_t *, jack_nframes_t); 00334 00341 const char *jack_port_name (const jack_port_t *port); 00342 00349 const char *jack_port_short_name (const jack_port_t *port); 00350 00354 int jack_port_flags (const jack_port_t *port); 00355 00360 const char *jack_port_type (const jack_port_t *port); 00361 00365 int jack_port_is_mine (const jack_client_t *, const jack_port_t *port); 00366 00372 int jack_port_connected (const jack_port_t *port); 00373 00380 int jack_port_connected_to (const jack_port_t *port, 00381 const char *port_name); 00382 00394 const char **jack_port_get_connections (const jack_port_t *port); 00395 00415 const char **jack_port_get_all_connections (const jack_client_t *client, 00416 const jack_port_t *port); 00417 00434 int jack_port_tie (jack_port_t *src, jack_port_t *dst); 00435 00443 int jack_port_untie (jack_port_t *port); 00444 00452 int jack_port_lock (jack_client_t *, jack_port_t *); 00453 00459 int jack_port_unlock (jack_client_t *, jack_port_t *); 00460 00471 jack_nframes_t jack_port_get_latency (jack_port_t *port); 00472 00478 jack_nframes_t jack_port_get_total_latency (jack_client_t *, 00479 jack_port_t *port); 00480 00491 void jack_port_set_latency (jack_port_t *, jack_nframes_t); 00492 00500 int jack_port_set_name (jack_port_t *port, const char *port_name); 00501 00506 int jack_port_request_monitor (jack_port_t *port, int onoff); 00507 00516 int jack_port_request_monitor_by_name (jack_client_t *client, 00517 const char *port_name, int onoff); 00518 00526 int jack_port_ensure_monitor (jack_port_t *port, int onoff); 00527 00531 int jack_port_monitoring_input (jack_port_t *port); 00532 00550 int jack_connect (jack_client_t *, 00551 const char *source_port, 00552 const char *destination_port); 00553 00567 int jack_disconnect (jack_client_t *, 00568 const char *source_port, 00569 const char *destination_port); 00570 00580 int jack_port_disconnect (jack_client_t *, jack_port_t *); 00581 00590 int jack_port_name_size(void); 00591 00596 int jack_port_type_size(void); 00597 00602 jack_nframes_t jack_get_sample_rate (jack_client_t *); 00603 00613 jack_nframes_t jack_get_buffer_size (jack_client_t *); 00614 00631 const char **jack_get_ports (jack_client_t *, 00632 const char *port_name_pattern, 00633 const char *type_name_pattern, 00634 unsigned long flags); 00635 00641 jack_port_t *jack_port_by_name (jack_client_t *, const char *port_name); 00642 00646 jack_port_t *jack_port_by_id (const jack_client_t *client, 00647 jack_port_id_t port_id); 00648 00659 int jack_engine_takeover_timebase (jack_client_t *); 00660 00665 jack_nframes_t jack_frames_since_cycle_start (const jack_client_t *); 00666 00672 jack_nframes_t jack_frame_time (const jack_client_t *); 00673 00681 jack_nframes_t jack_last_frame_time (const jack_client_t *client); 00682 00683 00690 float jack_cpu_load (jack_client_t *client); 00691 00703 void jack_set_server_dir (const char *path); 00704 00709 pthread_t jack_client_thread_id (jack_client_t *); 00710 00719 extern void (*jack_error_callback)(const char *msg); 00720 00727 void jack_set_error_function (void (*func)(const char *)); 00728 00729 #ifdef __cplusplus 00730 } 00731 #endif 00732 00733 #endif /* __jack_h__ */

Generated on Sun Sep 19 10:22:22 2004 for JACK-AUDIO-CONNECTION-KIT by doxygen 1.3.8