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 ??). | * Fix engine real-time notification (was broken since ??). | ||||
| * Correct jack_client_open_aux, jack_client_open and jack_client_new. | * 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> | 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, | EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | ||||
| jack_options_t options, | 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, | 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, ...); | ||||
| @@ -215,6 +215,11 @@ extern "C" | |||||
| const char *client_name, | const char *client_name, | ||||
| jack_options_t options, | jack_options_t options, | ||||
| jack_status_t *status, ...); | 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, | EXPORT jack_status_t jack_internal_client_unload (jack_client_t *client, | ||||
| jack_intclient_t intclient); | 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__ | #ifdef __CLIENTDEBUG__ | ||||
| JackLibGlobals::CheckContext(); | 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"); | jack_error("jack_internal_client_load called with a NULL client"); | ||||
| return 0; | return 0; | ||||
| } else { | } else { | ||||
| va_list ap; | |||||
| jack_varargs_t va; | jack_varargs_t va; | ||||
| jack_status_t my_status; | 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 */ | /* parse variable arguments */ | ||||
| va_start(ap, status); | |||||
| jack_varargs_parse(options, ap, &va); | jack_varargs_parse(options, ap, &va); | ||||
| va_end(ap); | |||||
| return client->InternalClientLoad(client_name, options, status, &va); | 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) | EXPORT jack_status_t jack_internal_client_unload(jack_client_t* ext_client, jack_intclient_t intclient) | ||||
| { | { | ||||
| #ifdef __CLIENTDEBUG__ | #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); | 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, ...) | 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"); | jack_log("jack_internal_client_load"); | ||||
| va_list ap; | va_list ap; | ||||
| va_start(ap, status); | 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); | va_end(ap); | ||||
| return res; | 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_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_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_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"); | jack_internal_client_unload_fun = (jack_internal_client_unload_fun_def)dlsym(gLibrary, "jack_internal_client_unload"); | ||||
| // Functions were kept... | // Functions were kept... | ||||