git-svn-id: http://subversion.jackaudio.org/jack/jack2/branches/libjacknet@4005 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.8
| @@ -29,11 +29,23 @@ Arnold Krille | |||||
| --------------------------- | --------------------------- | ||||
| Jackdmp changes log | Jackdmp changes log | ||||
| --------------------------- | --------------------------- | ||||
| 2010-04-016 Stephane Letz <letz@grame.fr> | |||||
| * Make jack_connect/jack_disconnect wait for effective port connection/disconnection. | |||||
| 2010-04-07 Stephane Letz <letz@grame.fr> | |||||
| * Remove call to exit in library code. | |||||
| 2010-03-26 Stephane Letz <letz@grame.fr> | |||||
| * ffado-portname-sync.patch from ticket #163 applied. | |||||
| 2010-03-24 Stephane Letz <letz@grame.fr> | 2010-03-24 Stephane Letz <letz@grame.fr> | ||||
| * On Windows, now use TRE library for regexp (BSD license instead of GPL license). | * On Windows, now use TRE library for regexp (BSD license instead of GPL license). | ||||
| 2010-03-19 Stephane Letz <letz@grame.fr> | 2010-03-19 Stephane Letz <letz@grame.fr> | ||||
| * Fix some file header to have library side code use LGPL. | * Fix some file header to have library side code use LGPL. | ||||
| @@ -56,9 +56,9 @@ extern "C" | |||||
| const char * | const char * | ||||
| jack_get_version_string(); | jack_get_version_string(); | ||||
| EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | |||||
| jack_client_t * jack_client_new_aux (const char *client_name, | |||||
| jack_options_t options, | jack_options_t options, | ||||
| jack_status_t *status, va_list ap); | |||||
| jack_status_t *status); | |||||
| EXPORT jack_client_t * jack_client_open (const char *client_name, | EXPORT jack_client_t * jack_client_open (const char *client_name, | ||||
| jack_options_t options, | jack_options_t options, | ||||
| jack_status_t *status, ...); | jack_status_t *status, ...); | ||||
| @@ -300,7 +300,7 @@ EXPORT jack_client_t* jack_client_new(const char* client_name) | |||||
| int options = JackUseExactName; | int options = JackUseExactName; | ||||
| if (getenv("JACK_START_SERVER") == NULL) | if (getenv("JACK_START_SERVER") == NULL) | ||||
| options |= JackNoStartServer; | options |= JackNoStartServer; | ||||
| jack_client_t* res = jack_client_open_aux(client_name, (jack_options_t)options, NULL, NULL); | |||||
| jack_client_t* res = jack_client_new_aux(client_name, (jack_options_t)options, NULL); | |||||
| JackGlobals::fOpenMutex->Unlock(); | JackGlobals::fOpenMutex->Unlock(); | ||||
| return res; | return res; | ||||
| } catch (std::bad_alloc& e) { | } catch (std::bad_alloc& e) { | ||||
| @@ -317,11 +317,7 @@ EXPORT void* jack_port_get_buffer(jack_port_t* port, jack_nframes_t frames) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_get_buffer"); | JackGlobals::CheckContext("jack_port_get_buffer"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_get_buffer called with an incorrect port %ld", myport); | jack_error("jack_port_get_buffer called with an incorrect port %ld", myport); | ||||
| @@ -337,11 +333,7 @@ EXPORT const char* jack_port_name(const jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_name"); | JackGlobals::CheckContext("jack_port_name"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_name called with an incorrect port %ld", myport); | jack_error("jack_port_name called with an incorrect port %ld", myport); | ||||
| @@ -357,11 +349,7 @@ EXPORT const char* jack_port_short_name(const jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_short_name"); | JackGlobals::CheckContext("jack_port_short_name"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_short_name called with an incorrect port %ld", myport); | jack_error("jack_port_short_name called with an incorrect port %ld", myport); | ||||
| @@ -377,11 +365,7 @@ EXPORT int jack_port_flags(const jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_flags"); | JackGlobals::CheckContext("jack_port_flags"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_flags called with an incorrect port %ld", myport); | jack_error("jack_port_flags called with an incorrect port %ld", myport); | ||||
| @@ -397,11 +381,7 @@ EXPORT const char* jack_port_type(const jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_type"); | JackGlobals::CheckContext("jack_port_type"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_flags called an incorrect port %ld", myport); | jack_error("jack_port_flags called an incorrect port %ld", myport); | ||||
| @@ -417,11 +397,7 @@ EXPORT jack_port_type_id_t jack_port_type_id(const jack_port_t *port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_type_id"); | JackGlobals::CheckContext("jack_port_type_id"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_type_id called an incorrect port %ld", myport); | jack_error("jack_port_type_id called an incorrect port %ld", myport); | ||||
| @@ -437,11 +413,7 @@ EXPORT int jack_port_connected(const jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_connected"); | JackGlobals::CheckContext("jack_port_connected"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_connected called with an incorrect port %ld", myport); | jack_error("jack_port_connected called with an incorrect port %ld", myport); | ||||
| @@ -458,11 +430,7 @@ EXPORT int jack_port_connected_to(const jack_port_t* port, const char* port_name | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_connected_to"); | JackGlobals::CheckContext("jack_port_connected_to"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t src = (jack_port_id_t)port_aux; | jack_port_id_t src = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(src)) { | if (!CheckPort(src)) { | ||||
| jack_error("jack_port_connected_to called with an incorrect port %ld", src); | jack_error("jack_port_connected_to called with an incorrect port %ld", src); | ||||
| @@ -488,21 +456,13 @@ EXPORT int jack_port_tie(jack_port_t* src, jack_port_t* dst) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_tie"); | JackGlobals::CheckContext("jack_port_tie"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t src_aux = (uint64_t)src; | |||||
| #else | |||||
| uint32_t src_aux = (uint32_t)src; | |||||
| #endif | |||||
| uintptr_t src_aux = (uintptr_t)src; | |||||
| jack_port_id_t mysrc = (jack_port_id_t)src_aux; | jack_port_id_t mysrc = (jack_port_id_t)src_aux; | ||||
| if (!CheckPort(mysrc)) { | if (!CheckPort(mysrc)) { | ||||
| jack_error("jack_port_tie called with a NULL src port"); | jack_error("jack_port_tie called with a NULL src port"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t dst_aux = (uint64_t)dst; | |||||
| #else | |||||
| uint32_t dst_aux = (uint32_t)dst; | |||||
| #endif | |||||
| uintptr_t dst_aux = (uintptr_t)dst; | |||||
| jack_port_id_t mydst = (jack_port_id_t)dst_aux; | jack_port_id_t mydst = (jack_port_id_t)dst_aux; | ||||
| if (!CheckPort(mydst)) { | if (!CheckPort(mydst)) { | ||||
| jack_error("jack_port_tie called with a NULL dst port"); | jack_error("jack_port_tie called with a NULL dst port"); | ||||
| @@ -522,11 +482,7 @@ EXPORT int jack_port_untie(jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_untie"); | JackGlobals::CheckContext("jack_port_untie"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_untie called with an incorrect port %ld", myport); | jack_error("jack_port_untie called with an incorrect port %ld", myport); | ||||
| @@ -542,11 +498,7 @@ EXPORT jack_nframes_t jack_port_get_latency(jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_get_latency"); | JackGlobals::CheckContext("jack_port_get_latency"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_get_latency called with an incorrect port %ld", myport); | jack_error("jack_port_get_latency called with an incorrect port %ld", myport); | ||||
| @@ -563,11 +515,7 @@ EXPORT void jack_port_set_latency(jack_port_t* port, jack_nframes_t frames) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_set_latency"); | JackGlobals::CheckContext("jack_port_set_latency"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_set_latency called with an incorrect port %ld", myport); | jack_error("jack_port_set_latency called with an incorrect port %ld", myport); | ||||
| @@ -585,11 +533,7 @@ EXPORT int jack_recompute_total_latency(jack_client_t* ext_client, jack_port_t* | |||||
| #endif | #endif | ||||
| JackClient* client = (JackClient*)ext_client; | JackClient* client = (JackClient*)ext_client; | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (client == NULL) { | if (client == NULL) { | ||||
| jack_error("jack_recompute_total_latencies called with a NULL client"); | jack_error("jack_recompute_total_latencies called with a NULL client"); | ||||
| @@ -630,11 +574,7 @@ EXPORT int jack_port_set_name(jack_port_t* port, const char* name) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_set_name"); | JackGlobals::CheckContext("jack_port_set_name"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_set_name called with an incorrect port %ld", myport); | jack_error("jack_port_set_name called with an incorrect port %ld", myport); | ||||
| @@ -660,11 +600,7 @@ EXPORT int jack_port_set_alias(jack_port_t* port, const char* name) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_set_alias"); | JackGlobals::CheckContext("jack_port_set_alias"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_set_alias called with an incorrect port %ld", myport); | jack_error("jack_port_set_alias called with an incorrect port %ld", myport); | ||||
| @@ -683,11 +619,7 @@ EXPORT int jack_port_unset_alias(jack_port_t* port, const char* name) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_unset_alias"); | JackGlobals::CheckContext("jack_port_unset_alias"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_unset_alias called with an incorrect port %ld", myport); | jack_error("jack_port_unset_alias called with an incorrect port %ld", myport); | ||||
| @@ -706,11 +638,7 @@ EXPORT int jack_port_get_aliases(const jack_port_t* port, char* const aliases[2] | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_get_aliases"); | JackGlobals::CheckContext("jack_port_get_aliases"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_get_aliases called with an incorrect port %ld", myport); | jack_error("jack_port_get_aliases called with an incorrect port %ld", myport); | ||||
| @@ -726,11 +654,7 @@ EXPORT int jack_port_request_monitor(jack_port_t* port, int onoff) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_request_monitor"); | JackGlobals::CheckContext("jack_port_request_monitor"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_request_monitor called with an incorrect port %ld", myport); | jack_error("jack_port_request_monitor called with an incorrect port %ld", myport); | ||||
| @@ -769,11 +693,7 @@ EXPORT int jack_port_ensure_monitor(jack_port_t* port, int onoff) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_ensure_monitor"); | JackGlobals::CheckContext("jack_port_ensure_monitor"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_ensure_monitor called with an incorrect port %ld", myport); | jack_error("jack_port_ensure_monitor called with an incorrect port %ld", myport); | ||||
| @@ -789,11 +709,7 @@ EXPORT int jack_port_monitoring_input(jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_monitoring_input"); | JackGlobals::CheckContext("jack_port_monitoring_input"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_monitoring_input called with an incorrect port %ld", myport); | jack_error("jack_port_monitoring_input called with an incorrect port %ld", myport); | ||||
| @@ -1128,11 +1044,7 @@ EXPORT jack_port_t* jack_port_register(jack_client_t* ext_client, const char* po | |||||
| jack_error("jack_port_register called with a NULL port name or a NULL port_type"); | jack_error("jack_port_register called with a NULL port name or a NULL port_type"); | ||||
| return NULL; | return NULL; | ||||
| } else { | } else { | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| return (jack_port_t *)((uint64_t)client->PortRegister(port_name, port_type, flags, buffer_size)); | |||||
| #else | |||||
| return (jack_port_t *)client->PortRegister(port_name, port_type, flags, buffer_size); | |||||
| #endif | |||||
| return (jack_port_t *)((uintptr_t)client->PortRegister(port_name, port_type, flags, buffer_size)); | |||||
| } | } | ||||
| } | } | ||||
| @@ -1146,11 +1058,7 @@ EXPORT int jack_port_unregister(jack_client_t* ext_client, jack_port_t* port) | |||||
| jack_error("jack_port_unregister called with a NULL client"); | jack_error("jack_port_unregister called with a NULL client"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_unregister called with an incorrect port %ld", myport); | jack_error("jack_port_unregister called with an incorrect port %ld", myport); | ||||
| @@ -1169,11 +1077,7 @@ EXPORT int jack_port_is_mine(const jack_client_t* ext_client, const jack_port_t* | |||||
| jack_error("jack_port_is_mine called with a NULL client"); | jack_error("jack_port_is_mine called with a NULL client"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_is_mine called with an incorrect port %ld", myport); | jack_error("jack_port_is_mine called with an incorrect port %ld", myport); | ||||
| @@ -1187,11 +1091,7 @@ EXPORT const char** jack_port_get_connections(const jack_port_t* port) | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_port_get_connections"); | JackGlobals::CheckContext("jack_port_get_connections"); | ||||
| #endif | #endif | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_get_connections called with an incorrect port %ld", myport); | jack_error("jack_port_get_connections called with an incorrect port %ld", myport); | ||||
| @@ -1215,11 +1115,7 @@ EXPORT const char** jack_port_get_all_connections(const jack_client_t* ext_clien | |||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_get_all_connections called with an incorrect port %ld", myport); | jack_error("jack_port_get_all_connections called with an incorrect port %ld", myport); | ||||
| @@ -1242,11 +1138,7 @@ EXPORT jack_nframes_t jack_port_get_total_latency(jack_client_t* ext_client, jac | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)port; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)port; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)port; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_get_total_latency called with an incorrect port %ld", myport); | jack_error("jack_port_get_total_latency called with an incorrect port %ld", myport); | ||||
| @@ -1307,11 +1199,7 @@ EXPORT int jack_port_disconnect(jack_client_t* ext_client, jack_port_t* src) | |||||
| jack_error("jack_port_disconnect called with a NULL client"); | jack_error("jack_port_disconnect called with a NULL client"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| uint64_t port_aux = (uint64_t)src; | |||||
| #else | |||||
| uint32_t port_aux = (uint32_t)src; | |||||
| #endif | |||||
| uintptr_t port_aux = (uintptr_t)src; | |||||
| jack_port_id_t myport = (jack_port_id_t)port_aux; | jack_port_id_t myport = (jack_port_id_t)port_aux; | ||||
| if (!CheckPort(myport)) { | if (!CheckPort(myport)) { | ||||
| jack_error("jack_port_disconnect called with an incorrect port %ld", myport); | jack_error("jack_port_disconnect called with an incorrect port %ld", myport); | ||||
| @@ -1383,11 +1271,7 @@ EXPORT jack_port_t* jack_port_by_name(jack_client_t* ext_client, const char* por | |||||
| if (!manager) | if (!manager) | ||||
| return NULL; | return NULL; | ||||
| int res = manager->GetPort(portname); // returns a port index at least > 1 | int res = manager->GetPort(portname); // returns a port index at least > 1 | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| return (res == NO_PORT) ? NULL : (jack_port_t*)((uint64_t)res); | |||||
| #else | |||||
| return (res == NO_PORT) ? NULL : (jack_port_t*)res; | |||||
| #endif | |||||
| return (res == NO_PORT) ? NULL : (jack_port_t*)((uintptr_t)res); | |||||
| } | } | ||||
| } | } | ||||
| @@ -1397,11 +1281,7 @@ EXPORT jack_port_t* jack_port_by_id(jack_client_t* ext_client, jack_port_id_t id | |||||
| JackGlobals::CheckContext("jack_port_by_id"); | JackGlobals::CheckContext("jack_port_by_id"); | ||||
| #endif | #endif | ||||
| /* jack_port_t* type is actually the port index */ | /* jack_port_t* type is actually the port index */ | ||||
| #if defined(__x86_64__) || defined(__ppc64__) | |||||
| return (jack_port_t*)((uint64_t)id); | |||||
| #else | |||||
| return (jack_port_t*)id; | |||||
| #endif | |||||
| return (jack_port_t*)((uintptr_t)id); | |||||
| } | } | ||||
| EXPORT int jack_engine_takeover_timebase(jack_client_t* ext_client) | EXPORT int jack_engine_takeover_timebase(jack_client_t* ext_client) | ||||
| @@ -59,30 +59,6 @@ | |||||
| #define JACK_DEFAULT_SERVER_NAME "default" | #define JACK_DEFAULT_SERVER_NAME "default" | ||||
| #ifdef WIN32 | |||||
| #define jack_server_dir "server" | |||||
| #define jack_client_dir "client" | |||||
| #define ADDON_DIR "jack" | |||||
| #endif | |||||
| #ifdef __APPLE__ | |||||
| #define jack_server_dir "/tmp" | |||||
| #define jack_client_dir "/tmp" | |||||
| #define JACK_DEFAULT_DRIVER "coreaudio" | |||||
| #endif | |||||
| #ifdef __linux__ | |||||
| #define jack_server_dir "/dev/shm" | |||||
| #define jack_client_dir "/dev/shm" | |||||
| #define JACK_DEFAULT_DRIVER "alsa" | |||||
| #endif | |||||
| #if defined(__sun__) || defined(sun) | |||||
| #define jack_server_dir "/tmp" | |||||
| #define jack_client_dir "/tmp" | |||||
| #define JACK_DEFAULT_DRIVER "oss" | |||||
| #endif | |||||
| #define jack_server_entry "jackdmp_entry" | #define jack_server_entry "jackdmp_entry" | ||||
| #define jack_client_entry "jack_client" | #define jack_client_entry "jack_client" | ||||
| @@ -152,7 +152,7 @@ jack_parse_driver_params (jack_driver_desc_t * desc, int argc, char* argv[], JSL | |||||
| fprintf (stderr, "Options for driver '%s':\n", desc->name); | fprintf (stderr, "Options for driver '%s':\n", desc->name); | ||||
| jack_print_driver_options (desc, stderr); | jack_print_driver_options (desc, stderr); | ||||
| exit (1); | |||||
| return 1; | |||||
| } | } | ||||
| for (param_index = 0; param_index < desc->nparams; param_index++) { | for (param_index = 0; param_index < desc->nparams; param_index++) { | ||||
| @@ -36,7 +36,10 @@ extern "C" | |||||
| { | { | ||||
| #endif | #endif | ||||
| EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | |||||
| jack_client_t * jack_client_new_aux (const char *client_name, | |||||
| jack_options_t options, | |||||
| jack_status_t *status); | |||||
| jack_client_t * jack_client_open_aux (const char *client_name, | |||||
| jack_options_t options, | jack_options_t options, | ||||
| jack_status_t *status, va_list ap); | jack_status_t *status, va_list ap); | ||||
| EXPORT jack_client_t * jack_client_open (const char *client_name, | EXPORT jack_client_t * jack_client_open (const char *client_name, | ||||
| @@ -52,18 +55,18 @@ extern "C" | |||||
| JackLibGlobals* JackLibGlobals::fGlobals = NULL; | JackLibGlobals* JackLibGlobals::fGlobals = NULL; | ||||
| int JackLibGlobals::fClientCount = 0; | int JackLibGlobals::fClientCount = 0; | ||||
| EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) | |||||
| jack_client_t* jack_client_new_aux(const char* client_name, jack_options_t options, jack_status_t* status) | |||||
| { | { | ||||
| jack_varargs_t va; /* variable arguments */ | jack_varargs_t va; /* variable arguments */ | ||||
| jack_status_t my_status; | jack_status_t my_status; | ||||
| JackClient* client; | JackClient* client; | ||||
| if (client_name == NULL) { | if (client_name == NULL) { | ||||
| jack_error("jack_client_open called with a NULL client_name"); | |||||
| jack_error("jack_client_new called with a NULL client_name"); | |||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| jack_log("jack_client_open %s", client_name); | |||||
| jack_log("jack_client_new %s", client_name); | |||||
| if (status == NULL) /* no status from caller? */ | if (status == NULL) /* no status from caller? */ | ||||
| status = &my_status; /* use local status word */ | status = &my_status; /* use local status word */ | ||||
| @@ -77,11 +80,60 @@ EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options | |||||
| } | } | ||||
| /* parse variable arguments */ | /* parse variable arguments */ | ||||
| if (ap) { | |||||
| jack_varargs_parse(options, ap, &va); | |||||
| jack_varargs_init(&va); | |||||
| JackLibGlobals::Init(); // jack library initialisation | |||||
| if (try_start_server(&va, options, status)) { | |||||
| jack_error("jack server is not running or cannot be started"); | |||||
| JackLibGlobals::Destroy(); // jack library destruction | |||||
| return 0; | |||||
| } | |||||
| if (JACK_DEBUG) { | |||||
| client = new JackDebugClient(new JackLibClient(GetSynchroTable())); // Debug mode | |||||
| } else { | } else { | ||||
| jack_varargs_init(&va); | |||||
| client = new JackLibClient(GetSynchroTable()); | |||||
| } | |||||
| int res = client->Open(va.server_name, client_name, options, status); | |||||
| if (res < 0) { | |||||
| delete client; | |||||
| JackLibGlobals::Destroy(); // jack library destruction | |||||
| int my_status1 = (JackFailure | JackServerError); | |||||
| *status = (jack_status_t)my_status1; | |||||
| return NULL; | |||||
| } else { | |||||
| return (jack_client_t*)client; | |||||
| } | |||||
| } | |||||
| jack_client_t* jack_client_open_aux(const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) | |||||
| { | |||||
| jack_varargs_t va; /* variable arguments */ | |||||
| jack_status_t my_status; | |||||
| JackClient* client; | |||||
| if (client_name == NULL) { | |||||
| jack_error("jack_client_open called with a NULL client_name"); | |||||
| return NULL; | |||||
| } | } | ||||
| jack_log("jack_client_open %s", client_name); | |||||
| if (status == NULL) /* no status from caller? */ | |||||
| status = &my_status; /* use local status word */ | |||||
| *status = (jack_status_t)0; | |||||
| /* validate parameters */ | |||||
| if ((options & ~JackOpenOptions)) { | |||||
| int my_status1 = *status | (JackFailure | JackInvalidOption); | |||||
| *status = (jack_status_t)my_status1; | |||||
| return NULL; | |||||
| } | |||||
| /* parse variable arguments */ | |||||
| jack_varargs_parse(options, ap, &va); | |||||
| JackLibGlobals::Init(); // jack library initialisation | JackLibGlobals::Init(); // jack library initialisation | ||||
| @@ -111,10 +163,10 @@ 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, ...) | EXPORT jack_client_t* jack_client_open(const char* ext_client_name, jack_options_t options, jack_status_t* status, ...) | ||||
| { | { | ||||
| try { | |||||
| #ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
| JackGlobals::CheckContext("jack_client_open"); | JackGlobals::CheckContext("jack_client_open"); | ||||
| #endif | #endif | ||||
| try { | |||||
| assert(JackGlobals::fOpenMutex); | assert(JackGlobals::fOpenMutex); | ||||
| JackGlobals::fOpenMutex->Lock(); | JackGlobals::fOpenMutex->Lock(); | ||||
| va_list ap; | va_list ap; | ||||
| @@ -33,7 +33,10 @@ extern "C" | |||||
| { | { | ||||
| #endif | #endif | ||||
| EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | |||||
| jack_client_t * jack_client_new_aux (const char *client_name, | |||||
| jack_options_t options, | |||||
| jack_status_t *status); | |||||
| jack_client_t * jack_client_open_aux (const char *client_name, | |||||
| jack_options_t options, | jack_options_t options, | ||||
| jack_status_t *status, va_list ap); | jack_status_t *status, va_list ap); | ||||
| EXPORT jack_client_t * jack_client_open (const char *client_name, | EXPORT jack_client_t * jack_client_open (const char *client_name, | ||||
| @@ -48,18 +51,18 @@ extern "C" | |||||
| using namespace Jack; | using namespace Jack; | ||||
| EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) | |||||
| jack_client_t* jack_client_new_aux(const char* client_name, jack_options_t options, jack_status_t* status) | |||||
| { | { | ||||
| jack_varargs_t va; /* variable arguments */ | jack_varargs_t va; /* variable arguments */ | ||||
| jack_status_t my_status; | jack_status_t my_status; | ||||
| JackClient* client; | JackClient* client; | ||||
| if (client_name == NULL) { | if (client_name == NULL) { | ||||
| jack_error("jack_client_open called with a NULL client_name"); | |||||
| jack_error("jack_client_new called with a NULL client_name"); | |||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| jack_log("jack_client_open %s", client_name); | |||||
| jack_log("jack_client_new %s", client_name); | |||||
| if (status == NULL) /* no status from caller? */ | if (status == NULL) /* no status from caller? */ | ||||
| status = &my_status; /* use local status word */ | status = &my_status; /* use local status word */ | ||||
| @@ -73,12 +76,59 @@ EXPORT jack_client_t* jack_client_open_aux(const char* client_name, jack_options | |||||
| } | } | ||||
| /* parse variable arguments */ | /* parse variable arguments */ | ||||
| if (ap) { | |||||
| jack_varargs_parse(options, ap, &va); | |||||
| jack_varargs_init(&va); | |||||
| if (!JackServerGlobals::Init()) { // jack server initialisation | |||||
| int my_status1 = (JackFailure | JackServerError); | |||||
| *status = (jack_status_t)my_status1; | |||||
| return NULL; | |||||
| } | |||||
| if (JACK_DEBUG) { | |||||
| client = new JackDebugClient(new JackInternalClient(JackServerGlobals::fInstance, GetSynchroTable())); // Debug mode | |||||
| } else { | } else { | ||||
| jack_varargs_init(&va); | |||||
| client = new JackInternalClient(JackServerGlobals::fInstance, GetSynchroTable()); | |||||
| } | |||||
| int res = client->Open(va.server_name, client_name, options, status); | |||||
| if (res < 0) { | |||||
| delete client; | |||||
| JackServerGlobals::Destroy(); // jack server destruction | |||||
| int my_status1 = (JackFailure | JackServerError); | |||||
| *status = (jack_status_t)my_status1; | |||||
| return NULL; | |||||
| } else { | |||||
| return (jack_client_t*)client; | |||||
| } | |||||
| } | |||||
| jack_client_t* jack_client_open_aux(const char* client_name, jack_options_t options, jack_status_t* status, va_list ap) | |||||
| { | |||||
| jack_varargs_t va; /* variable arguments */ | |||||
| jack_status_t my_status; | |||||
| JackClient* client; | |||||
| if (client_name == NULL) { | |||||
| jack_error("jack_client_open called with a NULL client_name"); | |||||
| return NULL; | |||||
| } | } | ||||
| jack_log("jack_client_open %s", client_name); | |||||
| if (status == NULL) /* no status from caller? */ | |||||
| status = &my_status; /* use local status word */ | |||||
| *status = (jack_status_t)0; | |||||
| /* validate parameters */ | |||||
| if ((options & ~JackOpenOptions)) { | |||||
| int my_status1 = *status | (JackFailure | JackInvalidOption); | |||||
| *status = (jack_status_t)my_status1; | |||||
| return NULL; | |||||
| } | |||||
| /* parse variable arguments */ | |||||
| jack_varargs_parse(options, ap, &va); | |||||
| if (!JackServerGlobals::Init()) { // jack server initialisation | if (!JackServerGlobals::Init()) { // jack server initialisation | ||||
| int my_status1 = (JackFailure | JackServerError); | int my_status1 = (JackFailure | JackServerError); | ||||
| *status = (jack_status_t)my_status1; | *status = (jack_status_t)my_status1; | ||||
| @@ -732,7 +732,7 @@ int jack_port_connected_to (const jack_port_t *port, | |||||
| * @return a null-terminated array of full port names to which the @a | * @return a null-terminated array of full port names to which the @a | ||||
| * port is connected. If none, returns NULL. | * port is connected. If none, returns NULL. | ||||
| * | * | ||||
| * The caller is responsible for calling free(3) on any non-NULL | |||||
| * The caller is responsible for calling jack_free(3) on any non-NULL | |||||
| * returned value. | * returned value. | ||||
| * | * | ||||
| * @param port locally owned jack_port_t pointer. | * @param port locally owned jack_port_t pointer. | ||||
| @@ -745,7 +745,7 @@ const char ** jack_port_get_connections (const jack_port_t *port) JACK_OPTIONAL_ | |||||
| * @return a null-terminated array of full port names to which the @a | * @return a null-terminated array of full port names to which the @a | ||||
| * port is connected. If none, returns NULL. | * port is connected. If none, returns NULL. | ||||
| * | * | ||||
| * The caller is responsible for calling free(3) on any non-NULL | |||||
| * The caller is responsible for calling jack_free(3) on any non-NULL | |||||
| * returned value. | * returned value. | ||||
| * | * | ||||
| * This differs from jack_port_get_connections() in two important | * This differs from jack_port_get_connections() in two important | ||||
| @@ -996,7 +996,7 @@ int jack_port_type_size(void) JACK_OPTIONAL_WEAK_EXPORT; | |||||
| * If zero, no selection based on flags will be carried out. | * If zero, no selection based on flags will be carried out. | ||||
| * | * | ||||
| * @return a NULL-terminated array of ports that match the specified | * @return a NULL-terminated array of ports that match the specified | ||||
| * arguments. The caller is responsible for calling free(3) any | |||||
| * arguments. The caller is responsible for calling jack_free(3) any | |||||
| * non-NULL returned value. | * non-NULL returned value. | ||||
| * | * | ||||
| * @see jack_port_name_size(), jack_port_type_size() | * @see jack_port_name_size(), jack_port_type_size() | ||||
| @@ -99,7 +99,13 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { | |||||
| jack_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]); | jack_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]); | ||||
| jack_error("info.si_addr = %p", info->si_addr); | jack_error("info.si_addr = %p", info->si_addr); | ||||
| for(i = 0; i < NGREG; i++) | for(i = 0; i < NGREG; i++) | ||||
| jack_error("reg[%02d] = 0x" REGFORMAT, i, ucontext->uc_mcontext.gregs[i]); | |||||
| jack_error("reg[%02d] = 0x" REGFORMAT, i, | |||||
| #if defined(__powerpc__) | |||||
| ucontext->uc_mcontext.uc_regs[i] | |||||
| #else | |||||
| ucontext->uc_mcontext.gregs[i] | |||||
| #endif | |||||
| ); | |||||
| #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) | #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) | ||||
| # if defined(SIGSEGV_STACK_IA64) | # if defined(SIGSEGV_STACK_IA64) | ||||
| @@ -1,6 +1,6 @@ | |||||
| /* | /* | ||||
| Copyright (C) 2002 Jeremy Hall | Copyright (C) 2002 Jeremy Hall | ||||
| This program is free software; you can redistribute it and/or modify | This program is free software; you can redistribute it and/or modify | ||||
| it under the terms of the GNU General Public License as published by | it under the terms of the GNU General Public License as published by | ||||
| the Free Software Foundation; either version 2 of the License, or | the Free Software Foundation; either version 2 of the License, or | ||||
| @@ -29,9 +29,16 @@ | |||||
| jack_port_t *input_port; | jack_port_t *input_port; | ||||
| jack_port_t *output_port; | jack_port_t *output_port; | ||||
| int connecting, disconnecting; | int connecting, disconnecting; | ||||
| int done = 0; | |||||
| #define TRUE 1 | #define TRUE 1 | ||||
| #define FALSE 0 | #define FALSE 0 | ||||
| void port_connect_callback(jack_port_id_t a, jack_port_id_t b, int connect, void* arg) | |||||
| { | |||||
| done = 1; | |||||
| } | |||||
| int | int | ||||
| main (int argc, char *argv[]) | main (int argc, char *argv[]) | ||||
| { | { | ||||
| @@ -43,7 +50,7 @@ main (int argc, char *argv[]) | |||||
| } else { | } else { | ||||
| my_name ++; | my_name ++; | ||||
| } | } | ||||
| printf("name %s\n", my_name); | printf("name %s\n", my_name); | ||||
| if (strstr(my_name, "jack_disconnect")) { | if (strstr(my_name, "jack_disconnect")) { | ||||
| @@ -70,7 +77,9 @@ main (int argc, char *argv[]) | |||||
| return 1; | return 1; | ||||
| } | } | ||||
| /* display the current sample rate. once the client is activated | |||||
| jack_set_port_connect_callback(client, port_connect_callback, NULL); | |||||
| /* display the current sample rate. once the client is activated | |||||
| (see below), you should rely on your own sample rate | (see below), you should rely on your own sample rate | ||||
| callback (see above) for this value. | callback (see above) for this value. | ||||
| */ | */ | ||||
| @@ -85,7 +94,7 @@ main (int argc, char *argv[]) | |||||
| fprintf (stderr, "ERROR %s not a valid port\n", argv[2]); | fprintf (stderr, "ERROR %s not a valid port\n", argv[2]); | ||||
| goto error; | goto error; | ||||
| } | } | ||||
| /* tell the JACK server that we are ready to roll */ | /* tell the JACK server that we are ready to roll */ | ||||
| if (jack_activate (client)) { | if (jack_activate (client)) { | ||||
| @@ -109,12 +118,22 @@ main (int argc, char *argv[]) | |||||
| goto error; | goto error; | ||||
| } | } | ||||
| } | } | ||||
| // Wait for connection/disconnection to be effective | |||||
| while(!done) { | |||||
| #ifdef WIN32 | |||||
| Sleep(10); | |||||
| #else | |||||
| usleep(10000); | |||||
| #endif | |||||
| } | |||||
| jack_deactivate (client); | jack_deactivate (client); | ||||
| jack_client_close (client); | jack_client_close (client); | ||||
| return 0; | return 0; | ||||
| error: | error: | ||||
| if (client) | |||||
| if (client) | |||||
| jack_client_close (client); | jack_client_close (client); | ||||
| return 1; | return 1; | ||||
| } | } | ||||
| @@ -503,11 +503,12 @@ init_sockaddr_in (struct sockaddr_in *name , const char *hostname , uint16_t por | |||||
| if (hostinfo == NULL) { | if (hostinfo == NULL) { | ||||
| fprintf (stderr, "init_sockaddr_in: unknown host: %s.\n", hostname); | fprintf (stderr, "init_sockaddr_in: unknown host: %s.\n", hostname); | ||||
| fflush( stderr ); | fflush( stderr ); | ||||
| return; | |||||
| } | } | ||||
| #ifdef WIN32 | #ifdef WIN32 | ||||
| name->sin_addr.s_addr = inet_addr( hostname ); | |||||
| name->sin_addr.s_addr = inet_addr( hostname ); | |||||
| #else | #else | ||||
| name->sin_addr = *(struct in_addr *) hostinfo->h_addr ; | |||||
| name->sin_addr = *(struct in_addr *) hostinfo->h_addr ; | |||||
| #endif | #endif | ||||
| } | } | ||||
| else | else | ||||
| @@ -622,15 +623,15 @@ main (int argc, char *argv[]) | |||||
| case 'b': | case 'b': | ||||
| bitdepth = atoi (optarg); | bitdepth = atoi (optarg); | ||||
| break; | break; | ||||
| case 'c': | |||||
| #if HAVE_CELT | |||||
| bitdepth = 1000; | |||||
| case 'c': | |||||
| #if HAVE_CELT | |||||
| bitdepth = 1000; | |||||
| factor = atoi (optarg); | factor = atoi (optarg); | ||||
| #else | |||||
| #else | |||||
| printf( "not built with celt supprt\n" ); | printf( "not built with celt supprt\n" ); | ||||
| exit(10); | exit(10); | ||||
| #endif | |||||
| break; | |||||
| #endif | |||||
| break; | |||||
| case 'm': | case 'm': | ||||
| mtu = atoi (optarg); | mtu = atoi (optarg); | ||||
| break; | break; | ||||
| @@ -677,18 +678,17 @@ main (int argc, char *argv[]) | |||||
| } | } | ||||
| init_sockaddr_in ((struct sockaddr_in *) &destaddr, peer_ip, peer_port); | init_sockaddr_in ((struct sockaddr_in *) &destaddr, peer_ip, peer_port); | ||||
| if(bind_port) { | |||||
| if (bind_port) { | |||||
| init_sockaddr_in ((struct sockaddr_in *) &bindaddr, NULL, bind_port); | init_sockaddr_in ((struct sockaddr_in *) &bindaddr, NULL, bind_port); | ||||
| if( bind (outsockfd, &bindaddr, sizeof (bindaddr)) ) { | if( bind (outsockfd, &bindaddr, sizeof (bindaddr)) ) { | ||||
| fprintf (stderr, "bind failure\n" ); | |||||
| } | |||||
| fprintf (stderr, "bind failure\n" ); | |||||
| } | |||||
| } | } | ||||
| if(reply_port) | |||||
| { | |||||
| if (reply_port) { | |||||
| init_sockaddr_in ((struct sockaddr_in *) &bindaddr, NULL, reply_port); | init_sockaddr_in ((struct sockaddr_in *) &bindaddr, NULL, reply_port); | ||||
| if( bind (insockfd, &bindaddr, sizeof (bindaddr)) ) { | if( bind (insockfd, &bindaddr, sizeof (bindaddr)) ) { | ||||
| fprintf (stderr, "bind failure\n" ); | |||||
| } | |||||
| fprintf (stderr, "bind failure\n" ); | |||||
| } | |||||
| } | } | ||||
| /* try to become a client of the JACK server */ | /* try to become a client of the JACK server */ | ||||
| @@ -59,7 +59,7 @@ def configure(conf): | |||||
| conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE') | conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE') | ||||
| conf.env['BUILD_EXAMPLE_ALSA_IO'] = conf.is_defined('HAVE_SAMPLERATE') | |||||
| conf.env['BUILD_EXAMPLE_ALSA_IO'] = conf.is_defined('HAVE_SAMPLERATE') and conf.is_defined('HAVE_ALSA') | |||||
| def build(bld): | def build(bld): | ||||
| if bld.env['IS_LINUX']: | if bld.env['IS_LINUX']: | ||||
| @@ -42,9 +42,9 @@ static inline int CAS(register UInt32 value, register UInt32 newvalue, register | |||||
| "1: \n" | "1: \n" | ||||
| " li %0, 0 \n" | " li %0, 0 \n" | ||||
| "2: \n" | "2: \n" | ||||
| : "=r" (result) | |||||
| : "r" (addr), "r" (value), "r" (newvalue), "r" (tmp) | |||||
| ); | |||||
| : "=r" (result) | |||||
| : "r" (addr), "r" (value), "r" (newvalue), "r" (tmp) | |||||
| ); | |||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -61,13 +61,23 @@ static inline char CAS(volatile UInt32 value, UInt32 newvalue, volatile void* ad | |||||
| "# CAS \n\t" | "# CAS \n\t" | ||||
| LOCK "cmpxchg %2, (%1) \n\t" | LOCK "cmpxchg %2, (%1) \n\t" | ||||
| "sete %0 \n\t" | "sete %0 \n\t" | ||||
| : "=a" (ret) | |||||
| : "c" (addr), "d" (newvalue), "a" (value) | |||||
| ); | |||||
| : "=a" (ret) | |||||
| : "c" (addr), "d" (newvalue), "a" (value) | |||||
| ); | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| #endif | #endif | ||||
| #if !defined(__i386__) && !defined(__x86_64__) && !defined(__PPC__) | |||||
| #warning using builtin gcc (version > 4.1) atomic | |||||
| static inline char CAS(volatile UInt32 value, UInt32 newvalue, volatile void* addr) | |||||
| { | |||||
| return __sync_bool_compare_and_swap (&addr, value, newvalue); | |||||
| } | |||||
| #endif | |||||
| #endif | #endif | ||||
| @@ -20,6 +20,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| #ifndef __JackPlatformPlug_linux__ | #ifndef __JackPlatformPlug_linux__ | ||||
| #define __JackPlatformPlug_linux__ | #define __JackPlatformPlug_linux__ | ||||
| #define jack_server_dir "/dev/shm" | |||||
| #define jack_client_dir "/dev/shm" | |||||
| #define JACK_DEFAULT_DRIVER "alsa" | |||||
| namespace Jack | namespace Jack | ||||
| { | { | ||||
| struct JackRequest; | struct JackRequest; | ||||
| @@ -260,7 +260,7 @@ JackAlsaDriver::alsa_driver_hw_specific (alsa_driver_t *driver, int hw_monitorin | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| void | |||||
| int | |||||
| JackAlsaDriver::alsa_driver_setup_io_function_pointers (alsa_driver_t *driver) | JackAlsaDriver::alsa_driver_setup_io_function_pointers (alsa_driver_t *driver) | ||||
| { | { | ||||
| if (driver->playback_handle) { | if (driver->playback_handle) { | ||||
| @@ -340,7 +340,7 @@ JackAlsaDriver::alsa_driver_setup_io_function_pointers (alsa_driver_t *driver) | |||||
| default: | default: | ||||
| jack_error ("impossible sample width (%d) discovered!", | jack_error ("impossible sample width (%d) discovered!", | ||||
| driver->playback_sample_bytes); | driver->playback_sample_bytes); | ||||
| exit (1); | |||||
| return -1; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -364,6 +364,8 @@ JackAlsaDriver::alsa_driver_setup_io_function_pointers (alsa_driver_t *driver) | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| return 0; | |||||
| } | } | ||||
| int | int | ||||
| @@ -779,7 +781,7 @@ JackAlsaDriver::alsa_driver_set_parameters (alsa_driver_t *driver, | |||||
| default: | default: | ||||
| jack_error ("programming error: unhandled format " | jack_error ("programming error: unhandled format " | ||||
| "type for playback"); | "type for playback"); | ||||
| exit (1); | |||||
| return -1; | |||||
| } | } | ||||
| } | } | ||||
| @@ -797,7 +799,7 @@ JackAlsaDriver::alsa_driver_set_parameters (alsa_driver_t *driver, | |||||
| default: | default: | ||||
| jack_error ("programming error: unhandled format " | jack_error ("programming error: unhandled format " | ||||
| "type for capture"); | "type for capture"); | ||||
| exit (1); | |||||
| return -1; | |||||
| } | } | ||||
| } | } | ||||
| @@ -836,7 +838,8 @@ JackAlsaDriver::alsa_driver_set_parameters (alsa_driver_t *driver, | |||||
| driver->user_nchannels = driver->playback_nchannels; | driver->user_nchannels = driver->playback_nchannels; | ||||
| } | } | ||||
| alsa_driver_setup_io_function_pointers (driver); | |||||
| if (alsa_driver_setup_io_function_pointers (driver) != 0) | |||||
| return -1; | |||||
| /* Allocate and initialize structures that rely on the | /* Allocate and initialize structures that rely on the | ||||
| channels counts. | channels counts. | ||||
| @@ -53,7 +53,7 @@ class JackAlsaDriver : public JackAudioDriver | |||||
| int alsa_driver_generic_hardware(alsa_driver_t *driver); | int alsa_driver_generic_hardware(alsa_driver_t *driver); | ||||
| int alsa_driver_hw_specific(alsa_driver_t *driver, int hw_monitoring, | int alsa_driver_hw_specific(alsa_driver_t *driver, int hw_monitoring, | ||||
| int hw_metering); | int hw_metering); | ||||
| void alsa_driver_setup_io_function_pointers (alsa_driver_t *driver); | |||||
| int alsa_driver_setup_io_function_pointers (alsa_driver_t *driver); | |||||
| int alsa_driver_configure_stream(alsa_driver_t *driver, char *device_name, | int alsa_driver_configure_stream(alsa_driver_t *driver, char *device_name, | ||||
| const char *stream_name, | const char *stream_name, | ||||
| snd_pcm_t *handle, | snd_pcm_t *handle, | ||||
| @@ -103,6 +103,20 @@ static inline cycles_t get_cycles (void) | |||||
| #endif | #endif | ||||
| /* everything else but x86, amd64 or ppc */ | |||||
| #if !defined (__PPC__) && !defined (__x86_64__) && !defined (__i386__) | |||||
| #warning No suitable get_cycles() implementation. Returning 0 instead | |||||
| typedef unsigned long long cycles_t; | |||||
| static inline cycles_t get_cycles(void) | |||||
| { | |||||
| return 0; | |||||
| } | |||||
| #endif | |||||
| #endif | #endif | ||||
| #endif /* __jack_cycles_h__ */ | #endif /* __jack_cycles_h__ */ | ||||
| @@ -429,7 +429,7 @@ int JackFFADODriver::Attach() | |||||
| driver->capture_channels[chn].stream_type = ffado_streaming_get_capture_stream_type(driver->dev, chn); | driver->capture_channels[chn].stream_type = ffado_streaming_get_capture_stream_type(driver->dev, chn); | ||||
| if (driver->capture_channels[chn].stream_type == ffado_stream_type_audio) { | if (driver->capture_channels[chn].stream_type == ffado_stream_type_audio) { | ||||
| snprintf(buf, sizeof(buf) - 1, "%s:%s", fClientControl.fName, portname); | |||||
| snprintf(buf, sizeof(buf) - 1, "firewire_pcm:%s_in", portname); | |||||
| printMessage ("Registering audio capture port %s", buf); | printMessage ("Registering audio capture port %s", buf); | ||||
| if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | ||||
| JACK_DEFAULT_AUDIO_TYPE, | JACK_DEFAULT_AUDIO_TYPE, | ||||
| @@ -455,7 +455,7 @@ int JackFFADODriver::Attach() | |||||
| fCaptureChannels++; | fCaptureChannels++; | ||||
| } else if (driver->capture_channels[chn].stream_type == ffado_stream_type_midi) { | } else if (driver->capture_channels[chn].stream_type == ffado_stream_type_midi) { | ||||
| snprintf(buf, sizeof(buf) - 1, "%s:%s", fClientControl.fName, portname); | |||||
| snprintf(buf, sizeof(buf) - 1, "firewire_pcm:%s_in", portname); | |||||
| printMessage ("Registering midi capture port %s", buf); | printMessage ("Registering midi capture port %s", buf); | ||||
| if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | ||||
| JACK_DEFAULT_MIDI_TYPE, | JACK_DEFAULT_MIDI_TYPE, | ||||
| @@ -502,7 +502,7 @@ int JackFFADODriver::Attach() | |||||
| driver->playback_channels[chn].stream_type = ffado_streaming_get_playback_stream_type(driver->dev, chn); | driver->playback_channels[chn].stream_type = ffado_streaming_get_playback_stream_type(driver->dev, chn); | ||||
| if (driver->playback_channels[chn].stream_type == ffado_stream_type_audio) { | if (driver->playback_channels[chn].stream_type == ffado_stream_type_audio) { | ||||
| snprintf(buf, sizeof(buf) - 1, "%s:%s", fClientControl.fName, portname); | |||||
| snprintf(buf, sizeof(buf) - 1, "firewire_pcm:%s_out", portname); | |||||
| printMessage ("Registering audio playback port %s", buf); | printMessage ("Registering audio playback port %s", buf); | ||||
| if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | ||||
| JACK_DEFAULT_AUDIO_TYPE, | JACK_DEFAULT_AUDIO_TYPE, | ||||
| @@ -530,7 +530,7 @@ int JackFFADODriver::Attach() | |||||
| jack_log("JackFFADODriver::Attach fPlaybackPortList[i] %ld ", port_index); | jack_log("JackFFADODriver::Attach fPlaybackPortList[i] %ld ", port_index); | ||||
| fPlaybackChannels++; | fPlaybackChannels++; | ||||
| } else if (driver->playback_channels[chn].stream_type == ffado_stream_type_midi) { | } else if (driver->playback_channels[chn].stream_type == ffado_stream_type_midi) { | ||||
| snprintf(buf, sizeof(buf) - 1, "%s:%s", fClientControl.fName, portname); | |||||
| snprintf(buf, sizeof(buf) - 1, "firewire_pcm:%s_out", portname); | |||||
| printMessage ("Registering midi playback port %s", buf); | printMessage ("Registering midi playback port %s", buf); | ||||
| if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf, | ||||
| JACK_DEFAULT_MIDI_TYPE, | JACK_DEFAULT_MIDI_TYPE, | ||||
| @@ -41,10 +41,10 @@ static inline int CAS(register UInt32 value, register UInt32 newvalue, register | |||||
| "1: \n" | "1: \n" | ||||
| " li %0, 0 \n" | " li %0, 0 \n" | ||||
| "2: \n" | "2: \n" | ||||
| : "=r" (result) | |||||
| : "r" (addr), "r" (value), "r" (newvalue) | |||||
| : "r0" | |||||
| ); | |||||
| : "=r" (result) | |||||
| : "r" (addr), "r" (value), "r" (newvalue) | |||||
| : "r0" | |||||
| ); | |||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -61,9 +61,9 @@ static inline char CAS(volatile UInt32 value, UInt32 newvalue, volatile void* ad | |||||
| "# CAS \n\t" | "# CAS \n\t" | ||||
| LOCK "cmpxchg %2, (%1) \n\t" | LOCK "cmpxchg %2, (%1) \n\t" | ||||
| "sete %0 \n\t" | "sete %0 \n\t" | ||||
| : "=a" (ret) | |||||
| : "c" (addr), "d" (newvalue), "a" (value) | |||||
| ); | |||||
| : "=a" (ret) | |||||
| : "c" (addr), "d" (newvalue), "a" (value) | |||||
| ); | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| @@ -22,6 +22,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| #include <TargetConditionals.h> | #include <TargetConditionals.h> | ||||
| #define jack_server_dir "/tmp" | |||||
| #define jack_client_dir "/tmp" | |||||
| #define JACK_DEFAULT_DRIVER "coreaudio" | |||||
| namespace Jack | namespace Jack | ||||
| { | { | ||||
| class JackPosixMutex; | class JackPosixMutex; | ||||
| @@ -7950,16 +7950,17 @@ | |||||
| LIBRARY_STYLE = DYNAMIC; | LIBRARY_STYLE = DYNAMIC; | ||||
| MACH_O_TYPE = mh_dylib; | MACH_O_TYPE = mh_dylib; | ||||
| OTHER_CFLAGS = ""; | OTHER_CFLAGS = ""; | ||||
| OTHER_CPLUSPLUSFLAGS = "-DMACH_RPC_MACH_SEMA"; | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "-DHAVE_CELT", | |||||
| "-DMACH_RPC_MACH_SEMA", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackservermp, | Jackservermp, | ||||
| "-framework", | "-framework", | ||||
| CoreAudio, | |||||
| "-framework", | |||||
| CoreServices, | CoreServices, | ||||
| "-framework", | |||||
| AudioUnit, | |||||
| ); | ); | ||||
| OTHER_REZFLAGS = ""; | OTHER_REZFLAGS = ""; | ||||
| PREBINDING = NO; | PREBINDING = NO; | ||||
| @@ -8000,8 +8001,13 @@ | |||||
| MACH_O_TYPE = mh_dylib; | MACH_O_TYPE = mh_dylib; | ||||
| MACOSX_DEPLOYMENT_TARGET = 10.4; | MACOSX_DEPLOYMENT_TARGET = 10.4; | ||||
| OTHER_CFLAGS = ""; | OTHER_CFLAGS = ""; | ||||
| OTHER_CPLUSPLUSFLAGS = "-DMACH_RPC_MACH_SEMA"; | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "-DHAVE_CELT", | |||||
| "-DMACH_RPC_MACH_SEMA", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackservermp, | Jackservermp, | ||||
| "-framework", | "-framework", | ||||
| @@ -8037,7 +8043,11 @@ | |||||
| LIBRARY_STYLE = DYNAMIC; | LIBRARY_STYLE = DYNAMIC; | ||||
| MACH_O_TYPE = mh_dylib; | MACH_O_TYPE = mh_dylib; | ||||
| OTHER_CFLAGS = ""; | OTHER_CFLAGS = ""; | ||||
| OTHER_CPLUSPLUSFLAGS = "-DMACH_RPC_MACH_SEMA"; | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "-DHAVE_CELT", | |||||
| "-DMACH_RPC_MACH_SEMA", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| "-framework", | "-framework", | ||||
| Jackdmp, | Jackdmp, | ||||
| @@ -8087,17 +8097,19 @@ | |||||
| INSTALL_PATH = /usr/local/lib; | INSTALL_PATH = /usr/local/lib; | ||||
| LIBRARY_STYLE = DYNAMIC; | LIBRARY_STYLE = DYNAMIC; | ||||
| MACH_O_TYPE = mh_dylib; | MACH_O_TYPE = mh_dylib; | ||||
| OTHER_CFLAGS = ""; | |||||
| OTHER_CPLUSPLUSFLAGS = "-DMACH_RPC_MACH_SEMA"; | |||||
| OTHER_CFLAGS = "-DJACK_32_64"; | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DJACK_32_64", | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "-DMACH_RPC_MACH_SEMA", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackservermp, | Jackservermp, | ||||
| "-framework", | "-framework", | ||||
| CoreAudio, | |||||
| "-framework", | |||||
| CoreServices, | CoreServices, | ||||
| "-framework", | |||||
| AudioUnit, | |||||
| ); | ); | ||||
| OTHER_REZFLAGS = ""; | OTHER_REZFLAGS = ""; | ||||
| PREBINDING = NO; | PREBINDING = NO; | ||||
| @@ -8137,10 +8149,13 @@ | |||||
| MACOSX_DEPLOYMENT_TARGET = 10.4; | MACOSX_DEPLOYMENT_TARGET = 10.4; | ||||
| OTHER_CFLAGS = "-DJACK_32_64"; | OTHER_CFLAGS = "-DJACK_32_64"; | ||||
| OTHER_CPLUSPLUSFLAGS = ( | OTHER_CPLUSPLUSFLAGS = ( | ||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "-DMACH_RPC_MACH_SEMA", | "-DMACH_RPC_MACH_SEMA", | ||||
| "-DJACK_32_64", | "-DJACK_32_64", | ||||
| ); | ); | ||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackservermp, | Jackservermp, | ||||
| "-framework", | "-framework", | ||||
| @@ -8216,8 +8231,17 @@ | |||||
| GCC_GENERATE_DEBUGGING_SYMBOLS = YES; | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; | ||||
| GCC_OPTIMIZATION_LEVEL = 0; | GCC_OPTIMIZATION_LEVEL = 0; | ||||
| HEADER_SEARCH_PATHS = ../common; | HEADER_SEARCH_PATHS = ../common; | ||||
| OTHER_CFLAGS = ""; | |||||
| OTHER_CFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| ); | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "$(OTHER_CFLAGS)", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackmp, | Jackmp, | ||||
| "-framework", | "-framework", | ||||
| @@ -8249,8 +8273,17 @@ | |||||
| GCC_ENABLE_FIX_AND_CONTINUE = NO; | GCC_ENABLE_FIX_AND_CONTINUE = NO; | ||||
| HEADER_SEARCH_PATHS = ../common; | HEADER_SEARCH_PATHS = ../common; | ||||
| MACOSX_DEPLOYMENT_TARGET = 10.4; | MACOSX_DEPLOYMENT_TARGET = 10.4; | ||||
| OTHER_CFLAGS = ""; | |||||
| OTHER_CFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| ); | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "$(OTHER_CFLAGS)", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackmp, | Jackmp, | ||||
| "-framework", | "-framework", | ||||
| @@ -8280,6 +8313,11 @@ | |||||
| FRAMEWORK_SEARCH_PATHS = ""; | FRAMEWORK_SEARCH_PATHS = ""; | ||||
| HEADER_SEARCH_PATHS = ../common; | HEADER_SEARCH_PATHS = ../common; | ||||
| OTHER_CFLAGS = ""; | OTHER_CFLAGS = ""; | ||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "$(OTHER_CFLAGS)", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| "-framework", | "-framework", | ||||
| Jackmp, | Jackmp, | ||||
| @@ -8311,8 +8349,13 @@ | |||||
| GCC_GENERATE_DEBUGGING_SYMBOLS = YES; | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; | ||||
| GCC_OPTIMIZATION_LEVEL = 0; | GCC_OPTIMIZATION_LEVEL = 0; | ||||
| HEADER_SEARCH_PATHS = ../common; | HEADER_SEARCH_PATHS = ../common; | ||||
| OTHER_CFLAGS = ""; | |||||
| OTHER_CFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| ); | |||||
| OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackmp, | Jackmp, | ||||
| "-framework", | "-framework", | ||||
| @@ -8342,8 +8385,13 @@ | |||||
| GCC_ENABLE_FIX_AND_CONTINUE = NO; | GCC_ENABLE_FIX_AND_CONTINUE = NO; | ||||
| HEADER_SEARCH_PATHS = ../common; | HEADER_SEARCH_PATHS = ../common; | ||||
| MACOSX_DEPLOYMENT_TARGET = 10.4; | MACOSX_DEPLOYMENT_TARGET = 10.4; | ||||
| OTHER_CFLAGS = ""; | |||||
| OTHER_CFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| ); | |||||
| OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| libcelt.a, | |||||
| "-framework", | "-framework", | ||||
| Jackmp, | Jackmp, | ||||
| "-framework", | "-framework", | ||||
| @@ -8372,7 +8420,15 @@ | |||||
| ); | ); | ||||
| FRAMEWORK_SEARCH_PATHS = ""; | FRAMEWORK_SEARCH_PATHS = ""; | ||||
| HEADER_SEARCH_PATHS = ../common; | HEADER_SEARCH_PATHS = ../common; | ||||
| OTHER_CFLAGS = ""; | |||||
| OTHER_CFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| ); | |||||
| OTHER_CPLUSPLUSFLAGS = ( | |||||
| "-DHAVE_CELT", | |||||
| "-DHAVE_CELT_API_0_7", | |||||
| "$(OTHER_CFLAGS)", | |||||
| ); | |||||
| OTHER_LDFLAGS = ( | OTHER_LDFLAGS = ( | ||||
| "-framework", | "-framework", | ||||
| Jackmp, | Jackmp, | ||||
| @@ -40,11 +40,13 @@ static MIDITimeStamp MIDIGetCurrentHostTime() | |||||
| void JackCoreMidiDriver::ReadProcAux(const MIDIPacketList *pktlist, jack_ringbuffer_t* ringbuffer) | void JackCoreMidiDriver::ReadProcAux(const MIDIPacketList *pktlist, jack_ringbuffer_t* ringbuffer) | ||||
| { | { | ||||
| // Write the number of packets | // Write the number of packets | ||||
| size_t size = jack_ringbuffer_write(ringbuffer, (char*)&pktlist->numPackets, sizeof(UInt32)); | |||||
| if (size != sizeof(UInt32)) { | |||||
| size_t size = jack_ringbuffer_write_space(ringbuffer); | |||||
| if (size < sizeof(UInt32)) { | |||||
| jack_error("ReadProc : ring buffer is full, skip events..."); | jack_error("ReadProc : ring buffer is full, skip events..."); | ||||
| return; | return; | ||||
| } | |||||
| } | |||||
| jack_ringbuffer_write(ringbuffer, (char*)&pktlist->numPackets, sizeof(UInt32)); | |||||
| for (unsigned int i = 0; i < pktlist->numPackets; ++i) { | for (unsigned int i = 0; i < pktlist->numPackets; ++i) { | ||||
| @@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| #include "JackFifo.h" | #include "JackFifo.h" | ||||
| #include "JackTools.h" | #include "JackTools.h" | ||||
| #include "JackError.h" | #include "JackError.h" | ||||
| #include "JackConstants.h" | |||||
| #include "JackPlatformPlug.h" | |||||
| #include <sys/types.h> | #include <sys/types.h> | ||||
| #include <sys/stat.h> | #include <sys/stat.h> | ||||
| #include <unistd.h> | #include <unistd.h> | ||||
| @@ -20,6 +20,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| #ifndef __JackPlatformPlug_sun__ | #ifndef __JackPlatformPlug_sun__ | ||||
| #define __JackPlatformPlug_sun__ | #define __JackPlatformPlug_sun__ | ||||
| #define jack_server_dir "/tmp" | |||||
| #define jack_client_dir "/tmp" | |||||
| #define JACK_DEFAULT_DRIVER "oss" | |||||
| namespace Jack | namespace Jack | ||||
| { | { | ||||
| struct JackRequest; | struct JackRequest; | ||||
| @@ -21,6 +21,10 @@ | |||||
| #ifndef __JackPlatformPlug_WIN32__ | #ifndef __JackPlatformPlug_WIN32__ | ||||
| #define __JackPlatformPlug_WIN32__ | #define __JackPlatformPlug_WIN32__ | ||||
| #define jack_server_dir "server" | |||||
| #define jack_client_dir "client" | |||||
| #define ADDON_DIR "jack" | |||||
| namespace Jack | namespace Jack | ||||
| { | { | ||||
| struct JackRequest; | struct JackRequest; | ||||