git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1944 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.71
@@ -23,6 +23,7 @@ Nedko Arnaudov | |||
* Fix engine real-time notification (was broken since ??). | |||
* Correct jack_client_open_aux, jack_client_open and jack_client_new. | |||
* Correct jack_internal_client_load for wrapper layer. | |||
2008-03-10 Stephane Letz <letz@grame.fr> | |||
@@ -50,7 +50,7 @@ extern "C" | |||
EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | |||
jack_options_t options, | |||
jack_status_t *status, ...); | |||
jack_status_t *status, va_list ap); | |||
EXPORT jack_client_t * jack_client_open (const char *client_name, | |||
jack_options_t options, | |||
jack_status_t *status, ...); | |||
@@ -215,6 +215,11 @@ extern "C" | |||
const char *client_name, | |||
jack_options_t options, | |||
jack_status_t *status, ...); | |||
EXPORT jack_intclient_t jack_internal_client_load_aux (jack_client_t *client, | |||
const char *client_name, | |||
jack_options_t options, | |||
jack_status_t *status, va_list ap); | |||
EXPORT jack_status_t jack_internal_client_unload (jack_client_t *client, | |||
jack_intclient_t intclient); | |||
@@ -1591,7 +1596,7 @@ EXPORT jack_intclient_t jack_internal_client_handle(jack_client_t* ext_client, c | |||
} | |||
} | |||
EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, ...) | |||
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(); | |||
@@ -1601,7 +1606,6 @@ EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, con | |||
jack_error("jack_internal_client_load called with a NULL client"); | |||
return 0; | |||
} else { | |||
va_list ap; | |||
jack_varargs_t va; | |||
jack_status_t my_status; | |||
@@ -1617,14 +1621,20 @@ EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, con | |||
} | |||
/* parse variable arguments */ | |||
va_start(ap, status); | |||
jack_varargs_parse(options, ap, &va); | |||
va_end(ap); | |||
return client->InternalClientLoad(client_name, options, status, &va); | |||
} | |||
} | |||
EXPORT jack_intclient_t jack_internal_client_load(jack_client_t *client, const char *client_name, jack_options_t options, jack_status_t *status, ...) | |||
{ | |||
va_list ap; | |||
va_start(ap, status); | |||
jack_intclient_t res = jack_internal_client_load_aux(client, client_name, options, status, ap); | |||
va_end(ap); | |||
return res; | |||
} | |||
EXPORT jack_status_t jack_internal_client_unload(jack_client_t* ext_client, jack_intclient_t intclient) | |||
{ | |||
#ifdef __CLIENTDEBUG__ | |||
@@ -972,14 +972,14 @@ EXPORT jack_intclient_t jack_internal_client_handle(jack_client_t* ext_client, c | |||
return (*jack_internal_client_handle_fun)(ext_client, client_name, status); | |||
} | |||
typedef jack_intclient_t (*jack_internal_client_load_fun_def)(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, ...); | |||
static jack_internal_client_load_fun_def jack_internal_client_load_fun = 0; | |||
typedef jack_intclient_t (*jack_internal_client_load_aux_fun_def)(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, va_list ap); | |||
static jack_internal_client_load_aux_fun_def jack_internal_client_load_aux_fun = 0; | |||
EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, ...) | |||
{ | |||
jack_log("jack_internal_client_load"); | |||
va_list ap; | |||
va_start(ap, status); | |||
jack_intclient_t res = (*jack_internal_client_load_fun)(ext_client, client_name, options, status, ap); | |||
jack_intclient_t res = (*jack_internal_client_load_aux_fun)(ext_client, client_name, options, status, ap); | |||
va_end(ap); | |||
return res; | |||
} | |||
@@ -1249,7 +1249,7 @@ static bool init_library() | |||
jack_drop_real_time_scheduling_fun = (jack_drop_real_time_scheduling_fun_def)dlsym(gLibrary, "jack_drop_real_time_scheduling"); | |||
jack_get_internal_client_name_fun = (jack_get_internal_client_name_fun_def)dlsym(gLibrary, "jack_get_internal_client_name"); | |||
jack_internal_client_handle_fun = (jack_internal_client_handle_fun_def)dlsym(gLibrary, "jack_internal_client_handle"); | |||
jack_internal_client_load_fun = (jack_internal_client_load_fun_def)dlsym(gLibrary, "jack_internal_client_load"); | |||
jack_internal_client_load_aux_fun = (jack_internal_client_load_aux_fun_def)dlsym(gLibrary, "jack_internal_client_load_aux"); | |||
jack_internal_client_unload_fun = (jack_internal_client_unload_fun_def)dlsym(gLibrary, "jack_internal_client_unload"); | |||
// Functions were kept... | |||