From c3035566377d6d366fcd21ae2d5fbd90f4492078 Mon Sep 17 00:00:00 2001 From: sletz Date: Fri, 20 Nov 2009 09:35:00 +0000 Subject: [PATCH] Client debugging code improved. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3823 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 1 + common/JackAPI.cpp | 194 ++++++----- common/JackDebugClient.cpp | 133 ++++---- common/JackDebugClient.h | 4 +- common/JackGlobals.cpp | 23 ++ common/JackGlobals.h | 10 + common/JackLibAPI.cpp | 6 + common/JackLibGlobals.h | 8 +- common/JackServerAPI.cpp | 6 + common/ringbuffer.c | 3 +- macosx/JackMachClientChannel.cpp | 1 - macosx/Jackdmp.xcodeproj/project.pbxproj | 416 +++++++++++++++++++++++ 12 files changed, 647 insertions(+), 158 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65c9c3c5..e6ffcfac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -28,6 +28,7 @@ Paul Davis 2009-11-20 Stephane Letz * Version 1.9.5 started. + * Client debugging code improved. 2009-11-18 Stephane Letz diff --git a/common/JackAPI.cpp b/common/JackAPI.cpp index 97e58833..8d9b2969 100644 --- a/common/JackAPI.cpp +++ b/common/JackAPI.cpp @@ -290,6 +290,9 @@ EXPORT void jack_set_info_function (print_function func) EXPORT jack_client_t* jack_client_new(const char* client_name) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_new"); +#endif try { assert(JackGlobals::fOpenMutex); JackGlobals::fOpenMutex->Lock(); @@ -312,7 +315,7 @@ EXPORT jack_client_t* jack_client_new(const char* client_name) EXPORT void* jack_port_get_buffer(jack_port_t* port, jack_nframes_t frames) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_get_buffer"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -332,7 +335,7 @@ EXPORT void* jack_port_get_buffer(jack_port_t* port, jack_nframes_t frames) EXPORT const char* jack_port_name(const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_name"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -352,7 +355,7 @@ EXPORT const char* jack_port_name(const jack_port_t* port) EXPORT const char* jack_port_short_name(const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_short_name"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -372,7 +375,7 @@ EXPORT const char* jack_port_short_name(const jack_port_t* port) EXPORT int jack_port_flags(const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_flags"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -392,7 +395,7 @@ EXPORT int jack_port_flags(const jack_port_t* port) EXPORT const char* jack_port_type(const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_type"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -412,7 +415,7 @@ EXPORT const char* jack_port_type(const jack_port_t* port) EXPORT jack_port_type_id_t jack_port_type_id(const jack_port_t *port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_type_id"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -432,7 +435,7 @@ EXPORT jack_port_type_id_t jack_port_type_id(const jack_port_t *port) EXPORT int jack_port_connected(const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_connected"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -453,7 +456,7 @@ EXPORT int jack_port_connected(const jack_port_t* port) EXPORT int jack_port_connected_to(const jack_port_t* port, const char* port_name) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_connected_to"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -483,7 +486,7 @@ EXPORT int jack_port_connected_to(const jack_port_t* port, const char* port_name EXPORT int jack_port_tie(jack_port_t* src, jack_port_t* dst) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_tie"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t src_aux = (uint64_t)src; @@ -517,7 +520,7 @@ EXPORT int jack_port_tie(jack_port_t* src, jack_port_t* dst) EXPORT int jack_port_untie(jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_untie"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -537,7 +540,7 @@ EXPORT int jack_port_untie(jack_port_t* port) EXPORT jack_nframes_t jack_port_get_latency(jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_get_latency"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -558,7 +561,7 @@ EXPORT jack_nframes_t jack_port_get_latency(jack_port_t* port) EXPORT void jack_port_set_latency(jack_port_t* port, jack_nframes_t frames) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_set_latency"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -578,7 +581,7 @@ EXPORT void jack_port_set_latency(jack_port_t* port, jack_nframes_t frames) EXPORT int jack_recompute_total_latency(jack_client_t* ext_client, jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_recompute_total_latency"); #endif JackClient* client = (JackClient*)ext_client; @@ -604,7 +607,7 @@ EXPORT int jack_recompute_total_latency(jack_client_t* ext_client, jack_port_t* EXPORT int jack_recompute_total_latencies(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_recompute_total_latencies"); #endif JackClient* client = (JackClient*)ext_client; @@ -625,7 +628,7 @@ This is unsafe if case of concurrent access, and should be "serialized" doing a EXPORT int jack_port_set_name(jack_port_t* port, const char* name) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_set_name"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -655,7 +658,7 @@ EXPORT int jack_port_set_name(jack_port_t* port, const char* name) EXPORT int jack_port_set_alias(jack_port_t* port, const char* name) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_set_alias"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -678,7 +681,7 @@ EXPORT int jack_port_set_alias(jack_port_t* port, const char* name) EXPORT int jack_port_unset_alias(jack_port_t* port, const char* name) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_unset_alias"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -701,7 +704,7 @@ EXPORT int jack_port_unset_alias(jack_port_t* port, const char* name) EXPORT int jack_port_get_aliases(const jack_port_t* port, char* const aliases[2]) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_get_aliases"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -721,7 +724,7 @@ EXPORT int jack_port_get_aliases(const jack_port_t* port, char* const aliases[2] EXPORT int jack_port_request_monitor(jack_port_t* port, int onoff) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_request_monitor"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -741,7 +744,7 @@ EXPORT int jack_port_request_monitor(jack_port_t* port, int onoff) EXPORT int jack_port_request_monitor_by_name(jack_client_t* ext_client, const char* port_name, int onoff) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_request_monitor_by_name"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -764,7 +767,7 @@ EXPORT int jack_port_request_monitor_by_name(jack_client_t* ext_client, const ch EXPORT int jack_port_ensure_monitor(jack_port_t* port, int onoff) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_ensure_monitor"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -784,7 +787,7 @@ EXPORT int jack_port_ensure_monitor(jack_port_t* port, int onoff) EXPORT int jack_port_monitoring_input(jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_monitoring_input"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -804,7 +807,7 @@ EXPORT int jack_port_monitoring_input(jack_port_t* port) EXPORT int jack_is_realtime(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_is_realtime"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -819,7 +822,7 @@ EXPORT int jack_is_realtime(jack_client_t* ext_client) EXPORT void jack_on_shutdown(jack_client_t* ext_client, JackShutdownCallback callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_on_shutdown"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -832,7 +835,7 @@ EXPORT void jack_on_shutdown(jack_client_t* ext_client, JackShutdownCallback cal EXPORT void jack_on_info_shutdown(jack_client_t* ext_client, JackInfoShutdownCallback callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_on_info_shutdown"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -845,7 +848,7 @@ EXPORT void jack_on_info_shutdown(jack_client_t* ext_client, JackInfoShutdownCal EXPORT int jack_set_process_callback(jack_client_t* ext_client, JackProcessCallback callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_process_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -859,7 +862,7 @@ EXPORT int jack_set_process_callback(jack_client_t* ext_client, JackProcessCallb EXPORT jack_nframes_t jack_thread_wait(jack_client_t* ext_client, int status) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_thread_wait"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -874,7 +877,7 @@ EXPORT jack_nframes_t jack_thread_wait(jack_client_t* ext_client, int status) EXPORT jack_nframes_t jack_cycle_wait(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_cycle_wait"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -888,7 +891,7 @@ EXPORT jack_nframes_t jack_cycle_wait(jack_client_t* ext_client) EXPORT void jack_cycle_signal(jack_client_t* ext_client, int status) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_cycle_signal"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -901,7 +904,7 @@ EXPORT void jack_cycle_signal(jack_client_t* ext_client, int status) EXPORT int jack_set_process_thread(jack_client_t* ext_client, JackThreadCallback fun, void *arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_process_thread"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -915,7 +918,7 @@ EXPORT int jack_set_process_thread(jack_client_t* ext_client, JackThreadCallback EXPORT int jack_set_freewheel_callback(jack_client_t* ext_client, JackFreewheelCallback freewheel_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_freewheel_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -929,7 +932,7 @@ EXPORT int jack_set_freewheel_callback(jack_client_t* ext_client, JackFreewheelC EXPORT int jack_set_freewheel(jack_client_t* ext_client, int onoff) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_freewheel"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -943,7 +946,7 @@ EXPORT int jack_set_freewheel(jack_client_t* ext_client, int onoff) EXPORT int jack_set_buffer_size(jack_client_t* ext_client, jack_nframes_t buffer_size) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_buffer_size"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -959,7 +962,7 @@ EXPORT int jack_set_buffer_size(jack_client_t* ext_client, jack_nframes_t buffer EXPORT int jack_set_buffer_size_callback(jack_client_t* ext_client, JackBufferSizeCallback bufsize_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_buffer_size_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -973,7 +976,7 @@ EXPORT int jack_set_buffer_size_callback(jack_client_t* ext_client, JackBufferSi EXPORT int jack_set_sample_rate_callback(jack_client_t* ext_client, JackSampleRateCallback srate_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_sample_rate_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -987,7 +990,7 @@ EXPORT int jack_set_sample_rate_callback(jack_client_t* ext_client, JackSampleRa EXPORT int jack_set_client_registration_callback(jack_client_t* ext_client, JackClientRegistrationCallback registration_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_client_registration_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1001,7 +1004,7 @@ EXPORT int jack_set_client_registration_callback(jack_client_t* ext_client, Jack EXPORT int jack_set_port_registration_callback(jack_client_t* ext_client, JackPortRegistrationCallback registration_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_port_registration_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1015,7 +1018,7 @@ EXPORT int jack_set_port_registration_callback(jack_client_t* ext_client, JackPo EXPORT int jack_set_port_connect_callback(jack_client_t* ext_client, JackPortConnectCallback portconnect_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_port_connect_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1029,7 +1032,7 @@ EXPORT int jack_set_port_connect_callback(jack_client_t* ext_client, JackPortCon EXPORT int jack_set_port_rename_callback(jack_client_t* ext_client, JackPortRenameCallback rename_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_port_rename_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1043,7 +1046,7 @@ EXPORT int jack_set_port_rename_callback(jack_client_t* ext_client, JackPortRena EXPORT int jack_set_graph_order_callback(jack_client_t* ext_client, JackGraphOrderCallback graph_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_graph_order_callback"); #endif JackClient* client = (JackClient*)ext_client; jack_log("jack_set_graph_order_callback ext_client %x client %x ", ext_client, client); @@ -1058,7 +1061,7 @@ EXPORT int jack_set_graph_order_callback(jack_client_t* ext_client, JackGraphOrd EXPORT int jack_set_xrun_callback(jack_client_t* ext_client, JackXRunCallback xrun_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_xrun_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1072,7 +1075,7 @@ EXPORT int jack_set_xrun_callback(jack_client_t* ext_client, JackXRunCallback xr EXPORT int jack_set_thread_init_callback(jack_client_t* ext_client, JackThreadInitCallback init_callback, void *arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_thread_init_callback"); #endif JackClient* client = (JackClient*)ext_client; jack_log("jack_set_thread_init_callback ext_client %x client %x ", ext_client, client); @@ -1087,7 +1090,7 @@ EXPORT int jack_set_thread_init_callback(jack_client_t* ext_client, JackThreadIn EXPORT int jack_activate(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_activate"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1101,7 +1104,7 @@ EXPORT int jack_activate(jack_client_t* ext_client) EXPORT int jack_deactivate(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_deactivate"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1115,7 +1118,7 @@ EXPORT int jack_deactivate(jack_client_t* ext_client) EXPORT jack_port_t* jack_port_register(jack_client_t* ext_client, const char* port_name, const char* port_type, unsigned long flags, unsigned long buffer_size) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_register"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1136,7 +1139,7 @@ EXPORT jack_port_t* jack_port_register(jack_client_t* ext_client, const char* po EXPORT int jack_port_unregister(jack_client_t* ext_client, jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_unregister"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1159,7 +1162,7 @@ EXPORT int jack_port_unregister(jack_client_t* ext_client, jack_port_t* port) EXPORT int jack_port_is_mine(const jack_client_t* ext_client, const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_is_mine"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1182,7 +1185,7 @@ EXPORT int jack_port_is_mine(const jack_client_t* ext_client, const jack_port_t* EXPORT const char** jack_port_get_connections(const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_get_connections"); #endif #if defined(__x86_64__) || defined(__ppc64__) uint64_t port_aux = (uint64_t)port; @@ -1204,7 +1207,7 @@ EXPORT const char** jack_port_get_connections(const jack_port_t* port) EXPORT const char** jack_port_get_all_connections(const jack_client_t* ext_client, const jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_get_all_connections"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1231,7 +1234,7 @@ EXPORT const char** jack_port_get_all_connections(const jack_client_t* ext_clien EXPORT jack_nframes_t jack_port_get_total_latency(jack_client_t* ext_client, jack_port_t* port) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_get_total_latency"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1263,7 +1266,7 @@ EXPORT jack_nframes_t jack_port_get_total_latency(jack_client_t* ext_client, jac EXPORT int jack_connect(jack_client_t* ext_client, const char* src, const char* dst) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_connect"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1280,7 +1283,7 @@ EXPORT int jack_connect(jack_client_t* ext_client, const char* src, const char* EXPORT int jack_disconnect(jack_client_t* ext_client, const char* src, const char* dst) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_disconnect"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1297,7 +1300,7 @@ EXPORT int jack_disconnect(jack_client_t* ext_client, const char* src, const cha EXPORT int jack_port_disconnect(jack_client_t* ext_client, jack_port_t* src) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_disconnect"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1320,7 +1323,7 @@ EXPORT int jack_port_disconnect(jack_client_t* ext_client, jack_port_t* src) EXPORT jack_nframes_t jack_get_sample_rate(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_sample_rate"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1335,7 +1338,7 @@ EXPORT jack_nframes_t jack_get_sample_rate(jack_client_t* ext_client) EXPORT jack_nframes_t jack_get_buffer_size(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_buffer_size"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1350,7 +1353,7 @@ EXPORT jack_nframes_t jack_get_buffer_size(jack_client_t* ext_client) EXPORT const char** jack_get_ports(jack_client_t* ext_client, const char* port_name_pattern, const char* type_name_pattern, unsigned long flags) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_ports"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1364,7 +1367,7 @@ EXPORT const char** jack_get_ports(jack_client_t* ext_client, const char* port_n EXPORT jack_port_t* jack_port_by_name(jack_client_t* ext_client, const char* portname) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_by_name"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1391,7 +1394,7 @@ EXPORT jack_port_t* jack_port_by_name(jack_client_t* ext_client, const char* por EXPORT jack_port_t* jack_port_by_id(jack_client_t* ext_client, jack_port_id_t id) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_port_by_id"); #endif /* jack_port_t* type is actually the port index */ #if defined(__x86_64__) || defined(__ppc64__) @@ -1404,7 +1407,7 @@ EXPORT jack_port_t* jack_port_by_id(jack_client_t* ext_client, jack_port_id_t id EXPORT int jack_engine_takeover_timebase(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_engine_takeover_timebase"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1419,7 +1422,7 @@ EXPORT int jack_engine_takeover_timebase(jack_client_t* ext_client) EXPORT jack_nframes_t jack_frames_since_cycle_start(const jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_frames_since_cycle_start"); #endif JackTimer timer; JackEngineControl* control = GetEngineControl(); @@ -1433,13 +1436,16 @@ EXPORT jack_nframes_t jack_frames_since_cycle_start(const jack_client_t* ext_cli EXPORT jack_time_t jack_get_time() { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_get_time"); +#endif return GetMicroSeconds(); } EXPORT jack_time_t jack_frames_to_time(const jack_client_t* ext_client, jack_nframes_t frames) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_frames_to_time"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1460,7 +1466,7 @@ EXPORT jack_time_t jack_frames_to_time(const jack_client_t* ext_client, jack_nfr EXPORT jack_nframes_t jack_time_to_frames(const jack_client_t* ext_client, jack_time_t time) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_time_to_frames"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1480,13 +1486,16 @@ EXPORT jack_nframes_t jack_time_to_frames(const jack_client_t* ext_client, jack_ EXPORT jack_nframes_t jack_frame_time(const jack_client_t* ext_client) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_frame_time"); +#endif return jack_time_to_frames(ext_client, GetMicroSeconds()); } EXPORT jack_nframes_t jack_last_frame_time(const jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_last_frame_time"); #endif JackEngineControl* control = GetEngineControl(); return (control) ? control->fFrameTimer.ReadCurrentState()->CurFrame() : 0; @@ -1495,7 +1504,7 @@ EXPORT jack_nframes_t jack_last_frame_time(const jack_client_t* ext_client) EXPORT float jack_cpu_load(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_cpu_load"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1510,7 +1519,7 @@ EXPORT float jack_cpu_load(jack_client_t* ext_client) EXPORT pthread_t jack_client_thread_id(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_client_thread_id"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1524,7 +1533,7 @@ EXPORT pthread_t jack_client_thread_id(jack_client_t* ext_client) EXPORT char* jack_get_client_name(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_client_name"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1554,7 +1563,7 @@ EXPORT int jack_port_type_size(void) EXPORT int jack_release_timebase(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_release_timebase"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1568,7 +1577,7 @@ EXPORT int jack_release_timebase(jack_client_t* ext_client) EXPORT int jack_set_sync_callback(jack_client_t* ext_client, JackSyncCallback sync_callback, void *arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_sync_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1582,7 +1591,7 @@ EXPORT int jack_set_sync_callback(jack_client_t* ext_client, JackSyncCallback sy EXPORT int jack_set_sync_timeout(jack_client_t* ext_client, jack_time_t timeout) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_sync_timeout"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1596,7 +1605,7 @@ EXPORT int jack_set_sync_timeout(jack_client_t* ext_client, jack_time_t timeout) EXPORT int jack_set_timebase_callback(jack_client_t* ext_client, int conditional, JackTimebaseCallback timebase_callback, void* arg) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_set_timebase_callback"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1610,7 +1619,7 @@ EXPORT int jack_set_timebase_callback(jack_client_t* ext_client, int conditional EXPORT int jack_transport_locate(jack_client_t* ext_client, jack_nframes_t frame) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_transport_locate"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1625,7 +1634,7 @@ EXPORT int jack_transport_locate(jack_client_t* ext_client, jack_nframes_t frame EXPORT jack_transport_state_t jack_transport_query(const jack_client_t* ext_client, jack_position_t* pos) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_transport_query"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1639,7 +1648,7 @@ EXPORT jack_transport_state_t jack_transport_query(const jack_client_t* ext_clie EXPORT jack_nframes_t jack_get_current_transport_frame(const jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_current_transport_frame"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1653,7 +1662,7 @@ EXPORT jack_nframes_t jack_get_current_transport_frame(const jack_client_t* ext_ EXPORT int jack_transport_reposition(jack_client_t* ext_client, jack_position_t* pos) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_transport_reposition"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1668,7 +1677,7 @@ EXPORT int jack_transport_reposition(jack_client_t* ext_client, jack_position_t* EXPORT void jack_transport_start(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_transport_start"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1681,7 +1690,7 @@ EXPORT void jack_transport_start(jack_client_t* ext_client) EXPORT void jack_transport_stop(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_transport_stop"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1694,6 +1703,9 @@ EXPORT void jack_transport_stop(jack_client_t* ext_client) // deprecated EXPORT void jack_get_transport_info(jack_client_t* ext_client, jack_transport_info_t* tinfo) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_get_transport_info"); +#endif jack_error("jack_get_transport_info: deprecated"); if (tinfo) memset(tinfo, 0, sizeof(jack_transport_info_t)); @@ -1701,6 +1713,9 @@ EXPORT void jack_get_transport_info(jack_client_t* ext_client, jack_transport_in EXPORT void jack_set_transport_info(jack_client_t* ext_client, jack_transport_info_t* tinfo) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_set_transport_info"); +#endif jack_error("jack_set_transport_info: deprecated"); if (tinfo) memset(tinfo, 0, sizeof(jack_transport_info_t)); @@ -1710,7 +1725,7 @@ EXPORT void jack_set_transport_info(jack_client_t* ext_client, jack_transport_in EXPORT float jack_get_max_delayed_usecs(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_max_delayed_usecs"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1725,7 +1740,7 @@ EXPORT float jack_get_max_delayed_usecs(jack_client_t* ext_client) EXPORT float jack_get_xrun_delayed_usecs(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_xrun_delayed_usecs"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1740,7 +1755,7 @@ EXPORT float jack_get_xrun_delayed_usecs(jack_client_t* ext_client) EXPORT void jack_reset_max_delayed_usecs(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_reset_max_delayed_usecs"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1755,7 +1770,7 @@ EXPORT void jack_reset_max_delayed_usecs(jack_client_t* ext_client) EXPORT int jack_client_real_time_priority(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_client_real_time_priority"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1770,7 +1785,7 @@ EXPORT int jack_client_real_time_priority(jack_client_t* ext_client) EXPORT int jack_client_max_real_time_priority(jack_client_t* ext_client) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_client_max_real_time_priority"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1795,6 +1810,9 @@ EXPORT int jack_client_create_thread(jack_client_t* client, thread_routine routine, void *arg) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_create_thread"); +#endif return JackThread::StartImp(thread, priority, realtime, routine, arg); } @@ -1805,11 +1823,17 @@ EXPORT int jack_drop_real_time_scheduling(pthread_t thread) EXPORT int jack_client_stop_thread(jack_client_t* client, pthread_t thread) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_stop_thread"); +#endif return JackThread::StopImp(thread); } EXPORT int jack_client_kill_thread(jack_client_t* client, pthread_t thread) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_kill_thread"); +#endif return JackThread::KillImp(thread); } @@ -1837,7 +1861,7 @@ EXPORT void jack_internal_client_close (const char *client_name) EXPORT char* jack_get_internal_client_name(jack_client_t* ext_client, jack_intclient_t intclient) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_get_internal_client_name"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1854,7 +1878,7 @@ EXPORT char* jack_get_internal_client_name(jack_client_t* ext_client, jack_intcl EXPORT jack_intclient_t jack_internal_client_handle(jack_client_t* ext_client, const char* client_name, jack_status_t* status) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_internal_client_handle"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1872,7 +1896,7 @@ EXPORT jack_intclient_t jack_internal_client_handle(jack_client_t* ext_client, c EXPORT jack_intclient_t jack_internal_client_load_aux(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_internal_client_load_aux"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { @@ -1911,7 +1935,7 @@ EXPORT jack_intclient_t jack_internal_client_load(jack_client_t *client, const c EXPORT jack_status_t jack_internal_client_unload(jack_client_t* ext_client, jack_intclient_t intclient) { #ifdef __CLIENTDEBUG__ - JackLibGlobals::CheckContext(); + JackGlobals::CheckContext("jack_internal_client_load"); #endif JackClient* client = (JackClient*)ext_client; if (client == NULL) { diff --git a/common/JackDebugClient.cpp b/common/JackDebugClient.cpp index a2a61d8d..df263779 100644 --- a/common/JackDebugClient.cpp +++ b/common/JackDebugClient.cpp @@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackDebugClient.h" #include "JackEngineControl.h" +#include "JackException.h" #include "JackError.h" #include "JackTime.h" #include @@ -55,9 +56,9 @@ JackDebugClient::~JackDebugClient() *fStream << setw(5) << "- Total number of instantiated port : " << fTotalPortNumber << endl; *fStream << setw(5) << "- Number of port remaining open when exiting client : " << fOpenPortNumber << endl; if (fOpenPortNumber != 0) - *fStream << "!!! WARNING !!! Some ports have not been unregistrated ! Incorrect exiting !" << endl; + *fStream << "!!! WARNING !!! Some ports have not been unregistered ! Incorrect exiting !" << endl; if (fIsDeactivated != fIsActivated) - *fStream << "!!! ERROR !!! Client seem do not perform symetric activation-deactivation ! (not the same number of activate and deactivate)" << endl; + *fStream << "!!! ERROR !!! Client seem to not perform symetric activation-deactivation ! (not the same number of activate and deactivate)" << endl; if (fIsClosed == 0) *fStream << "!!! ERROR !!! Client have not been closed with jack_client_close() !" << endl; @@ -68,9 +69,9 @@ JackDebugClient::~JackDebugClient() *fStream << setw(5) << "- Name : " << fPortList[i].name << endl; *fStream << setw(5) << "- idport : " << fPortList[i].idport << endl; *fStream << setw(5) << "- IsConnected : " << fPortList[i].IsConnected << endl; - *fStream << setw(5) << "- IsUnregistrated : " << fPortList[i].IsUnregistrated << endl; - if (fPortList[i].IsUnregistrated == 0) - *fStream << "!!! WARNING !!! Port have not been unregistrated ! Incorrect exiting !" << endl; + *fStream << setw(5) << "- IsUnregistered : " << fPortList[i].IsUnregistered << endl; + if (fPortList[i].IsUnregistered == 0) + *fStream << "!!! WARNING !!! Port have not been unregistered ! Incorrect exiting !" << endl; } *fStream << "delete object JackDebugClient : end of tracing" << endl; delete fStream; @@ -106,33 +107,39 @@ int JackDebugClient::Open(const char* server_name, const char* name, jack_option int JackDebugClient::Close() { - fIsClosed++; *fStream << "Client '" << fClientName << "' was closed" << endl; - return fClient->Close(); + int res = fClient->Close(); + fIsClosed++; + return res; } -void JackDebugClient::CheckClient() const +void JackDebugClient::CheckClient(const char* function_name) const { + *fStream << "CheckClient : " << function_name << ", calling thread : " << pthread_self() << endl; + if (fIsClosed > 0) { - *fStream << "!!! ERROR !!! : Accessing a client '" << fClientName << "' already closed !" << endl; + *fStream << "!!! ERROR !!! : Accessing a client '" << fClientName << "' already closed " << "from " << function_name << endl; *fStream << "This is likely to cause crash !'" << endl; + #ifdef __APPLE__ + Debugger(); + #endif } } pthread_t JackDebugClient::GetThreadID() { - CheckClient(); + CheckClient("GetThreadID"); return fClient->GetThreadID(); } JackGraphManager* JackDebugClient::GetGraphManager() const { - CheckClient(); + CheckClient("GetGraphManager"); return fClient->GetGraphManager(); } JackEngineControl* JackDebugClient::GetEngineControl() const { - CheckClient(); + CheckClient("GetEngineControl"); return fClient->GetEngineControl(); } /*! @@ -141,13 +148,13 @@ JackEngineControl* JackDebugClient::GetEngineControl() const int JackDebugClient::ClientNotify(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2) { - CheckClient(); + CheckClient("ClientNotify"); return fClient->ClientNotify( refnum, name, notify, sync, message, value1, value2); } int JackDebugClient::Activate() { - CheckClient(); + CheckClient("Activate"); int res = fClient->Activate(); fIsActivated++; if (fIsDeactivated) @@ -160,7 +167,7 @@ int JackDebugClient::Activate() int JackDebugClient::Deactivate() { - CheckClient(); + CheckClient("Deactivate"); int res = fClient->Deactivate(); fIsDeactivated++; if (fIsActivated == 0) @@ -177,7 +184,7 @@ int JackDebugClient::Deactivate() int JackDebugClient::PortRegister(const char* port_name, const char* port_type, unsigned long flags, unsigned long buffer_size) { - CheckClient(); + CheckClient("PortRegister"); int res = fClient->PortRegister(port_name, port_type, flags, buffer_size); if (res <= 0) { *fStream << "Client '" << fClientName << "' try port register ('" << port_name << "') and server return error " << res << " ." << endl; @@ -186,7 +193,7 @@ int JackDebugClient::PortRegister(const char* port_name, const char* port_type, fPortList[fTotalPortNumber].idport = res; strcpy(fPortList[fTotalPortNumber].name, port_name); fPortList[fTotalPortNumber].IsConnected = 0; - fPortList[fTotalPortNumber].IsUnregistrated = 0; + fPortList[fTotalPortNumber].IsUnregistered = 0; } else { *fStream << "!!! WARNING !!! History is full : no more port history will be recorded." << endl; } @@ -199,42 +206,42 @@ int JackDebugClient::PortRegister(const char* port_name, const char* port_type, int JackDebugClient::PortUnRegister(jack_port_id_t port_index) { - CheckClient(); + CheckClient("PortUnRegister"); int res = fClient->PortUnRegister(port_index); fOpenPortNumber--; int i; for (i = (fTotalPortNumber - 1); i >= 0; i--) { // We search the record into the history if (fPortList[i].idport == port_index) { // We found the last record - if (fPortList[i].IsUnregistrated != 0) + if (fPortList[i].IsUnregistered != 0) *fStream << "!!! ERROR !!! : '" << fClientName << "' id deregistering port '" << fPortList[i].name << "' that have already been unregistered !" << endl; - fPortList[i].IsUnregistrated++; + fPortList[i].IsUnregistered++; break; } } if (i == 0) // Port is not found *fStream << "JackClientDebug : PortUnregister : port " << port_index << " was not previously registered !" << endl; if (res != 0) - *fStream << "Client '" << fClientName << "' try to do PortUnregister and server return " << res << " )." << endl; + *fStream << "Client '" << fClientName << "' try to do PortUnregister and server return " << res << endl; *fStream << "Client '" << fClientName << "' unregister port '" << port_index << "'." << endl; return res; } int JackDebugClient::PortConnect(const char* src, const char* dst) { - CheckClient(); + CheckClient("PortConnect"); if (!fIsActivated) *fStream << "!!! ERROR !!! Trying to connect a port ( " << src << " to " << dst << ") while the client has not been activated !" << endl; int i; int res = fClient->PortConnect( src, dst); for (i = (fTotalPortNumber - 1); i >= 0; i--) { // We search the record into the history if (strcmp(fPortList[i].name, src) == 0) { // We found the last record in sources - if (fPortList[i].IsUnregistrated != 0) + if (fPortList[i].IsUnregistered != 0) *fStream << "!!! ERROR !!! Connecting port " << src << " previoulsy unregistered !" << endl; fPortList[i].IsConnected++; *fStream << "Connecting port " << src << " to " << dst << ". "; break; } else if (strcmp(fPortList[i].name, dst) == 0 ) { // We found the record in dest - if (fPortList[i].IsUnregistrated != 0) + if (fPortList[i].IsUnregistered != 0) *fStream << "!!! ERROR !!! Connecting port " << dst << " previoulsy unregistered !" << endl; fPortList[i].IsConnected++; *fStream << "Connecting port " << src << " to " << dst << ". "; @@ -251,20 +258,20 @@ int JackDebugClient::PortConnect(const char* src, const char* dst) int JackDebugClient::PortDisconnect(const char* src, const char* dst) { - CheckClient(); + CheckClient("PortDisconnect"); if (!fIsActivated) *fStream << "!!! ERROR !!! Trying to disconnect a port ( " << src << " to " << dst << ") while the client has not been activated !" << endl; int res = fClient->PortDisconnect( src, dst); int i; for (i = (fTotalPortNumber - 1); i >= 0; i--) { // We search the record into the history if (strcmp(fPortList[i].name, src) == 0) { // We found the record in sources - if (fPortList[i].IsUnregistrated != 0) + if (fPortList[i].IsUnregistered != 0) *fStream << "!!! ERROR !!! : Disconnecting port " << src << " previoulsy unregistered !" << endl; fPortList[i].IsConnected--; *fStream << "disconnecting port " << src << ". "; break; } else if (strcmp(fPortList[i].name, dst) == 0 ) { // We found the record in dest - if (fPortList[i].IsUnregistrated != 0) + if (fPortList[i].IsUnregistered != 0) *fStream << "!!! ERROR !!! : Disonnecting port " << dst << " previoulsy unregistered !" << endl; fPortList[i].IsConnected--; *fStream << "disconnecting port " << dst << ". "; @@ -281,14 +288,14 @@ int JackDebugClient::PortDisconnect(const char* src, const char* dst) int JackDebugClient::PortDisconnect(jack_port_id_t src) { - CheckClient(); + CheckClient("PortDisconnect"); if (!fIsActivated) *fStream << "!!! ERROR !!! : Trying to disconnect port " << src << " while that client has not been activated !" << endl; int res = fClient->PortDisconnect(src); int i; for (i = (fTotalPortNumber - 1); i >= 0; i--) { // We search the record into the history if (fPortList[i].idport == src) { // We found the record in sources - if (fPortList[i].IsUnregistrated != 0) + if (fPortList[i].IsUnregistered != 0) *fStream << "!!! ERROR !!! : Disconnecting port " << src << " previoulsy unregistered !" << endl; fPortList[i].IsConnected--; *fStream << "Disconnecting port " << src << ". " << endl; @@ -305,7 +312,7 @@ int JackDebugClient::PortDisconnect(jack_port_id_t src) int JackDebugClient::PortIsMine(jack_port_id_t port_index) { - CheckClient(); + CheckClient("PortIsMine"); return fClient->PortIsMine(port_index); } @@ -315,13 +322,13 @@ int JackDebugClient::PortIsMine(jack_port_id_t port_index) int JackDebugClient::SetBufferSize(jack_nframes_t buffer_size) { - CheckClient(); + CheckClient("SetBufferSize"); return fClient->SetBufferSize(buffer_size); } int JackDebugClient::SetFreeWheel(int onoff) { - CheckClient(); + CheckClient("SetFreeWheel"); if (onoff && fFreewheel) *fStream << "!!! ERROR !!! : Freewheel setup seems incorrect : set = ON while FW is already ON " << endl; if (!onoff && !fFreewheel) @@ -348,61 +355,61 @@ void JackDebugClient::ShutDown() int JackDebugClient::ReleaseTimebase() { - CheckClient(); + CheckClient("ReleaseTimebase"); return fClient->ReleaseTimebase(); } int JackDebugClient::SetSyncCallback(JackSyncCallback sync_callback, void* arg) { - CheckClient(); + CheckClient("SetSyncCallback"); return fClient->SetSyncCallback(sync_callback, arg); } int JackDebugClient::SetSyncTimeout(jack_time_t timeout) { - CheckClient(); + CheckClient("SetSyncTimeout"); return fClient->SetSyncTimeout(timeout); } int JackDebugClient::SetTimebaseCallback(int conditional, JackTimebaseCallback timebase_callback, void* arg) { - CheckClient(); + CheckClient("SetTimebaseCallback"); return fClient->SetTimebaseCallback( conditional, timebase_callback, arg); } void JackDebugClient::TransportLocate(jack_nframes_t frame) { - CheckClient(); + CheckClient("TransportLocate"); fClient->TransportLocate(frame); } jack_transport_state_t JackDebugClient::TransportQuery(jack_position_t* pos) { - CheckClient(); + CheckClient("TransportQuery"); return fClient->TransportQuery(pos); } jack_nframes_t JackDebugClient::GetCurrentTransportFrame() { - CheckClient(); + CheckClient("GetCurrentTransportFrame"); return fClient->GetCurrentTransportFrame(); } int JackDebugClient::TransportReposition(jack_position_t* pos) { - CheckClient(); + CheckClient("TransportReposition"); return fClient->TransportReposition(pos); } void JackDebugClient::TransportStart() { - CheckClient(); + CheckClient("TransportStart"); fClient->TransportStart(); } void JackDebugClient::TransportStop() { - CheckClient(); + CheckClient("TransportStop"); fClient->TransportStop(); } @@ -412,13 +419,13 @@ void JackDebugClient::TransportStop() void JackDebugClient::OnShutdown(JackShutdownCallback callback, void *arg) { - CheckClient(); + CheckClient("OnShutdown"); fClient->OnShutdown(callback, arg); } void JackDebugClient::OnInfoShutdown(JackInfoShutdownCallback callback, void *arg) { - CheckClient(); + CheckClient("OnInfoShutdown"); fClient->OnInfoShutdown(callback, arg); } @@ -427,16 +434,18 @@ int JackDebugClient::TimeCallback(jack_nframes_t nframes, void *arg) JackDebugClient* client = (JackDebugClient*)arg; jack_time_t t1 = GetMicroSeconds(); int res = client->fProcessTimeCallback(nframes, client->fProcessTimeCallbackArg); + if (res == 0) { jack_time_t t2 = GetMicroSeconds(); - long delta = long((t2 - t1) - client->GetEngineControl()->fPeriodUsecs); - if (delta > 0 && !client->fFreewheel) - *client->fStream << "!!! ERROR !!! : Process overload of " << delta << " us" << endl; + long delta = long((t2 - t1) - client->GetEngineControl()->fPeriodUsecs); + if (delta > 0 && !client->fFreewheel) + *client->fStream << "!!! ERROR !!! : Process overload of " << delta << " us" << endl; + } return res; } int JackDebugClient::SetProcessCallback(JackProcessCallback callback, void *arg) { - CheckClient(); + CheckClient("SetProcessCallback"); fProcessTimeCallback = callback; fProcessTimeCallbackArg = arg; return fClient->SetProcessCallback(TimeCallback, this); @@ -444,86 +453,86 @@ int JackDebugClient::SetProcessCallback(JackProcessCallback callback, void *arg) int JackDebugClient::SetXRunCallback(JackXRunCallback callback, void *arg) { - CheckClient(); + CheckClient("SetXRunCallback"); return fClient->SetXRunCallback(callback, arg); } int JackDebugClient::SetInitCallback(JackThreadInitCallback callback, void *arg) { - CheckClient(); + CheckClient("SetInitCallback"); return fClient->SetInitCallback(callback, arg); } int JackDebugClient::SetGraphOrderCallback(JackGraphOrderCallback callback, void *arg) { - CheckClient(); + CheckClient("SetGraphOrderCallback"); return fClient->SetGraphOrderCallback(callback, arg); } int JackDebugClient::SetBufferSizeCallback(JackBufferSizeCallback callback, void *arg) { - CheckClient(); + CheckClient("SetBufferSizeCallback"); return fClient->SetBufferSizeCallback(callback, arg); } int JackDebugClient::SetClientRegistrationCallback(JackClientRegistrationCallback callback, void* arg) { - CheckClient(); + CheckClient("SetClientRegistrationCallback"); return fClient->SetClientRegistrationCallback(callback, arg); } int JackDebugClient::SetFreewheelCallback(JackFreewheelCallback callback, void *arg) { - CheckClient(); + CheckClient("SetFreewheelCallback"); return fClient->SetFreewheelCallback(callback, arg); } int JackDebugClient::SetPortRegistrationCallback(JackPortRegistrationCallback callback, void *arg) { - CheckClient(); + CheckClient("SetPortRegistrationCallback"); return fClient->SetPortRegistrationCallback(callback, arg); } int JackDebugClient::SetPortConnectCallback(JackPortConnectCallback callback, void *arg) { - CheckClient(); + CheckClient("SetPortConnectCallback"); return fClient->SetPortConnectCallback(callback, arg); } int JackDebugClient::SetPortRenameCallback(JackPortRenameCallback callback, void *arg) { - CheckClient(); + CheckClient("SetPortRenameCallback"); return fClient->SetPortRenameCallback(callback, arg); } JackClientControl* JackDebugClient::GetClientControl() const { - CheckClient(); + CheckClient("GetClientControl"); return fClient->GetClientControl(); } // Internal clients char* JackDebugClient::GetInternalClientName(int ref) { - CheckClient(); + CheckClient("GetInternalClientName"); return fClient->GetInternalClientName(ref); } int JackDebugClient::InternalClientHandle(const char* client_name, jack_status_t* status) { - CheckClient(); + CheckClient("InternalClientHandle"); return fClient->InternalClientHandle(client_name, status); } int JackDebugClient::InternalClientLoad(const char* client_name, jack_options_t options, jack_status_t* status, jack_varargs_t* va) { - CheckClient(); + CheckClient("InternalClientLoad"); return fClient->InternalClientLoad(client_name, options, status, va); } void JackDebugClient::InternalClientUnload(int ref, jack_status_t* status) { - CheckClient(); + CheckClient("InternalClientUnload"); fClient->InternalClientUnload(ref, status); } diff --git a/common/JackDebugClient.h b/common/JackDebugClient.h index 0bb21b20..6a31f432 100644 --- a/common/JackDebugClient.h +++ b/common/JackDebugClient.h @@ -38,7 +38,7 @@ typedef struct jack_port_id_t idport; char name[JACK_PORT_NAME_SIZE]; //portname int IsConnected; - int IsUnregistrated; + int IsUnregistered; } PortFollower; @@ -129,7 +129,7 @@ class JackDebugClient : public JackClient void InternalClientUnload(int ref, jack_status_t* status); JackClientControl* GetClientControl() const; - void CheckClient() const; + void CheckClient(const char* function_name) const; static int TimeCallback(jack_nframes_t nframes, void *arg); }; diff --git a/common/JackGlobals.cpp b/common/JackGlobals.cpp index c8c40545..2314c84d 100644 --- a/common/JackGlobals.cpp +++ b/common/JackGlobals.cpp @@ -37,5 +37,28 @@ JackClient* JackGlobals::fClientTable[CLIENT_NUM] = {}; #ifndef WIN32 jack_thread_creator_t JackGlobals::fJackThreadCreator = pthread_create; #endif + +#ifdef __CLIENTDEBUG__ +std::ofstream* JackGlobals::fStream = NULL; + +void JackGlobals::CheckContext(const char* name) +{ + if (JackGlobals::fStream == NULL) { + char provstr[256]; + char buffer[256]; + time_t curtime; + struct tm *loctime; + /* Get the current time. */ + curtime = time (NULL); + /* Convert it to local time representation. */ + loctime = localtime (&curtime); + strftime (buffer, 256, "%I-%M", loctime); + sprintf(provstr, "JackAPICall-%s.log", buffer); + JackGlobals::fStream = new std::ofstream(provstr, std::ios_base::ate); + JackGlobals::fStream->is_open(); + } + (*fStream) << "JACK API call : " << name << ", calling thread : " << pthread_self() << std::endl; +} +#endif } // end of namespace diff --git a/common/JackGlobals.h b/common/JackGlobals.h index 7586708e..7bd61581 100644 --- a/common/JackGlobals.h +++ b/common/JackGlobals.h @@ -23,6 +23,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackPlatformPlug.h" #include "JackConstants.h" +#include +#include +#include +#include + namespace Jack { @@ -38,6 +43,11 @@ struct JackGlobals { #ifndef WIN32 static jack_thread_creator_t fJackThreadCreator; #endif + +#ifdef __CLIENTDEBUG__ + static std::ofstream* fStream; + static void CheckContext(const char* name); +#endif }; // Each "side" server and client will implement this to get the shared graph manager, engine control and inter-process synchro table. diff --git a/common/JackLibAPI.cpp b/common/JackLibAPI.cpp index b2cce06f..45649c2d 100644 --- a/common/JackLibAPI.cpp +++ b/common/JackLibAPI.cpp @@ -112,6 +112,9 @@ EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options EXPORT jack_client_t* jack_client_open(const char* ext_client_name, jack_options_t options, jack_status_t* status, ...) { try { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_open"); +#endif assert(JackGlobals::fOpenMutex); JackGlobals::fOpenMutex->Lock(); va_list ap; @@ -131,6 +134,9 @@ EXPORT jack_client_t* jack_client_open(const char* ext_client_name, jack_options EXPORT int jack_client_close(jack_client_t* ext_client) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_close"); +#endif assert(JackGlobals::fOpenMutex); JackGlobals::fOpenMutex->Lock(); int res = -1; diff --git a/common/JackLibGlobals.h b/common/JackLibGlobals.h index f109b665..5ef8b9e9 100644 --- a/common/JackLibGlobals.h +++ b/common/JackLibGlobals.h @@ -31,6 +31,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackError.h" #include #include + namespace Jack { @@ -123,13 +124,6 @@ struct JackLibGlobals } } - static void CheckContext() - { - if (!(fClientCount > 0 && fGlobals)) { - jack_error("Error !!! : client accessing an already desallocated library context"); - } - } - }; } // end of namespace diff --git a/common/JackServerAPI.cpp b/common/JackServerAPI.cpp index e8e6c021..a9755fe8 100644 --- a/common/JackServerAPI.cpp +++ b/common/JackServerAPI.cpp @@ -105,6 +105,9 @@ EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options EXPORT jack_client_t* jack_client_open(const char* ext_client_name, jack_options_t options, jack_status_t* status, ...) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_open"); +#endif try { assert(JackGlobals::fOpenMutex); JackGlobals::fOpenMutex->Lock(); @@ -125,6 +128,9 @@ EXPORT jack_client_t* jack_client_open(const char* ext_client_name, jack_options EXPORT int jack_client_close(jack_client_t* ext_client) { +#ifdef __CLIENTDEBUG__ + JackGlobals::CheckContext("jack_client_close"); +#endif assert(JackGlobals::fOpenMutex); JackGlobals::fOpenMutex->Lock(); int res = -1; diff --git a/common/ringbuffer.c b/common/ringbuffer.c index f2096630..b60000c7 100644 --- a/common/ringbuffer.c +++ b/common/ringbuffer.c @@ -400,4 +400,5 @@ jack_ringbuffer_get_write_vector (const jack_ringbuffer_t * rb, vec[0].len = free_cnt; vec[1].len = 0; } -} \ No newline at end of file +} + diff --git a/macosx/JackMachClientChannel.cpp b/macosx/JackMachClientChannel.cpp index c666bbb3..f5f88504 100644 --- a/macosx/JackMachClientChannel.cpp +++ b/macosx/JackMachClientChannel.cpp @@ -23,7 +23,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackRPCClientServer.c" #include "JackError.h" #include "JackLibClient.h" -#include "JackLibGlobals.h" #include "JackMachThread.h" #include "JackConstants.h" diff --git a/macosx/Jackdmp.xcodeproj/project.pbxproj b/macosx/Jackdmp.xcodeproj/project.pbxproj index c8aae4f5..ff477aca 100644 --- a/macosx/Jackdmp.xcodeproj/project.pbxproj +++ b/macosx/Jackdmp.xcodeproj/project.pbxproj @@ -323,6 +323,83 @@ 4B43A8CB1014605000E52943 /* JackLoopbackDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */; }; 4B43A8DF1014615800E52943 /* JackLoopbackDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */; }; 4B43A8E11014615800E52943 /* JackLoopbackDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B43A8C81014605000E52943 /* JackLoopbackDriver.cpp */; }; + 4B47AC8210B5890100469C67 /* JackMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B799AD707899652003F3F15 /* JackMachPort.h */; }; + 4B47AC8310B5890100469C67 /* JackError.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1770834EE4800C94B91 /* JackError.h */; }; + 4B47AC8410B5890100469C67 /* JackTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1830834EE5800C94B91 /* JackTime.h */; }; + 4B47AC8510B5890100469C67 /* JackShmMem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1870834EE7900C94B91 /* JackShmMem.h */; }; + 4B47AC8610B5890100469C67 /* shm.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D18F0834EE8400C94B91 /* shm.h */; }; + 4B47AC8710B5890100469C67 /* JackThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D19F0834EE9E00C94B91 /* JackThread.h */; }; + 4B47AC8810B5890100469C67 /* JackActivationCount.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1A70834EEB400C94B91 /* JackActivationCount.h */; }; + 4B47AC8910B5890100469C67 /* JackChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1AF0834EEC400C94B91 /* JackChannel.h */; }; + 4B47AC8A10B5890100469C67 /* JackGraphManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1C70834EF2200C94B91 /* JackGraphManager.h */; }; + 4B47AC8B10B5890100469C67 /* JackPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1CF0834EF2F00C94B91 /* JackPort.h */; }; + 4B47AC8C10B5890100469C67 /* JackClientInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1D90834EF4500C94B91 /* JackClientInterface.h */; }; + 4B47AC8D10B5890100469C67 /* JackClientControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1DD0834EF4D00C94B91 /* JackClientControl.h */; }; + 4B47AC8E10B5890100469C67 /* JackClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1E10834EF5500C94B91 /* JackClient.h */; }; + 4B47AC8F10B5890100469C67 /* JackInternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1EE0834EF9200C94B91 /* JackInternalClient.h */; }; + 4B47AC9010B5890100469C67 /* JackLibGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1FB0834EFD100C94B91 /* JackLibGlobals.h */; }; + 4B47AC9110B5890100469C67 /* JackLibClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1FC0834EFD100C94B91 /* JackLibClient.h */; }; + 4B47AC9210B5890100469C67 /* JackConnectionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1C30834EF1400C94B91 /* JackConnectionManager.h */; }; + 4B47AC9310B5890100469C67 /* JackFrameTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8FB0E08AC88EF00D1A344 /* JackFrameTimer.h */; }; + 4B47AC9410B5890100469C67 /* JackMachSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF6C1D608ACE64C001E2013 /* JackMachSemaphore.h */; }; + 4B47AC9510B5890100469C67 /* JackGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB73F608AD291A00DB99B8 /* JackGlobals.h */; }; + 4B47AC9610B5890100469C67 /* JackMachThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB741F08AD2B9900DB99B8 /* JackMachThread.h */; }; + 4B47AC9710B5890100469C67 /* JackMachClientChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BFB298708AF450200D450D4 /* JackMachClientChannel.h */; }; + 4B47AC9810B5890100469C67 /* JackSynchro.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD561C708EEB910006BBC2A /* JackSynchro.h */; }; + 4B47AC9910B5890100469C67 /* JackDebugClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B98AE010931D30C0091932A /* JackDebugClient.h */; }; + 4B47AC9A10B5890100469C67 /* JackConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B66A8580934964500A89560 /* JackConstants.h */; }; + 4B47AC9B10B5890100469C67 /* JackTransportEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */; }; + 4B47AC9C10B5890100469C67 /* timestamps.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF520580CB8D1010037470E /* timestamps.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47AC9D10B5890100469C67 /* intclient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C73790CC60A6D001AFFD4 /* intclient.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47AC9E10B5890100469C67 /* jack.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737A0CC60A6D001AFFD4 /* jack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47AC9F10B5890100469C67 /* ringbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737B0CC60A6D001AFFD4 /* ringbuffer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA010B5890100469C67 /* statistics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737C0CC60A6D001AFFD4 /* statistics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA110B5890100469C67 /* thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737D0CC60A6D001AFFD4 /* thread.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA210B5890100469C67 /* transport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737E0CC60A6D001AFFD4 /* transport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA310B5890100469C67 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737F0CC60A6D001AFFD4 /* types.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA410B5890100469C67 /* JackPortType.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAB95B70B9E20B800A0C723 /* JackPortType.h */; }; + 4B47ACA510B5890100469C67 /* JackMidiPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B80D7E50BA0D17400F035BB /* JackMidiPort.h */; }; + 4B47ACA610B5890100469C67 /* midiport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6B9EF50CD0958B0051EE5A /* midiport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA710B5890100469C67 /* JackTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE4CC000CDA153400CCF5BB /* JackTools.h */; }; + 4B47ACA810B5890100469C67 /* jslist.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9A26000DBF8584006E9FBC /* jslist.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B47ACA910B5890100469C67 /* JackMessageBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4F9C8B0DC20C0400706CB0 /* JackMessageBuffer.h */; }; + 4B47ACAA10B5890100469C67 /* JackPosixThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC3B6A30E703B2E0066E42F /* JackPosixThread.h */; }; + 4B47ACAB10B5890100469C67 /* JackProcessSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BECB2F40F4451C10091B70A /* JackProcessSync.h */; }; + 4B47ACAE10B5890100469C67 /* JackMacLibClientRPC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF3937C0626BF3600CC67FA /* JackMacLibClientRPC.cpp */; }; + 4B47ACAF10B5890100469C67 /* JackRPCEngineUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B769076B74D200D170DE /* JackRPCEngineUser.c */; }; + 4B47ACB010B5890100469C67 /* JackMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B799AD607899652003F3F15 /* JackMachPort.cpp */; }; + 4B47ACB110B5890100469C67 /* JackShmMem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1880834EE7900C94B91 /* JackShmMem.cpp */; }; + 4B47ACB210B5890100469C67 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1900834EE8400C94B91 /* shm.c */; }; + 4B47ACB310B5890100469C67 /* JackActivationCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1A80834EEB400C94B91 /* JackActivationCount.cpp */; }; + 4B47ACB410B5890100469C67 /* JackGraphManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1C80834EF2200C94B91 /* JackGraphManager.cpp */; }; + 4B47ACB510B5890100469C67 /* JackPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1D00834EF2F00C94B91 /* JackPort.cpp */; }; + 4B47ACB610B5890100469C67 /* JackClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1E50834EF6700C94B91 /* JackClient.cpp */; }; + 4B47ACB710B5890100469C67 /* JackAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1E90834EF7500C94B91 /* JackAPI.cpp */; }; + 4B47ACB810B5890100469C67 /* JackLibClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1FD0834EFD100C94B91 /* JackLibClient.cpp */; }; + 4B47ACB910B5890100469C67 /* JackLibAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1FE0834EFD100C94B91 /* JackLibAPI.cpp */; }; + 4B47ACBA10B5890100469C67 /* JackConnectionManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1C40834EF1400C94B91 /* JackConnectionManager.cpp */; }; + 4B47ACBB10B5890100469C67 /* JackFrameTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */; }; + 4B47ACBC10B5890100469C67 /* JackMachSemaphore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6C1D508ACE64C001E2013 /* JackMachSemaphore.cpp */; }; + 4B47ACBD10B5890100469C67 /* JackMachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB741E08AD2B9900DB99B8 /* JackMachThread.cpp */; }; + 4B47ACBE10B5890100469C67 /* JackMachClientChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BFB29AE08AF45FD00D450D4 /* JackMachClientChannel.cpp */; }; + 4B47ACBF10B5890100469C67 /* JackGlobals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */; }; + 4B47ACC010B5890100469C67 /* ringbuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B003AB008E2B2BA0060EFDC /* ringbuffer.c */; }; + 4B47ACC110B5890100469C67 /* JackDebugClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B98AE000931D30C0091932A /* JackDebugClient.cpp */; }; + 4B47ACC210B5890100469C67 /* JackTransportEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */; }; + 4B47ACC310B5890100469C67 /* timestamps.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF520520CB8D0E80037470E /* timestamps.c */; }; + 4B47ACC410B5890100469C67 /* JackPortType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BAB95B60B9E20B800A0C723 /* JackPortType.cpp */; }; + 4B47ACC510B5890100469C67 /* JackAudioPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BAB95EC0B9E21A500A0C723 /* JackAudioPort.cpp */; }; + 4B47ACC610B5890100469C67 /* JackMidiPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B80D7E60BA0D17400F035BB /* JackMidiPort.cpp */; }; + 4B47ACC710B5890100469C67 /* JackMidiAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B80D7E70BA0D17400F035BB /* JackMidiAPI.cpp */; }; + 4B47ACC810B5890100469C67 /* JackEngineControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */; }; + 4B47ACC910B5890100469C67 /* JackTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BE4CBFF0CDA153400CCF5BB /* JackTools.cpp */; }; + 4B47ACCA10B5890100469C67 /* JackError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B9A25B30DBF8330006E9FBC /* JackError.cpp */; }; + 4B47ACCB10B5890100469C67 /* JackMessageBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4F9C8A0DC20C0400706CB0 /* JackMessageBuffer.cpp */; }; + 4B47ACCC10B5890100469C67 /* JackPosixServerLaunch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF5FBBA0E878B9C003D2374 /* JackPosixServerLaunch.cpp */; }; + 4B47ACCD10B5890100469C67 /* JackPosixThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BC3B6A20E703B2E0066E42F /* JackPosixThread.cpp */; }; + 4B47ACCE10B5890100469C67 /* JackMachTime.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BF5FBC80E878D24003D2374 /* JackMachTime.c */; }; + 4B47ACCF10B5890100469C67 /* JackProcessSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BECB2F30F4451C10091B70A /* JackProcessSync.cpp */; }; + 4B47ACD210B5890100469C67 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BCC87950D57168300A7FEB1 /* Accelerate.framework */; }; 4B4CA9750E02CF9600F4BFDA /* JackRestartThreadedDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4CA9730E02CF9600F4BFDA /* JackRestartThreadedDriver.h */; }; 4B4CA9760E02CF9600F4BFDA /* JackRestartThreadedDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B4CA9740E02CF9600F4BFDA /* JackRestartThreadedDriver.cpp */; }; 4B4CA9770E02CF9600F4BFDA /* JackRestartThreadedDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4CA9730E02CF9600F4BFDA /* JackRestartThreadedDriver.h */; }; @@ -1424,6 +1501,8 @@ 4B43A8C91014605000E52943 /* JackLoopbackDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackLoopbackDriver.h; path = ../common/JackLoopbackDriver.h; sourceTree = SOURCE_ROOT; }; 4B43A8E71014615800E52943 /* jack_loopback.so */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = jack_loopback.so; sourceTree = BUILT_PRODUCTS_DIR; }; 4B464301076CAC7700E5077C /* Jack-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "Jack-Info.plist"; sourceTree = SOURCE_ROOT; }; + 4B47ACD710B5890100469C67 /* Jackmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackmp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4B47ACD810B5890100469C67 /* Jack-Info copy 2.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Jack-Info copy 2.plist"; sourceTree = ""; }; 4B4CA9730E02CF9600F4BFDA /* JackRestartThreadedDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JackRestartThreadedDriver.h; path = ../common/JackRestartThreadedDriver.h; sourceTree = SOURCE_ROOT; }; 4B4CA9740E02CF9600F4BFDA /* JackRestartThreadedDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackRestartThreadedDriver.cpp; path = ../common/JackRestartThreadedDriver.cpp; sourceTree = SOURCE_ROOT; }; 4B4E9AF80E5F1090000A3278 /* JackControlAPI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackControlAPI.cpp; path = ../common/JackControlAPI.cpp; sourceTree = SOURCE_ROOT; }; @@ -1958,6 +2037,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 4B47ACD110B5890100469C67 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4B47ACD210B5890100469C67 /* Accelerate.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4B5A1BB50CD1CB9E0005BF74 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2289,6 +2376,7 @@ 1AB674ADFE9D54B511CA2CBB /* Products */, 4B464301076CAC7700E5077C /* Jack-Info.plist */, 4BA339AD10B2E36800190E3B /* Jack-Info.plist */, + 4B47ACD810B5890100469C67 /* Jack-Info copy 2.plist */, ); name = JackServer; sourceTree = ""; @@ -2406,6 +2494,7 @@ 4B32256110A3187800838A8E /* jack_netsource */, 4B32257B10A3190C00838A8E /* jack_netsource */, 4BA339AC10B2E36800190E3B /* Jackservermp.framework */, + 4B47ACD710B5890100469C67 /* Jackmp.framework */, ); name = Products; sourceTree = ""; @@ -3354,6 +3443,55 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 4B47AC8110B5890100469C67 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 4B47AC8210B5890100469C67 /* JackMachPort.h in Headers */, + 4B47AC8310B5890100469C67 /* JackError.h in Headers */, + 4B47AC8410B5890100469C67 /* JackTime.h in Headers */, + 4B47AC8510B5890100469C67 /* JackShmMem.h in Headers */, + 4B47AC8610B5890100469C67 /* shm.h in Headers */, + 4B47AC8710B5890100469C67 /* JackThread.h in Headers */, + 4B47AC8810B5890100469C67 /* JackActivationCount.h in Headers */, + 4B47AC8910B5890100469C67 /* JackChannel.h in Headers */, + 4B47AC8A10B5890100469C67 /* JackGraphManager.h in Headers */, + 4B47AC8B10B5890100469C67 /* JackPort.h in Headers */, + 4B47AC8C10B5890100469C67 /* JackClientInterface.h in Headers */, + 4B47AC8D10B5890100469C67 /* JackClientControl.h in Headers */, + 4B47AC8E10B5890100469C67 /* JackClient.h in Headers */, + 4B47AC8F10B5890100469C67 /* JackInternalClient.h in Headers */, + 4B47AC9010B5890100469C67 /* JackLibGlobals.h in Headers */, + 4B47AC9110B5890100469C67 /* JackLibClient.h in Headers */, + 4B47AC9210B5890100469C67 /* JackConnectionManager.h in Headers */, + 4B47AC9310B5890100469C67 /* JackFrameTimer.h in Headers */, + 4B47AC9410B5890100469C67 /* JackMachSemaphore.h in Headers */, + 4B47AC9510B5890100469C67 /* JackGlobals.h in Headers */, + 4B47AC9610B5890100469C67 /* JackMachThread.h in Headers */, + 4B47AC9710B5890100469C67 /* JackMachClientChannel.h in Headers */, + 4B47AC9810B5890100469C67 /* JackSynchro.h in Headers */, + 4B47AC9910B5890100469C67 /* JackDebugClient.h in Headers */, + 4B47AC9A10B5890100469C67 /* JackConstants.h in Headers */, + 4B47AC9B10B5890100469C67 /* JackTransportEngine.h in Headers */, + 4B47AC9C10B5890100469C67 /* timestamps.h in Headers */, + 4B47AC9D10B5890100469C67 /* intclient.h in Headers */, + 4B47AC9E10B5890100469C67 /* jack.h in Headers */, + 4B47AC9F10B5890100469C67 /* ringbuffer.h in Headers */, + 4B47ACA010B5890100469C67 /* statistics.h in Headers */, + 4B47ACA110B5890100469C67 /* thread.h in Headers */, + 4B47ACA210B5890100469C67 /* transport.h in Headers */, + 4B47ACA310B5890100469C67 /* types.h in Headers */, + 4B47ACA410B5890100469C67 /* JackPortType.h in Headers */, + 4B47ACA510B5890100469C67 /* JackMidiPort.h in Headers */, + 4B47ACA610B5890100469C67 /* midiport.h in Headers */, + 4B47ACA710B5890100469C67 /* JackTools.h in Headers */, + 4B47ACA810B5890100469C67 /* jslist.h in Headers */, + 4B47ACA910B5890100469C67 /* JackMessageBuffer.h in Headers */, + 4B47ACAA10B5890100469C67 /* JackPosixThread.h in Headers */, + 4B47ACAB10B5890100469C67 /* JackProcessSync.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4B5A1BB20CD1CB9E0005BF74 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -4650,6 +4788,25 @@ productReference = 4B43A8E71014615800E52943 /* jack_loopback.so */; productType = "com.apple.product-type.library.dynamic"; }; + 4B47AC8010B5890100469C67 /* Jackmp.framework 64 bits debugging */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4B47ACD310B5890100469C67 /* Build configuration list for PBXNativeTarget "Jackmp.framework 64 bits debugging" */; + buildPhases = ( + 4B47AC8110B5890100469C67 /* Headers */, + 4B47ACAC10B5890100469C67 /* Resources */, + 4B47ACAD10B5890100469C67 /* Sources */, + 4B47ACD010B5890100469C67 /* Rez */, + 4B47ACD110B5890100469C67 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Jackmp.framework 64 bits debugging"; + productName = Jack; + productReference = 4B47ACD710B5890100469C67 /* Jackmp.framework */; + productType = "com.apple.product-type.framework"; + }; 4B5A1BB10CD1CB9E0005BF74 /* jack_midiseq Universal */ = { isa = PBXNativeTarget; buildConfigurationList = 4B5A1BB70CD1CB9E0005BF74 /* Build configuration list for PBXNativeTarget "jack_midiseq Universal" */; @@ -5522,6 +5679,7 @@ 4B5E08BF0E5B66EE00BEE4E0 /* netadapter Universal */, 4B35C41B0D4731D1000DE7AE /* jackdmp framework 64bits */, 4B35C4270D4731D1000DE7AE /* Jackmp.framework 64 bits */, + 4B47AC8010B5890100469C67 /* Jackmp.framework 64 bits debugging */, 4B35C4850D4731D1000DE7AE /* Jackservermp.framework 64 bits */, 4BA3393310B2E36800190E3B /* Jackservermp.framework 64 bits profiling */, 4B35C50A0D4731D1000DE7AE /* jack_midiseq 64 bits */, @@ -5581,6 +5739,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 4B47ACAC10B5890100469C67 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4B699C23097D421600A18468 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -5836,6 +6001,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 4B47ACD010B5890100469C67 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4B5A1BB60CD1CB9E0005BF74 /* Rez */ = { isa = PBXRezBuildPhase; buildActionMask = 2147483647; @@ -6490,6 +6662,47 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 4B47ACAD10B5890100469C67 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4B47ACAE10B5890100469C67 /* JackMacLibClientRPC.cpp in Sources */, + 4B47ACAF10B5890100469C67 /* JackRPCEngineUser.c in Sources */, + 4B47ACB010B5890100469C67 /* JackMachPort.cpp in Sources */, + 4B47ACB110B5890100469C67 /* JackShmMem.cpp in Sources */, + 4B47ACB210B5890100469C67 /* shm.c in Sources */, + 4B47ACB310B5890100469C67 /* JackActivationCount.cpp in Sources */, + 4B47ACB410B5890100469C67 /* JackGraphManager.cpp in Sources */, + 4B47ACB510B5890100469C67 /* JackPort.cpp in Sources */, + 4B47ACB610B5890100469C67 /* JackClient.cpp in Sources */, + 4B47ACB710B5890100469C67 /* JackAPI.cpp in Sources */, + 4B47ACB810B5890100469C67 /* JackLibClient.cpp in Sources */, + 4B47ACB910B5890100469C67 /* JackLibAPI.cpp in Sources */, + 4B47ACBA10B5890100469C67 /* JackConnectionManager.cpp in Sources */, + 4B47ACBB10B5890100469C67 /* JackFrameTimer.cpp in Sources */, + 4B47ACBC10B5890100469C67 /* JackMachSemaphore.cpp in Sources */, + 4B47ACBD10B5890100469C67 /* JackMachThread.cpp in Sources */, + 4B47ACBE10B5890100469C67 /* JackMachClientChannel.cpp in Sources */, + 4B47ACBF10B5890100469C67 /* JackGlobals.cpp in Sources */, + 4B47ACC010B5890100469C67 /* ringbuffer.c in Sources */, + 4B47ACC110B5890100469C67 /* JackDebugClient.cpp in Sources */, + 4B47ACC210B5890100469C67 /* JackTransportEngine.cpp in Sources */, + 4B47ACC310B5890100469C67 /* timestamps.c in Sources */, + 4B47ACC410B5890100469C67 /* JackPortType.cpp in Sources */, + 4B47ACC510B5890100469C67 /* JackAudioPort.cpp in Sources */, + 4B47ACC610B5890100469C67 /* JackMidiPort.cpp in Sources */, + 4B47ACC710B5890100469C67 /* JackMidiAPI.cpp in Sources */, + 4B47ACC810B5890100469C67 /* JackEngineControl.cpp in Sources */, + 4B47ACC910B5890100469C67 /* JackTools.cpp in Sources */, + 4B47ACCA10B5890100469C67 /* JackError.cpp in Sources */, + 4B47ACCB10B5890100469C67 /* JackMessageBuffer.cpp in Sources */, + 4B47ACCC10B5890100469C67 /* JackPosixServerLaunch.cpp in Sources */, + 4B47ACCD10B5890100469C67 /* JackPosixThread.cpp in Sources */, + 4B47ACCE10B5890100469C67 /* JackMachTime.c in Sources */, + 4B47ACCF10B5890100469C67 /* JackProcessSync.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 4B5A1BB30CD1CB9E0005BF74 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -12152,6 +12365,199 @@ }; name = Default; }; + 4B47ACD410B5890100469C67 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + COPY_PHASE_STRIP = NO; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/build/Development\""; + FRAMEWORK_VERSION = A; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GENERATE_PKGINFO_FILE = NO; + HEADER_SEARCH_PATHS = ( + ../common, + ../posix, + RPC, + ../common/jack, + ); + INFOPLIST_FILE = "Jack-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LIBRARY_SEARCH_PATHS = /usr/lib/gcc/darwin/3.3; + OTHER_CFLAGS = ( + "-DUSE_POSIX_SHM", + "-DJACK_32_64", + "-D__SMP__", + ); + OTHER_CPLUSPLUSFLAGS = ( + "-D__CLIENTDEBUG__", + "-DMACH_RPC_MACH_SEMA", + "-D__SMP__", + "-DJACK_32_64", + "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", + "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2)", + ); + OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; + OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\""; + OTHER_LDFLAGS = ( + "-framework", + Carbon, + "-framework", + CoreAudio, + ); + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Jackmp; + REZ_EXECUTABLE = NO; + SDKROOT = ""; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + ZERO_LINK = YES; + }; + name = Development; + }; + 4B47ACD510B5890100469C67 /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/build/Development\""; + FRAMEWORK_VERSION = A; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GENERATE_PKGINFO_FILE = NO; + HEADER_SEARCH_PATHS = ( + ../common, + ../posix, + RPC, + ../common/jack, + ); + INFOPLIST_FILE = "Jack-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LIBRARY_SEARCH_PATHS = /usr/lib/gcc/darwin/3.3; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ( + "-DUSE_POSIX_SHM", + "-DJACK_32_64", + "-D__SMP__", + ); + OTHER_CPLUSPLUSFLAGS = ( + "-D__CLIENTDEBUG__", + "-DMACH_RPC_MACH_SEMA", + "-DJACK_32_64", + "-D__SMP__", + "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", + "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2)", + ); + OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\""; + OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; + OTHER_LDFLAGS = ( + "-framework", + Carbon, + "-framework", + CoreAudio, + ); + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Jackmp; + REZ_EXECUTABLE = NO; + SDKROOT = ""; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + ZERO_LINK = NO; + }; + name = Deployment; + }; + 4B47ACD610B5890100469C67 /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc64, + ppc, + i386, + x86_64, + ); + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/build/Development\""; + FRAMEWORK_VERSION = A; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GENERATE_PKGINFO_FILE = NO; + HEADER_SEARCH_PATHS = ( + RPC, + ../common/jack, + ); + INFOPLIST_FILE = "Jack-Info copy 2.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LIBRARY_SEARCH_PATHS = /usr/lib/gcc/darwin/3.3; + OTHER_CFLAGS = ( + "-DUSE_POSIX_SHM", + "-DJACK_32_64", + "-D__SMP__", + ); + OTHER_CPLUSPLUSFLAGS = ( + "-DMACH_RPC_MACH_SEMA", + "-DJACK_32_64", + "-D__SMP__", + "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", + "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2)", + ); + OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; + OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\""; + OTHER_LDFLAGS = ( + "-framework", + Carbon, + "-framework", + AudioToolBox, + "-framework", + CoreAudio, + ); + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Jackmp; + REZ_EXECUTABLE = NO; + SDKROOT = ""; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost"; + }; + name = Default; + }; 4B5A1BB80CD1CB9E0005BF74 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -17952,6 +18358,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Default; }; + 4B47ACD310B5890100469C67 /* Build configuration list for PBXNativeTarget "Jackmp.framework 64 bits debugging" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4B47ACD410B5890100469C67 /* Development */, + 4B47ACD510B5890100469C67 /* Deployment */, + 4B47ACD610B5890100469C67 /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; 4B5A1BB70CD1CB9E0005BF74 /* Build configuration list for PBXNativeTarget "jack_midiseq Universal" */ = { isa = XCConfigurationList; buildConfigurations = (