00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 #include <jack/weakmacros.h>
00051
00090 jack_client_t *jack_client_open (const char *client_name,
00091 jack_options_t options,
00092 jack_status_t *status, ...) JACK_OPTIONAL_WEAK_EXPORT;
00093
00099 jack_client_t *jack_client_new (const char *client_name) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
00100
00106 int jack_client_close (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00107
00112 int jack_client_name_size (void) JACK_OPTIONAL_WEAK_EXPORT;
00113
00120 char *jack_get_client_name (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00121
00143 int jack_internal_client_new (const char *client_name,
00144 const char *load_name,
00145 const char *load_init) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
00146
00152 void jack_internal_client_close (const char *client_name) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
00153
00160 int jack_activate (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00161
00169 int jack_deactivate (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00170
00175 pthread_t jack_client_thread_id (jack_client_t *) JACK_OPTIONAL_WEAK_EXPORT;
00176
00186 int jack_is_realtime (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00187
00200 jack_nframes_t jack_thread_wait (jack_client_t*, int status) JACK_OPTIONAL_WEAK_EXPORT;
00201
00209 jack_nframes_t jack_cycle_wait (jack_client_t* client) JACK_OPTIONAL_WEAK_EXPORT;
00210
00217 void jack_cycle_signal (jack_client_t* client, int status) JACK_OPTIONAL_WEAK_EXPORT;
00218
00230 int jack_set_process_thread(jack_client_t* client, JackThreadCallback fun, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00231
00250 int jack_set_thread_init_callback (jack_client_t *client,
00251 JackThreadInitCallback thread_init_callback,
00252 void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00253
00277 void jack_on_shutdown (jack_client_t *client,
00278 JackShutdownCallback function, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00279
00303 void jack_on_info_shutdown (jack_client_t *client,
00304 JackInfoShutdownCallback function, void *arg) JACK_WEAK_EXPORT;
00305
00319 int jack_set_process_callback (jack_client_t *client,
00320 JackProcessCallback process_callback,
00321 void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00322
00332 int jack_set_freewheel_callback (jack_client_t *client,
00333 JackFreewheelCallback freewheel_callback,
00334 void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00335
00348 int jack_set_buffer_size_callback (jack_client_t *client,
00349 JackBufferSizeCallback bufsize_callback,
00350 void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00351
00358 int jack_set_sample_rate_callback (jack_client_t *client,
00359 JackSampleRateCallback srate_callback,
00360 void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00361
00368 int jack_set_client_registration_callback (jack_client_t *,
00369 JackClientRegistrationCallback
00370 registration_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00371
00378 int jack_set_port_registration_callback (jack_client_t *,
00379 JackPortRegistrationCallback
00380 registration_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00381
00388 int jack_set_port_connect_callback (jack_client_t *,
00389 JackPortConnectCallback
00390 connect_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00397 int jack_set_graph_order_callback (jack_client_t *,
00398 JackGraphOrderCallback graph_callback,
00399 void *) JACK_OPTIONAL_WEAK_EXPORT;
00400
00407 int jack_set_xrun_callback (jack_client_t *,
00408 JackXRunCallback xrun_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00440 int jack_set_freewheel(jack_client_t* client, int onoff) JACK_OPTIONAL_WEAK_EXPORT;
00441
00457 int jack_set_buffer_size (jack_client_t *client, jack_nframes_t nframes) JACK_OPTIONAL_WEAK_EXPORT;
00458
00463 jack_nframes_t jack_get_sample_rate (jack_client_t *) JACK_OPTIONAL_WEAK_EXPORT;
00464
00474 jack_nframes_t jack_get_buffer_size (jack_client_t *) JACK_OPTIONAL_WEAK_EXPORT;
00475
00486 int jack_engine_takeover_timebase (jack_client_t *) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
00487
00494 float jack_cpu_load (jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00495
00496
00530 jack_port_t *jack_port_register (jack_client_t *client,
00531 const char *port_name,
00532 const char *port_type,
00533 unsigned long flags,
00534 unsigned long buffer_size) JACK_OPTIONAL_WEAK_EXPORT;
00535
00542 int jack_port_unregister (jack_client_t *, jack_port_t *) JACK_OPTIONAL_WEAK_EXPORT;
00543
00555 void *jack_port_get_buffer (jack_port_t *, jack_nframes_t) JACK_OPTIONAL_WEAK_EXPORT;
00556
00563 const char *jack_port_name (const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00564
00571 const char *jack_port_short_name (const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00572
00576 int jack_port_flags (const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00577
00582 const char *jack_port_type (const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00583
00587 int jack_port_is_mine (const jack_client_t *, const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00588
00594 int jack_port_connected (const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00595
00602 int jack_port_connected_to (const jack_port_t *port,
00603 const char *port_name) JACK_OPTIONAL_WEAK_EXPORT;
00604
00616 const char **jack_port_get_connections (const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00617
00637 const char **jack_port_get_all_connections (const jack_client_t *client,
00638 const jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00639
00647 int jack_port_tie (jack_port_t *src, jack_port_t *dst) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
00648
00656 int jack_port_untie (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
00657
00668 jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00669
00675 jack_nframes_t jack_port_get_total_latency (jack_client_t *,
00676 jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00677
00688 void jack_port_set_latency (jack_port_t *, jack_nframes_t) JACK_OPTIONAL_WEAK_EXPORT;
00689
00701 int jack_recompute_total_latency (jack_client_t*, jack_port_t* port) JACK_OPTIONAL_WEAK_EXPORT;
00702
00716 int jack_recompute_total_latencies (jack_client_t*) JACK_OPTIONAL_WEAK_EXPORT;
00717
00725 int jack_port_set_name (jack_port_t *port, const char *port_name) JACK_OPTIONAL_WEAK_EXPORT;
00726
00740 int jack_port_set_alias (jack_port_t *port, const char *alias) JACK_OPTIONAL_WEAK_EXPORT;
00741
00750 int jack_port_unset_alias (jack_port_t *port, const char *alias) JACK_OPTIONAL_WEAK_EXPORT;
00751
00752
00753
00754
00755
00756
00757 int jack_port_get_aliases (const jack_port_t *port, char* const aliases[2]) JACK_OPTIONAL_WEAK_EXPORT;
00758
00763 int jack_port_request_monitor (jack_port_t *port, int onoff) JACK_OPTIONAL_WEAK_EXPORT;
00764
00773 int jack_port_request_monitor_by_name (jack_client_t *client,
00774 const char *port_name, int onoff) JACK_OPTIONAL_WEAK_EXPORT;
00775
00783 int jack_port_ensure_monitor (jack_port_t *port, int onoff) JACK_OPTIONAL_WEAK_EXPORT;
00784
00788 int jack_port_monitoring_input (jack_port_t *port) JACK_OPTIONAL_WEAK_EXPORT;
00789
00807 int jack_connect (jack_client_t *,
00808 const char *source_port,
00809 const char *destination_port) JACK_OPTIONAL_WEAK_EXPORT;
00810
00824 int jack_disconnect (jack_client_t *,
00825 const char *source_port,
00826 const char *destination_port) JACK_OPTIONAL_WEAK_EXPORT;
00827
00837 int jack_port_disconnect (jack_client_t *, jack_port_t *) JACK_OPTIONAL_WEAK_EXPORT;
00838
00847 int jack_port_name_size(void) JACK_OPTIONAL_WEAK_EXPORT;
00848
00853 int jack_port_type_size(void) JACK_OPTIONAL_WEAK_EXPORT;
00877 const char **jack_get_ports (jack_client_t *,
00878 const char *port_name_pattern,
00879 const char *type_name_pattern,
00880 unsigned long flags) JACK_OPTIONAL_WEAK_EXPORT;
00881
00887 jack_port_t *jack_port_by_name (jack_client_t *, const char *port_name) JACK_OPTIONAL_WEAK_EXPORT;
00888
00892 jack_port_t *jack_port_by_id (jack_client_t *client,
00893 jack_port_id_t port_id) JACK_OPTIONAL_WEAK_EXPORT;
00894
00911 jack_nframes_t jack_frames_since_cycle_start (const jack_client_t *) JACK_OPTIONAL_WEAK_EXPORT;
00912
00919 jack_nframes_t jack_frame_time (const jack_client_t *) JACK_OPTIONAL_WEAK_EXPORT;
00920
00935 jack_nframes_t jack_last_frame_time (const jack_client_t *client) JACK_OPTIONAL_WEAK_EXPORT;
00936
00940 jack_time_t jack_frames_to_time(const jack_client_t *client, jack_nframes_t) JACK_OPTIONAL_WEAK_EXPORT;
00941
00945 jack_nframes_t jack_time_to_frames(const jack_client_t *client, jack_time_t) JACK_OPTIONAL_WEAK_EXPORT;
00946
00953 jack_time_t jack_get_time() JACK_OPTIONAL_WEAK_EXPORT;
00954
00961
00970 extern void (*jack_error_callback)(const char *msg) JACK_OPTIONAL_WEAK_EXPORT;
00971
00978 void jack_set_error_function (void (*func)(const char *)) JACK_OPTIONAL_WEAK_EXPORT;
00979
00988 extern void (*jack_info_callback)(const char *msg) JACK_OPTIONAL_WEAK_EXPORT;
00989
00993 void jack_set_info_function (void (*func)(const char *)) JACK_OPTIONAL_WEAK_EXPORT;
01003 void jack_free(void* ptr) JACK_OPTIONAL_WEAK_EXPORT;
01004
01005 #ifdef __cplusplus
01006 }
01007 #endif
01008
01009 #endif
01010