git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1610 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.68
| @@ -11,34 +11,38 @@ Tom Szilagyi | |||
| --------------------------- | |||
| Jackdmp changes log | |||
| --------------------------- | |||
| 2007-10-12 Stephane Letz <letz@grame.fr> | |||
| * Internal loadable client implementation, socket version added. | |||
| --------------------------- | |||
| 2007-10-16 Stephane Letz <letz@grame.fr> | |||
| * Internal loadable client implementation, winpipe version added. | |||
| 2007-10-12 Stephane Letz <letz@grame.fr> | |||
| * Internal loadable client implementation, socket version added. | |||
| * Fix JackEngine::Close() method. | |||
| 2007-10-11 Stephane Letz <letz@grame.fr> | |||
| 2007-10-11 Stephane Letz <letz@grame.fr> | |||
| * Internal loadable client implementation (in progress). | |||
| 2007-10-08 Stephane Letz <letz@grame.fr> | |||
| * Use .jackdrc file (instead of .jackdmprc). Install script now creates a link "jackd ==> jackdmp" so that automatic launch can work correctly. | |||
| * Paul Davis patch for -r (--replace-registry) feature. | |||
| * Use .jackdrc file (instead of .jackdmprc). Install script now creates a link "jackd ==> jackdmp" so that automatic launch can work correctly. | |||
| * Paul Davis patch for -r (--replace-registry) feature. | |||
| 2007-10-07 Stephane Letz <letz@grame.fr> | |||
| * Add missing timestamps.c and timestamps.h files. Correctly export public headers in OSX frameworks. Suppress JackEngine::ClientInternalCloseIm method. | |||
| * Add missing timestamps.c and timestamps.h files. Correctly export public headers in OSX frameworks. Suppress JackEngine::ClientInternalCloseIm method. | |||
| 2007-10-04 Stephane Letz <letz@grame.fr> | |||
| * Correct "jack_register_server" in shm.c. | |||
| * Correct "jack_register_server" in shm.c. | |||
| 2007-10-04 Stephane Letz <letz@grame.fr> | |||
| * Fix a resource leak issue in JackCoreAudioDriver::Close(). Better implement "jack_client_open" when linking a client with the server library. | |||
| * Fix a resource leak issue in JackCoreAudioDriver::Close(). Better implement "jack_client_open" when linking a client with the server library. | |||
| 2007-10-03 Stephane Letz <letz@grame.fr> | |||
| * Rename server_name from "default" to "jackdmp_default" to avoid conflict with regular jackd server. | |||
| @@ -251,7 +251,41 @@ void JackWinNamedPipeClientChannel::SetTimebaseCallback(int refnum, int conditio | |||
| JackSetTimebaseCallbackRequest req(refnum, conditional); | |||
| JackResult res; | |||
| ServerSyncCall(&req, &res, result); | |||
| } | |||
| } | |||
| void JackWinNamedPipeClientChannel::GetInternalClientName(int refnum, int int_ref, char* name_res, int* result) | |||
| { | |||
| JackGetInternalClientNameRequest req(refnum, int_ref); | |||
| JackGetInternalClientNameResult res; | |||
| ServerSyncCall(&req, &res, result); | |||
| strcpy(name_res, res.fName); | |||
| } | |||
| void JackWinNamedPipeClientChannel::InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result) | |||
| { | |||
| JackInternalClientHandleRequest req(refnum, client_name); | |||
| JackInternalClientHandleResult res; | |||
| ServerSyncCall(&req, &res, result); | |||
| *int_ref = res.fIntRefNum; | |||
| *status = res.fStatus; | |||
| } | |||
| void JackWinNamedPipeClientChannel::InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result) | |||
| { | |||
| JackInternalClientLoadRequest req(refnum, client_name, so_name, objet_data, options); | |||
| JackInternalClientLoadResult res; | |||
| ServerSyncCall(&req, &res, result); | |||
| *int_ref = res.fIntRefNum; | |||
| *status = res.fStatus; | |||
| } | |||
| void JackWinNamedPipeClientChannel::InternalClientUnload(int refnum, int int_ref, int* status, int* result) | |||
| { | |||
| JackInternalClientUnloadRequest req(refnum, int_ref); | |||
| JackInternalClientUnloadResult res; | |||
| ServerSyncCall(&req, &res, result); | |||
| *status = res.fStatus; | |||
| } | |||
| bool JackWinNamedPipeClientChannel::Init() | |||
| { | |||
| @@ -78,8 +78,13 @@ class JackWinNamedPipeClientChannel : public JackClientChannelInterface, public | |||
| void SetFreewheel(int onoff, int* result); | |||
| void ReleaseTimebase(int refnum, int* result); | |||
| void SetTimebaseCallback(int refnum, int conditional, int* result); | |||
| void SetTimebaseCallback(int refnum, int conditional, int* result); | |||
| void GetInternalClientName(int refnum, int int_ref, char* name_res, int* result); | |||
| void InternalClientHandle(int refnum, const char* client_name, int* status, int* int_ref, int* result); | |||
| virtual void InternalClientLoad(int refnum, const char* client_name, const char* so_name, const char* objet_data, int options, int* status, int* int_ref, int* result); | |||
| virtual void InternalClientUnload(int refnum, int int_ref, int* status, int* result); | |||
| // JackRunnableInterface interface | |||
| bool Init(); | |||
| bool Execute(); | |||
| @@ -257,6 +257,46 @@ int JackClientPipeThread::HandleRequest() | |||
| res.fResult = fServer->GetEngine()->SetTimebaseCallback(req.fRefNum, req.fConditionnal); | |||
| res.Write(fPipe); | |||
| break; | |||
| } | |||
| case JackRequest::kGetInternalClientName: { | |||
| JackLog("JackRequest::kGetInternalClientName\n"); | |||
| JackGetInternalClientNameRequest req; | |||
| JackGetInternalClientNameResult res; | |||
| if (req.Read(fPipe) == 0) | |||
| res.fResult = fServer->GetEngine()->GetInternalClientName(req.fIntRefNum, res.fName); | |||
| res.Write(fPipe); | |||
| break; | |||
| } | |||
| case JackRequest::kInternalClientHandle: { | |||
| JackLog("JackRequest::kInternalClientHandle\n"); | |||
| JackInternalClientHandleRequest req; | |||
| JackInternalClientHandleResult res; | |||
| if (req.Read(fPipe) == 0) | |||
| res.fResult = fServer->GetEngine()->InternalClientHandle(req.fName, &res.fStatus, &res.fIntRefNum); | |||
| res.Write(fPipe); | |||
| break; | |||
| } | |||
| case JackRequest::kInternalClientLoad: { | |||
| JackLog("JackRequest::kInternalClientLoad\n"); | |||
| JackInternalClientLoadRequest req; | |||
| JackInternalClientLoadResult res; | |||
| if (req.Read(fPipe) == 0) | |||
| res.fResult = fServer->InternalClientLoad(req.fName, req.fDllName, req.fLoadInitName, req.fOptions, &res.fIntRefNum, &res.fStatus); | |||
| res.Write(fPipe); | |||
| break; | |||
| } | |||
| case JackRequest::kInternalClientUnload: { | |||
| JackLog("JackRequest::kInternalClientUnload\n"); | |||
| JackInternalClientUnloadRequest req; | |||
| JackInternalClientUnloadResult res; | |||
| if (req.Read(fPipe) == 0) | |||
| res.fResult = fServer->GetEngine()->InternalClientUnload(req.fIntRefNum, &res.fStatus); | |||
| res.Write(fPipe); | |||
| break; | |||
| } | |||
| case JackRequest::kNotification: { | |||