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... | |||