Browse Source

Activate now connect to FW driver and start the realtime thread only if clients are actually realtime, that is have setup any of the RT callback.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2279 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
7b5eafc311
29 changed files with 176 additions and 100 deletions
  1. +5
    -1
      ChangeLog
  2. +1
    -1
      common/JackChannel.h
  3. +15
    -23
      common/JackClient.cpp
  4. +2
    -2
      common/JackConstants.h
  5. +5
    -4
      common/JackEngine.cpp
  6. +1
    -1
      common/JackEngine.h
  7. +2
    -2
      common/JackInternalClientChannel.h
  8. +0
    -9
      common/JackLibClient.cpp
  9. +2
    -2
      common/JackLockedEngine.h
  10. +2
    -1
      common/JackNotification.h
  11. +6
    -3
      common/JackRequest.h
  12. +2
    -2
      common/JackSocketClientChannel.cpp
  13. +1
    -1
      common/JackSocketClientChannel.h
  14. +1
    -1
      common/JackSocketServerChannel.cpp
  15. +13
    -10
      common/JackTransportEngine.cpp
  16. +2
    -2
      macosx/JackMacEngineRPC.cpp
  17. +2
    -2
      macosx/JackMachClientChannel.cpp
  18. +1
    -1
      macosx/JackMachClientChannel.h
  19. +12
    -12
      macosx/Jackdmp.xcodeproj/project.pbxproj
  20. +2
    -2
      macosx/RPC/JackRPCClientServer.c
  21. +2
    -2
      macosx/RPC/JackRPCClientUser.c
  22. +1
    -0
      macosx/RPC/JackRPCEngine.defs
  23. +2
    -0
      macosx/RPC/JackRPCEngine.h
  24. +82
    -7
      macosx/RPC/JackRPCEngineServer.c
  25. +6
    -2
      macosx/RPC/JackRPCEngineUser.c
  26. +2
    -3
      tests/jdelay.cpp
  27. +2
    -2
      windows/JackWinNamedPipeClientChannel.cpp
  28. +1
    -1
      windows/JackWinNamedPipeClientChannel.h
  29. +1
    -1
      windows/JackWinNamedPipeServerChannel.cpp

+ 5
- 1
ChangeLog View File

@@ -20,7 +20,11 @@ Fernando Lopez-Lezcano
Jackdmp changes log Jackdmp changes log
--------------------------- ---------------------------


2008-05-13 Stephane Letz <letz@grame.fr>
2008-05-16 Stephane Letz <letz@grame.fr>

* Activate now connect to FW driver and start the realtime thread only if clients are actually realtime, that is have setup any of the RT callback.

2008-05-14 Stephane Letz <letz@grame.fr>


* Fix JackEngine::Close to only delete "loadable" clients. * Fix JackEngine::Close to only delete "loadable" clients.




+ 1
- 1
common/JackChannel.h View File

@@ -80,7 +80,7 @@ class JackClientChannelInterface
virtual void ClientClose(int refnum, int* result) virtual void ClientClose(int refnum, int* result)
{} {}


virtual void ClientActivate(int refnum, int* result)
virtual void ClientActivate(int refnum, int state, int* result)
{} {}
virtual void ClientDeactivate(int refnum, int* result) virtual void ClientDeactivate(int refnum, int* result)
{} {}


+ 15
- 23
common/JackClient.cpp View File

@@ -35,6 +35,8 @@ using namespace std;
namespace Jack namespace Jack
{ {


#define IsRealTime() ((fProcess != NULL) | (fThreadFun != NULL) | (fSync != NULL) | (fTimebase != NULL))
JackClient::JackClient() JackClient::JackClient()
{} {}


@@ -52,7 +54,9 @@ JackClient::JackClient(JackSynchro** table)
fFreewheel = NULL; fFreewheel = NULL;
fPortRegistration = NULL; fPortRegistration = NULL;
fPortConnect = NULL; fPortConnect = NULL;
fTimebase = NULL;
fSync = NULL; fSync = NULL;
fThreadFun = NULL;
fProcessArg = NULL; fProcessArg = NULL;
fGraphOrderArg = NULL; fGraphOrderArg = NULL;
fXrunArg = NULL; fXrunArg = NULL;
@@ -64,7 +68,7 @@ JackClient::JackClient(JackSynchro** table)
fPortRegistrationArg = NULL; fPortRegistrationArg = NULL;
fPortConnectArg = NULL; fPortConnectArg = NULL;
fSyncArg = NULL; fSyncArg = NULL;
fThreadFun = NULL;
fTimebaseArg = NULL;
fThreadFunArg = NULL; fThreadFunArg = NULL;
} }


@@ -232,25 +236,17 @@ int JackClient::ClientNotify(int refnum, const char* name, int notify, int sync,
\brief We need to start thread before activating in the server, otherwise the FW driver \brief We need to start thread before activating in the server, otherwise the FW driver
connected to the client may not be activated. connected to the client may not be activated.
*/ */

int JackClient::Activate() int JackClient::Activate()
{ {
jack_log("JackClient::Activate"); jack_log("JackClient::Activate");
if (IsActive()) if (IsActive())
return 0; return 0;


/* TODO : solve WIN32 thread Kill issue
#ifdef WIN32
// Done first so that the RT thread then access an allocated synchro
if (!fSynchroTable[GetClientControl()->fRefNum]->Connect(GetClientControl()->fName)) {
jack_error("Cannot ConnectSemaphore %s client", GetClientControl()->fName);
// RT thread is started only when needed...
if (IsRealTime()) {
if (StartThread() < 0)
return -1; return -1;
}
#endif
*/

if (StartThread() < 0)
return -1;
}
/* /*
Insertion of client in the graph will cause a kGraphOrderCallback notification Insertion of client in the graph will cause a kGraphOrderCallback notification
@@ -263,7 +259,8 @@ int JackClient::Activate()
GetClientControl()->fTransportTimebase = true; GetClientControl()->fTransportTimebase = true;


int result = -1; int result = -1;
fChannel->ClientActivate(GetClientControl()->fRefNum, &result);
GetClientControl()->fCallback[kRealTimeCallback] = IsRealTime();
fChannel->ClientActivate(GetClientControl()->fRefNum, IsRealTime(), &result);
return result; return result;
} }


@@ -288,15 +285,10 @@ int JackClient::Deactivate()
jack_log("JackClient::Deactivate res = %ld ", result); jack_log("JackClient::Deactivate res = %ld ", result);
// We need to wait for the new engine cycle before stopping the RT thread, but this is done by ClientDeactivate // We need to wait for the new engine cycle before stopping the RT thread, but this is done by ClientDeactivate


/* TODO : solve WIN32 thread Kill issue
#ifdef WIN32
fSynchroTable[GetClientControl()->fRefNum]->Disconnect();
fThread->Stop();
#else
fThread->Kill();
#endif
*/
fThread->Kill();
// RT thread is stopped only when needed...
if (IsRealTime()) {
fThread->Kill();
}
return result; return result;
} }




+ 2
- 2
common/JackConstants.h View File

@@ -67,9 +67,9 @@ namespace Jack
#define ALL_CLIENTS -1 // for notification #define ALL_CLIENTS -1 // for notification


#if defined(__ppc64__) || defined(__x86_64__) #if defined(__ppc64__) || defined(__x86_64__)
#define JACK_PROTOCOL_VERSION 4
#define JACK_PROTOCOL_VERSION 5
#else #else
#define JACK_PROTOCOL_VERSION 3
#define JACK_PROTOCOL_VERSION 4
#endif #endif


#define SOCKET_TIME_OUT 5 // in sec #define SOCKET_TIME_OUT 5 // in sec


+ 5
- 4
common/JackEngine.cpp View File

@@ -596,14 +596,15 @@ int JackEngine::ClientCloseAux(int refnum, JackClientInterface* client, bool wai
return 0; return 0;
} }


int JackEngine::ClientActivate(int refnum)
int JackEngine::ClientActivate(int refnum, bool state)
{ {
JackClientInterface* client = fClientTable[refnum]; JackClientInterface* client = fClientTable[refnum];
assert(fClientTable[refnum]); assert(fClientTable[refnum]);
jack_log("JackEngine::ClientActivate ref = %ld name = %s", refnum, client->GetClientControl()->fName); jack_log("JackEngine::ClientActivate ref = %ld name = %s", refnum, client->GetClientControl()->fName);
fGraphManager->Activate(refnum);

if (state)
fGraphManager->Activate(refnum);
// Wait for graph state change to be effective // Wait for graph state change to be effective
if (!fSignal->TimedWait(fEngineControl->fTimeOutUsecs * 10)) { if (!fSignal->TimedWait(fEngineControl->fTimeOutUsecs * 10)) {
jack_error("JackEngine::ClientActivate wait error ref = %ld name = %s", refnum, client->GetClientControl()->fName); jack_error("JackEngine::ClientActivate wait error ref = %ld name = %s", refnum, client->GetClientControl()->fName);


+ 1
- 1
common/JackEngine.h View File

@@ -86,7 +86,7 @@ class JackEngine
virtual int ClientExternalClose(int refnum); virtual int ClientExternalClose(int refnum);
virtual int ClientInternalClose(int refnum, bool wait); virtual int ClientInternalClose(int refnum, bool wait);


virtual int ClientActivate(int refnum);
virtual int ClientActivate(int refnum, bool state);
virtual int ClientDeactivate(int refnum); virtual int ClientDeactivate(int refnum);


// Internal client management // Internal client management


+ 2
- 2
common/JackInternalClientChannel.h View File

@@ -63,9 +63,9 @@ class JackInternalClientChannel : public JackClientChannelInterface
*result = fEngine->ClientInternalClose(refnum, true); *result = fEngine->ClientInternalClose(refnum, true);
} }


void ClientActivate(int refnum, int* result)
void ClientActivate(int refnum, int state, int* result)
{ {
*result = fEngine->ClientActivate(refnum);
*result = fEngine->ClientActivate(refnum, state);
} }
void ClientDeactivate(int refnum, int* result) void ClientDeactivate(int refnum, int* result)
{ {


+ 0
- 9
common/JackLibClient.cpp View File

@@ -107,15 +107,6 @@ int JackLibClient::Open(const char* server_name, const char* name, jack_options_


SetupDriverSync(false); SetupDriverSync(false);


/* TODO : solve WIN32 thread Kill issue
#ifndef WIN32
// Connect shared synchro : the synchro must be usable in I/O mode when several clients live in the same process
if (!fSynchroTable[fClientControl->fRefNum]->Connect(name)) {
jack_error("Cannot ConnectSemaphore %s client", name);
goto error;
}
#endif
*/
// Connect shared synchro : the synchro must be usable in I/O mode when several clients live in the same process // Connect shared synchro : the synchro must be usable in I/O mode when several clients live in the same process
if (!fSynchroTable[GetClientControl()->fRefNum]->Connect(name_res, fServerName)) { if (!fSynchroTable[GetClientControl()->fRefNum]->Connect(name_res, fServerName)) {
jack_error("Cannot ConnectSemaphore %s client", name_res); jack_error("Cannot ConnectSemaphore %s client", name_res);


+ 2
- 2
common/JackLockedEngine.h View File

@@ -84,10 +84,10 @@ class JackLockedEngine : public JackEngine, public JackLockAble
return fEngine->ClientInternalClose(refnum, wait); return fEngine->ClientInternalClose(refnum, wait);
} }


int ClientActivate(int refnum)
int ClientActivate(int refnum, bool state)
{ {
JackLock lock(this); JackLock lock(this);
return fEngine->ClientActivate(refnum);
return fEngine->ClientActivate(refnum, state);
} }
int ClientDeactivate(int refnum) int ClientDeactivate(int refnum)
{ {


+ 2
- 1
common/JackNotification.h View File

@@ -35,7 +35,8 @@ enum NotificationType {
kPortRegistrationOffCallback = 9, kPortRegistrationOffCallback = 9,
kPortConnectCallback = 10, kPortConnectCallback = 10,
kPortDisconnectCallback = 11, kPortDisconnectCallback = 11,
kDeadClient = 12,
kRealTimeCallback = 12,
kDeadClient = 13,
kMaxNotification kMaxNotification
}; };




+ 6
- 3
common/JackRequest.h View File

@@ -287,21 +287,24 @@ struct JackActivateRequest : public JackRequest
{ {


int fRefNum; int fRefNum;
int fState;


JackActivateRequest() JackActivateRequest()
{} {}
JackActivateRequest(int refnum): JackRequest(JackRequest::kActivateClient), fRefNum(refnum)
JackActivateRequest(int refnum, int state): JackRequest(JackRequest::kActivateClient), fRefNum(refnum), fState(state)
{} {}


int Read(JackChannelTransaction* trans) int Read(JackChannelTransaction* trans)
{ {
return trans->Read(&fRefNum, sizeof(int));
CheckRes(trans->Read(&fRefNum, sizeof(int)));
return trans->Read(&fState, sizeof(int));
} }


int Write(JackChannelTransaction* trans) int Write(JackChannelTransaction* trans)
{ {
CheckRes(JackRequest::Write(trans)); CheckRes(JackRequest::Write(trans));
return trans->Write(&fRefNum, sizeof(int));
CheckRes(trans->Write(&fRefNum, sizeof(int)));
return trans->Write(&fState, sizeof(int));
} }


}; };


+ 2
- 2
common/JackSocketClientChannel.cpp View File

@@ -165,9 +165,9 @@ void JackSocketClientChannel::ClientClose(int refnum, int* result)
ServerSyncCall(&req, &res, result); ServerSyncCall(&req, &res, result);
} }


void JackSocketClientChannel::ClientActivate(int refnum, int* result)
void JackSocketClientChannel::ClientActivate(int refnum, int state, int* result)
{ {
JackActivateRequest req(refnum);
JackActivateRequest req(refnum, state);
JackResult res; JackResult res;
ServerSyncCall(&req, &res, result); ServerSyncCall(&req, &res, result);
} }


+ 1
- 1
common/JackSocketClientChannel.h View File

@@ -63,7 +63,7 @@ class JackSocketClientChannel : public JackClientChannelInterface, public JackRu
void ClientOpen(const char* name, int* shared_engine, int* shared_client, int* shared_graph, int* result); void ClientOpen(const char* name, int* shared_engine, int* shared_client, int* shared_graph, int* result);
void ClientClose(int refnum, int* result); void ClientClose(int refnum, int* result);


void ClientActivate(int refnum, int* result);
void ClientActivate(int refnum, int state, int* result);
void ClientDeactivate(int refnum, int* result); void ClientDeactivate(int refnum, int* result);


void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result); void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result);


+ 1
- 1
common/JackSocketServerChannel.cpp View File

@@ -190,7 +190,7 @@ int JackSocketServerChannel::HandleRequest(int fd)
JackResult res; JackResult res;
jack_log("JackRequest::ActivateClient"); jack_log("JackRequest::ActivateClient");
if (req.Read(socket) == 0) if (req.Read(socket) == 0)
res.fResult = fServer->GetEngine()->ClientActivate(req.fRefNum);
res.fResult = fServer->GetEngine()->ClientActivate(req.fRefNum, ref.fState);
if (res.Write(socket) < 0) if (res.Write(socket) < 0)
jack_error("JackRequest::ActivateClient write error ref = %d", req.fRefNum); jack_error("JackRequest::ActivateClient write error ref = %d", req.fRefNum);
break; break;


+ 13
- 10
common/JackTransportEngine.cpp View File

@@ -101,10 +101,11 @@ void JackTransportEngine::MakeAllStartingLocating(JackClientInterface** table)
for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) { for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) {
JackClientInterface* client = table[i]; JackClientInterface* client = table[i];
if (client) { if (client) {
// Inactive clients don't have their process function called at all, so they must appear as already "rolling" for the transport....
client->GetClientControl()->fTransportState = (client->GetClientControl()->fActive) ? JackTransportStarting : JackTransportRolling;
client->GetClientControl()->fTransportSync = true;
client->GetClientControl()->fTransportTimebase = true;
JackClientControl* control = client->GetClientControl();
// Inactive clients don't have their process function called at all, so they must appear as already "rolling" for the transport....
control->fTransportState = (control->fActive && control->fCallback[kRealTimeCallback]) ? JackTransportStarting : JackTransportRolling;
control->fTransportSync = true;
control->fTransportTimebase = true;
jack_log("MakeAllStartingLocating ref = %ld", i); jack_log("MakeAllStartingLocating ref = %ld", i);
} }
} }
@@ -116,9 +117,10 @@ void JackTransportEngine::MakeAllStopping(JackClientInterface** table)
for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) { for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) {
JackClientInterface* client = table[i]; JackClientInterface* client = table[i];
if (client) { if (client) {
client->GetClientControl()->fTransportState = JackTransportStopped;
client->GetClientControl()->fTransportSync = false;
client->GetClientControl()->fTransportTimebase = false;
JackClientControl* control = client->GetClientControl();
control->fTransportState = JackTransportStopped;
control->fTransportSync = false;
control->fTransportTimebase = false;
jack_log("MakeAllStopping ref = %ld", i); jack_log("MakeAllStopping ref = %ld", i);
} }
} }
@@ -130,8 +132,9 @@ void JackTransportEngine::MakeAllLocating(JackClientInterface** table)
for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) { for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) {
JackClientInterface* client = table[i]; JackClientInterface* client = table[i];
if (client) { if (client) {
client->GetClientControl()->fTransportState = JackTransportStopped;
client->GetClientControl()->fTransportTimebase = true;
JackClientControl* control = client->GetClientControl();
control->fTransportState = JackTransportStopped;
control->fTransportTimebase = true;
jack_log("MakeAllLocating ref = %ld", i); jack_log("MakeAllLocating ref = %ld", i);
} }
} }
@@ -155,7 +158,7 @@ void JackTransportEngine::CycleEnd(JackClientInterface** table, jack_nframes_t f
transport_command_t cmd = fTransportCmd; transport_command_t cmd = fTransportCmd;
if (cmd != fPreviousCmd) { if (cmd != fPreviousCmd) {
fPreviousCmd = cmd; fPreviousCmd = cmd;
jack_log("transport command: %s", (cmd == TransportCommandStart ? "START" : "STOP"));
jack_log("transport command: %s", (cmd == TransportCommandStart ? "Transport start" : "Transport stop"));
} else { } else {
cmd = TransportCommandNone; cmd = TransportCommandNone;
} }


+ 2
- 2
macosx/JackMacEngineRPC.cpp View File

@@ -59,12 +59,12 @@ rpc_type server_rpc_jack_client_close(mach_port_t private_port, int refnum, int*
return KERN_SUCCESS; return KERN_SUCCESS;
} }


rpc_type server_rpc_jack_client_activate(mach_port_t private_port, int refnum, int* result)
rpc_type server_rpc_jack_client_activate(mach_port_t private_port, int refnum, int state, int* result)
{ {
jack_log("rpc_jack_client_activate"); jack_log("rpc_jack_client_activate");
JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port]; JackMachServerChannel* channel = JackMachServerChannel::fPortTable[private_port];
assert(channel); assert(channel);
*result = channel->GetEngine()->ClientActivate(refnum);
*result = channel->GetEngine()->ClientActivate(refnum, state);
return KERN_SUCCESS; return KERN_SUCCESS;
} }




+ 2
- 2
macosx/JackMachClientChannel.cpp View File

@@ -152,9 +152,9 @@ void JackMachClientChannel::ClientClose(int refnum, int* result)
} }
} }


void JackMachClientChannel::ClientActivate(int refnum, int* result)
void JackMachClientChannel::ClientActivate(int refnum, int state, int* result)
{ {
kern_return_t res = rpc_jack_client_activate(fPrivatePort, refnum, result);
kern_return_t res = rpc_jack_client_activate(fPrivatePort, refnum, state, result);
if (res != KERN_SUCCESS) { if (res != KERN_SUCCESS) {
*result = -1; *result = -1;
jack_error("JackMachClientChannel::ClientActivate err = %s", mach_error_string(res)); jack_error("JackMachClientChannel::ClientActivate err = %s", mach_error_string(res));


+ 1
- 1
macosx/JackMachClientChannel.h View File

@@ -60,7 +60,7 @@ class JackMachClientChannel : public JackClientChannelInterface, public JackRunn
void ClientOpen(const char* name, int* shared_engine, int* shared_client, int* shared_graph, int* result); void ClientOpen(const char* name, int* shared_engine, int* shared_client, int* shared_graph, int* result);
void ClientClose(int refnum, int* result); void ClientClose(int refnum, int* result);


void ClientActivate(int refnum, int* result);
void ClientActivate(int refnum, int state, int* result);
void ClientDeactivate(int refnum, int* result); void ClientDeactivate(int refnum, int* result);


void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result); void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result);


+ 12
- 12
macosx/Jackdmp.xcodeproj/project.pbxproj View File

@@ -1000,7 +1000,7 @@
4B2C28F908DAD01E00249230 /* JackGlobals.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackGlobals.cpp; path = ../common/JackGlobals.cpp; sourceTree = SOURCE_ROOT; }; 4B2C28F908DAD01E00249230 /* JackGlobals.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackGlobals.cpp; path = ../common/JackGlobals.cpp; sourceTree = SOURCE_ROOT; };
4B35C4250D4731D1000DE7AE /* jackdmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jackdmp; sourceTree = BUILT_PRODUCTS_DIR; }; 4B35C4250D4731D1000DE7AE /* jackdmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jackdmp; sourceTree = BUILT_PRODUCTS_DIR; };
4B35C4830D4731D1000DE7AE /* Jackmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackmp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4B35C4830D4731D1000DE7AE /* Jackmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackmp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B35C4FC0D4731D1000DE7AE /* Jackdmp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackdmp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B35C4FC0D4731D1000DE7AE /* Jackservermp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackservermp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B35C5080D4731D1000DE7AE /* Jackwrapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackwrapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4B35C5080D4731D1000DE7AE /* Jackwrapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Jackwrapper.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4B35C5140D4731D1000DE7AE /* jack_midiseq */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_midiseq; sourceTree = BUILT_PRODUCTS_DIR; }; 4B35C5140D4731D1000DE7AE /* jack_midiseq */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_midiseq; sourceTree = BUILT_PRODUCTS_DIR; };
4B35C5200D4731D1000DE7AE /* jack_midisine */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_midisine; sourceTree = BUILT_PRODUCTS_DIR; }; 4B35C5200D4731D1000DE7AE /* jack_midisine */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_midisine; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -1034,10 +1034,10 @@
4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacEngineRPC.cpp; sourceTree = SOURCE_ROOT; }; 4B4259E5076B635E00C1ECE1 /* JackMacEngineRPC.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMacEngineRPC.cpp; sourceTree = SOURCE_ROOT; };
4B44FAE50C7598370033A72C /* JackServerLaunch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackServerLaunch.cpp; path = ../common/JackServerLaunch.cpp; sourceTree = SOURCE_ROOT; }; 4B44FAE50C7598370033A72C /* JackServerLaunch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackServerLaunch.cpp; path = ../common/JackServerLaunch.cpp; sourceTree = SOURCE_ROOT; };
4B464301076CAC7700E5077C /* Jack-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = "Jack-Info.plist"; sourceTree = SOURCE_ROOT; }; 4B464301076CAC7700E5077C /* Jack-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = "Jack-Info.plist"; sourceTree = SOURCE_ROOT; };
4B51752F0D8FE69300961F37 /* jack_thread_wait */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_thread_wait; sourceTree = BUILT_PRODUCTS_DIR; };
4B51752F0D8FE69300961F37 /* jack_thread_wait1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_thread_wait1; sourceTree = BUILT_PRODUCTS_DIR; };
4B56880F08B5C8620022B32D /* JackFifo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackFifo.cpp; path = ../common/JackFifo.cpp; sourceTree = SOURCE_ROOT; }; 4B56880F08B5C8620022B32D /* JackFifo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackFifo.cpp; path = ../common/JackFifo.cpp; sourceTree = SOURCE_ROOT; };
4B56881008B5C8620022B32D /* JackFifo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackFifo.h; path = ../common/JackFifo.h; sourceTree = SOURCE_ROOT; }; 4B56881008B5C8620022B32D /* JackFifo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackFifo.h; path = ../common/JackFifo.h; sourceTree = SOURCE_ROOT; };
4B57F5950D72C27900B4E719 /* jack_thread_wait */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_thread_wait; sourceTree = BUILT_PRODUCTS_DIR; };
4B57F5950D72C27900B4E719 /* jack_thread_wait1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_thread_wait1; sourceTree = BUILT_PRODUCTS_DIR; };
4B57F5BA0D72C2B000B4E719 /* tw1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tw1.c; path = "../example-clients/tw1.c"; sourceTree = SOURCE_ROOT; }; 4B57F5BA0D72C2B000B4E719 /* tw1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tw1.c; path = "../example-clients/tw1.c"; sourceTree = SOURCE_ROOT; };
4B5A1BBB0CD1CB9E0005BF74 /* jack_midiseq */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_midiseq; sourceTree = BUILT_PRODUCTS_DIR; }; 4B5A1BBB0CD1CB9E0005BF74 /* jack_midiseq */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_midiseq; sourceTree = BUILT_PRODUCTS_DIR; };
4B5A1BBD0CD1CC110005BF74 /* midiseq.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = midiseq.c; path = "../example-clients/midiseq.c"; sourceTree = SOURCE_ROOT; }; 4B5A1BBD0CD1CC110005BF74 /* midiseq.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = midiseq.c; path = "../example-clients/midiseq.c"; sourceTree = SOURCE_ROOT; };
@@ -1105,7 +1105,7 @@
4BA692B20CBE4C2D00EAD520 /* ipload.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ipload.c; path = "../example-clients/ipload.c"; sourceTree = SOURCE_ROOT; }; 4BA692B20CBE4C2D00EAD520 /* ipload.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ipload.c; path = "../example-clients/ipload.c"; sourceTree = SOURCE_ROOT; };
4BA692D40CBE4C9000EAD520 /* jack_unload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_unload; sourceTree = BUILT_PRODUCTS_DIR; }; 4BA692D40CBE4C9000EAD520 /* jack_unload */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_unload; sourceTree = BUILT_PRODUCTS_DIR; };
4BA692D60CBE4CC600EAD520 /* ipunload.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ipunload.c; path = "../example-clients/ipunload.c"; sourceTree = SOURCE_ROOT; }; 4BA692D60CBE4CC600EAD520 /* ipunload.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ipunload.c; path = "../example-clients/ipunload.c"; sourceTree = SOURCE_ROOT; };
4BA7FEC30D8E76270017FF73 /* jack_lsp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_lsp; sourceTree = BUILT_PRODUCTS_DIR; };
4BA7FEC30D8E76270017FF73 /* jack_server_control */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_server_control; sourceTree = BUILT_PRODUCTS_DIR; };
4BA7FEC80D8E76650017FF73 /* control.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = control.c; path = "../example-clients/control.c"; sourceTree = SOURCE_ROOT; }; 4BA7FEC80D8E76650017FF73 /* control.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = control.c; path = "../example-clients/control.c"; sourceTree = SOURCE_ROOT; };
4BAB95B60B9E20B800A0C723 /* JackPortType.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackPortType.cpp; path = ../common/JackPortType.cpp; sourceTree = SOURCE_ROOT; }; 4BAB95B60B9E20B800A0C723 /* JackPortType.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackPortType.cpp; path = ../common/JackPortType.cpp; sourceTree = SOURCE_ROOT; };
4BAB95B70B9E20B800A0C723 /* JackPortType.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackPortType.h; path = ../common/JackPortType.h; sourceTree = SOURCE_ROOT; }; 4BAB95B70B9E20B800A0C723 /* JackPortType.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackPortType.h; path = ../common/JackPortType.h; sourceTree = SOURCE_ROOT; };
@@ -1723,7 +1723,7 @@
4B5A1BDA0CD1CCE10005BF74 /* jack_midisine */, 4B5A1BDA0CD1CCE10005BF74 /* jack_midisine */,
4B35C4250D4731D1000DE7AE /* jackdmp */, 4B35C4250D4731D1000DE7AE /* jackdmp */,
4B35C4830D4731D1000DE7AE /* Jackmp.framework */, 4B35C4830D4731D1000DE7AE /* Jackmp.framework */,
4B35C4FC0D4731D1000DE7AE /* Jackdmp.framework */,
4B35C4FC0D4731D1000DE7AE /* Jackservermp.framework */,
4B35C5080D4731D1000DE7AE /* Jackwrapper.framework */, 4B35C5080D4731D1000DE7AE /* Jackwrapper.framework */,
4B35C5140D4731D1000DE7AE /* jack_midiseq */, 4B35C5140D4731D1000DE7AE /* jack_midiseq */,
4B35C5200D4731D1000DE7AE /* jack_midisine */, 4B35C5200D4731D1000DE7AE /* jack_midisine */,
@@ -1752,9 +1752,9 @@
4B0A292D0D52108E002EFF74 /* jack_thread_wait */, 4B0A292D0D52108E002EFF74 /* jack_thread_wait */,
4B0A296D0D5231DC002EFF74 /* jack_mp_thread_wait */, 4B0A296D0D5231DC002EFF74 /* jack_mp_thread_wait */,
4B0A2A650D524AB2002EFF74 /* jack_mp_thread_wait */, 4B0A2A650D524AB2002EFF74 /* jack_mp_thread_wait */,
4B57F5950D72C27900B4E719 /* jack_thread_wait */,
4BA7FEC30D8E76270017FF73 /* jack_lsp */,
4B51752F0D8FE69300961F37 /* jack_thread_wait */,
4B57F5950D72C27900B4E719 /* jack_thread_wait1 */,
4BA7FEC30D8E76270017FF73 /* jack_server_control */,
4B51752F0D8FE69300961F37 /* jack_thread_wait1 */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -2875,7 +2875,7 @@
); );
name = "Jackservermp.framework 64 bits"; name = "Jackservermp.framework 64 bits";
productName = Jack; productName = Jack;
productReference = 4B35C4FC0D4731D1000DE7AE /* Jackdmp.framework */;
productReference = 4B35C4FC0D4731D1000DE7AE /* Jackservermp.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
4B35C4FE0D4731D1000DE7AE /* Jackwrapper.framework 64 bits */ = { 4B35C4FE0D4731D1000DE7AE /* Jackwrapper.framework 64 bits */ = {
@@ -3342,7 +3342,7 @@
name = "jack_thread_wait1 64 bits"; name = "jack_thread_wait1 64 bits";
productInstallPath = /usr/local/bin; productInstallPath = /usr/local/bin;
productName = testSem; productName = testSem;
productReference = 4B51752F0D8FE69300961F37 /* jack_thread_wait */;
productReference = 4B51752F0D8FE69300961F37 /* jack_thread_wait1 */;
productType = "com.apple.product-type.tool"; productType = "com.apple.product-type.tool";
}; };
4B57F58B0D72C27900B4E719 /* jack_thread_wait1 */ = { 4B57F58B0D72C27900B4E719 /* jack_thread_wait1 */ = {
@@ -3361,7 +3361,7 @@
name = jack_thread_wait1; name = jack_thread_wait1;
productInstallPath = /usr/local/bin; productInstallPath = /usr/local/bin;
productName = testSem; productName = testSem;
productReference = 4B57F5950D72C27900B4E719 /* jack_thread_wait */;
productReference = 4B57F5950D72C27900B4E719 /* jack_thread_wait1 */;
productType = "com.apple.product-type.tool"; productType = "com.apple.product-type.tool";
}; };
4B5A1BB10CD1CB9E0005BF74 /* jack_midiseq Universal */ = { 4B5A1BB10CD1CB9E0005BF74 /* jack_midiseq Universal */ = {
@@ -3793,7 +3793,7 @@
name = "jack_server_control Universal"; name = "jack_server_control Universal";
productInstallPath = /usr/local/bin; productInstallPath = /usr/local/bin;
productName = jack_lsp; productName = jack_lsp;
productReference = 4BA7FEC30D8E76270017FF73 /* jack_lsp */;
productReference = 4BA7FEC30D8E76270017FF73 /* jack_server_control */;
productType = "com.apple.product-type.tool"; productType = "com.apple.product-type.tool";
}; };
4BD623ED0CBCF0F000DE782F /* inprocess */ = { 4BD623ED0CBCF0F000DE782F /* inprocess */ = {


+ 2
- 2
macosx/RPC/JackRPCClientServer.c View File

@@ -1,7 +1,7 @@
/* /*
* IDENTIFICATION: * IDENTIFICATION:
* stub generated Mon Jan 28 15:04:07 2008
* with a MiG generated Sun Sep 23 15:44:06 PDT 2007 by root@hoosier.apple.com
* stub generated Fri May 16 09:21:55 2008
* with a MiG generated Tue Feb 19 02:01:43 PST 2008 by root@b75.local
* OPTIONS: * OPTIONS:
*/ */




+ 2
- 2
macosx/RPC/JackRPCClientUser.c View File

@@ -1,7 +1,7 @@
/* /*
* IDENTIFICATION: * IDENTIFICATION:
* stub generated Mon Jan 28 15:04:07 2008
* with a MiG generated Sun Sep 23 15:44:06 PDT 2007 by root@hoosier.apple.com
* stub generated Fri May 16 09:21:55 2008
* with a MiG generated Tue Feb 19 02:01:43 PST 2008 by root@b75.local
* OPTIONS: * OPTIONS:
*/ */
#define __MIG_check__Reply__JackRPCClient_subsystem__ 1 #define __MIG_check__Reply__JackRPCClient_subsystem__ 1


+ 1
- 0
macosx/RPC/JackRPCEngine.defs View File

@@ -57,6 +57,7 @@ routine rpc_jack_client_close(
routine rpc_jack_client_activate( routine rpc_jack_client_activate(
server_port : mach_port_t; server_port : mach_port_t;
refnum : int; refnum : int;
state : int;
out result : int); out result : int);


routine rpc_jack_client_deactivate( routine rpc_jack_client_deactivate(


+ 2
- 0
macosx/RPC/JackRPCEngine.h View File

@@ -100,6 +100,7 @@ kern_return_t rpc_jack_client_activate
( (
mach_port_t server_port, mach_port_t server_port,
int refnum, int refnum,
int state,
int *result int *result
); );


@@ -404,6 +405,7 @@ __END_DECLS
mach_msg_header_t Head; mach_msg_header_t Head;
NDR_record_t NDR; NDR_record_t NDR;
int refnum; int refnum;
int state;
} __Request__rpc_jack_client_activate_t; } __Request__rpc_jack_client_activate_t;
#ifdef __MigPackStructs #ifdef __MigPackStructs
#pragma pack() #pragma pack()


+ 82
- 7
macosx/RPC/JackRPCEngineServer.c View File

@@ -1,7 +1,7 @@
/* /*
* IDENTIFICATION: * IDENTIFICATION:
* stub generated Mon Jan 28 15:04:07 2008
* with a MiG generated Sun Sep 23 15:44:06 PDT 2007 by root@hoosier.apple.com
* stub generated Fri May 16 09:21:56 2008
* with a MiG generated Tue Feb 19 02:01:43 PST 2008 by root@b75.local
* OPTIONS: * OPTIONS:
*/ */


@@ -149,6 +149,7 @@
mach_msg_header_t Head; mach_msg_header_t Head;
NDR_record_t NDR; NDR_record_t NDR;
int refnum; int refnum;
int state;
} __Request__rpc_jack_client_activate_t; } __Request__rpc_jack_client_activate_t;
#ifdef __MigPackStructs #ifdef __MigPackStructs
#pragma pack() #pragma pack()
@@ -1463,6 +1464,26 @@ mig_internal novalue _Xrpc_jack_client_close
#endif /* defined(__NDR_convert__*__defined) */ #endif /* defined(__NDR_convert__*__defined) */
#endif /* __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined */ #endif /* __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined */


#ifndef __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined
#if defined(__NDR_convert__int_rep__JackRPCEngine__int__defined)
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__int_rep__JackRPCEngine__int((int *)(a), f)
#elif defined(__NDR_convert__int_rep__int__defined)
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__int_rep__int((int *)(a), f)
#elif defined(__NDR_convert__int_rep__JackRPCEngine__int32_t__defined)
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__int_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
#elif defined(__NDR_convert__int_rep__int32_t__defined)
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__int_rep__int32_t((int32_t *)(a), f)
#endif /* defined(__NDR_convert__*__defined) */
#endif /* __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined */

#ifndef __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined #ifndef __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined
#if defined(__NDR_convert__char_rep__JackRPCEngine__int__defined) #if defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined #define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined
@@ -1483,6 +1504,26 @@ mig_internal novalue _Xrpc_jack_client_close
#endif /* defined(__NDR_convert__*__defined) */ #endif /* defined(__NDR_convert__*__defined) */
#endif /* __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined */ #endif /* __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined */


#ifndef __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined
#if defined(__NDR_convert__char_rep__JackRPCEngine__int__defined)
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__char_rep__JackRPCEngine__int((int *)(a), f)
#elif defined(__NDR_convert__char_rep__int__defined)
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__char_rep__int((int *)(a), f)
#elif defined(__NDR_convert__char_rep__JackRPCEngine__int32_t__defined)
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__char_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
#elif defined(__NDR_convert__char_rep__int32_t__defined)
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__char_rep__int32_t((int32_t *)(a), f)
#endif /* defined(__NDR_convert__*__defined) */
#endif /* __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined */

#ifndef __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined #ifndef __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined
#if defined(__NDR_convert__float_rep__JackRPCEngine__int__defined) #if defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined #define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined
@@ -1503,6 +1544,26 @@ mig_internal novalue _Xrpc_jack_client_close
#endif /* defined(__NDR_convert__*__defined) */ #endif /* defined(__NDR_convert__*__defined) */
#endif /* __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined */ #endif /* __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined */


#ifndef __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined
#if defined(__NDR_convert__float_rep__JackRPCEngine__int__defined)
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__float_rep__JackRPCEngine__int((int *)(a), f)
#elif defined(__NDR_convert__float_rep__int__defined)
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__float_rep__int((int *)(a), f)
#elif defined(__NDR_convert__float_rep__JackRPCEngine__int32_t__defined)
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__float_rep__JackRPCEngine__int32_t((int32_t *)(a), f)
#elif defined(__NDR_convert__float_rep__int32_t__defined)
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined
#define __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state(a, f) \
__NDR_convert__float_rep__int32_t((int32_t *)(a), f)
#endif /* defined(__NDR_convert__*__defined) */
#endif /* __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined */



mig_internal kern_return_t __MIG_check__Request__rpc_jack_client_activate_t(__attribute__((__unused__)) __Request__rpc_jack_client_activate_t *In0P) mig_internal kern_return_t __MIG_check__Request__rpc_jack_client_activate_t(__attribute__((__unused__)) __Request__rpc_jack_client_activate_t *In0P)
{ {
@@ -1514,27 +1575,39 @@ mig_internal kern_return_t __MIG_check__Request__rpc_jack_client_activate_t(__at
return MIG_BAD_ARGUMENTS; return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */ #endif /* __MigTypeCheck */


#if defined(__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined)
#if defined(__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined) || \
defined(__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep) { if (In0P->NDR.int_rep != NDR_record.int_rep) {
#if defined(__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined) #if defined(__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined)
__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum(&In0P->refnum, In0P->NDR.int_rep); __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum(&In0P->refnum, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined */ #endif /* __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__refnum__defined */
#if defined(__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined)
__NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state(&In0P->state, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__rpc_jack_client_activate_t__state__defined */
} }
#endif /* defined(__NDR_convert__int_rep...) */ #endif /* defined(__NDR_convert__int_rep...) */


#if defined(__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined)
#if defined(__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined) || \
defined(__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined)
if (In0P->NDR.char_rep != NDR_record.char_rep) { if (In0P->NDR.char_rep != NDR_record.char_rep) {
#if defined(__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined) #if defined(__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined)
__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum(&In0P->refnum, In0P->NDR.char_rep); __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum(&In0P->refnum, In0P->NDR.char_rep);
#endif /* __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined */ #endif /* __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__refnum__defined */
#if defined(__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined)
__NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state(&In0P->state, In0P->NDR.char_rep);
#endif /* __NDR_convert__char_rep__Request__rpc_jack_client_activate_t__state__defined */
} }
#endif /* defined(__NDR_convert__char_rep...) */ #endif /* defined(__NDR_convert__char_rep...) */


#if defined(__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined)
#if defined(__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined) || \
defined(__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined)
if (In0P->NDR.float_rep != NDR_record.float_rep) { if (In0P->NDR.float_rep != NDR_record.float_rep) {
#if defined(__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined) #if defined(__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined)
__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum(&In0P->refnum, In0P->NDR.float_rep); __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum(&In0P->refnum, In0P->NDR.float_rep);
#endif /* __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined */ #endif /* __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__refnum__defined */
#if defined(__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined)
__NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state(&In0P->state, In0P->NDR.float_rep);
#endif /* __NDR_convert__float_rep__Request__rpc_jack_client_activate_t__state__defined */
} }
#endif /* defined(__NDR_convert__float_rep...) */ #endif /* defined(__NDR_convert__float_rep...) */


@@ -1555,6 +1628,7 @@ kern_return_t server_rpc_jack_client_activate
( (
mach_port_t server_port, mach_port_t server_port,
int refnum, int refnum,
int state,
int *result int *result
); );


@@ -1570,6 +1644,7 @@ mig_internal novalue _Xrpc_jack_client_activate
mach_msg_header_t Head; mach_msg_header_t Head;
NDR_record_t NDR; NDR_record_t NDR;
int refnum; int refnum;
int state;
mach_msg_trailer_t trailer; mach_msg_trailer_t trailer;
} Request; } Request;
#ifdef __MigPackStructs #ifdef __MigPackStructs
@@ -1601,7 +1676,7 @@ mig_internal novalue _Xrpc_jack_client_activate
{ MIG_RETURN_ERROR(OutP, check_result); } { MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__rpc_jack_client_activate_t__defined) */ #endif /* defined(__MIG_check__Request__rpc_jack_client_activate_t__defined) */


OutP->RetCode = server_rpc_jack_client_activate(In0P->Head.msgh_request_port, In0P->refnum, &OutP->result);
OutP->RetCode = server_rpc_jack_client_activate(In0P->Head.msgh_request_port, In0P->refnum, In0P->state, &OutP->result);
if (OutP->RetCode != KERN_SUCCESS) { if (OutP->RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, OutP->RetCode); MIG_RETURN_ERROR(OutP, OutP->RetCode);
} }
@@ -6129,7 +6204,7 @@ const struct server_JackRPCEngine_subsystem {
{ (mig_impl_routine_t) 0, { (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xrpc_jack_client_close, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__rpc_jack_client_close_t)}, (mig_stub_routine_t) _Xrpc_jack_client_close, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__rpc_jack_client_close_t)},
{ (mig_impl_routine_t) 0, { (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xrpc_jack_client_activate, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__rpc_jack_client_activate_t)},
(mig_stub_routine_t) _Xrpc_jack_client_activate, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__rpc_jack_client_activate_t)},
{ (mig_impl_routine_t) 0, { (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xrpc_jack_client_deactivate, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__rpc_jack_client_deactivate_t)}, (mig_stub_routine_t) _Xrpc_jack_client_deactivate, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__rpc_jack_client_deactivate_t)},
{ (mig_impl_routine_t) 0, { (mig_impl_routine_t) 0,


+ 6
- 2
macosx/RPC/JackRPCEngineUser.c View File

@@ -1,7 +1,7 @@
/* /*
* IDENTIFICATION: * IDENTIFICATION:
* stub generated Mon Jan 28 15:04:07 2008
* with a MiG generated Sun Sep 23 15:44:06 PDT 2007 by root@hoosier.apple.com
* stub generated Fri May 16 09:21:56 2008
* with a MiG generated Tue Feb 19 02:01:43 PST 2008 by root@b75.local
* OPTIONS: * OPTIONS:
*/ */
#define __MIG_check__Reply__JackRPCEngine_subsystem__ 1 #define __MIG_check__Reply__JackRPCEngine_subsystem__ 1
@@ -1425,6 +1425,7 @@ mig_external kern_return_t rpc_jack_client_activate
( (
mach_port_t server_port, mach_port_t server_port,
int refnum, int refnum,
int state,
int *result int *result
) )
{ {
@@ -1436,6 +1437,7 @@ mig_external kern_return_t rpc_jack_client_activate
mach_msg_header_t Head; mach_msg_header_t Head;
NDR_record_t NDR; NDR_record_t NDR;
int refnum; int refnum;
int state;
} Request; } Request;
#ifdef __MigPackStructs #ifdef __MigPackStructs
#pragma pack() #pragma pack()
@@ -1495,6 +1497,8 @@ mig_external kern_return_t rpc_jack_client_activate


InP->refnum = refnum; InP->refnum = refnum;


InP->state = state;

InP->Head.msgh_bits = InP->Head.msgh_bits =
MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE);
/* msgh_size passed as argument */ /* msgh_size passed as argument */


+ 2
- 3
tests/jdelay.cpp View File

@@ -22,7 +22,7 @@


#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <math.h>
#include <math.h>
#include <jack/jack.h> #include <jack/jack.h>
#ifdef WIN32 #ifdef WIN32
#define M_PI 3.141562653 #define M_PI 3.141562653
@@ -181,8 +181,7 @@ static int jack_callback (jack_nframes_t nframes, void *arg)


int main (int ac, char *av []) int main (int ac, char *av [])
{ {
int i, k;
const char** ports;
const char** ports;


if ((jack_handle = jack_client_new ("jdelay")) == 0) if ((jack_handle = jack_client_new ("jdelay")) == 0)
{ {


+ 2
- 2
windows/JackWinNamedPipeClientChannel.cpp View File

@@ -168,9 +168,9 @@ void JackWinNamedPipeClientChannel::ClientClose(int refnum, int* result)
ServerSyncCall(&req, &res, result); ServerSyncCall(&req, &res, result);
} }


void JackWinNamedPipeClientChannel::ClientActivate(int refnum, int* result)
void JackWinNamedPipeClientChannel::ClientActivate(int refnum, int state, int* result)
{ {
JackActivateRequest req(refnum);
JackActivateRequest req(refnum, state);
JackResult res; JackResult res;
ServerSyncCall(&req, &res, result); ServerSyncCall(&req, &res, result);
} }


+ 1
- 1
windows/JackWinNamedPipeClientChannel.h View File

@@ -62,7 +62,7 @@ class JackWinNamedPipeClientChannel : public JackClientChannelInterface, public
void ClientOpen(const char* name, int* shared_engine, int* shared_client, int* shared_graph, int* result); void ClientOpen(const char* name, int* shared_engine, int* shared_client, int* shared_graph, int* result);
void ClientClose(int refnum, int* result); void ClientClose(int refnum, int* result);


void ClientActivate(int refnum, int* result);
void ClientActivate(int refnum, int state, int* result);
void ClientDeactivate(int refnum, int* result); void ClientDeactivate(int refnum, int* result);


void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result); void PortRegister(int refnum, const char* name, const char* type, unsigned int flags, unsigned int buffer_size, unsigned int* port_index, int* result);


+ 1
- 1
windows/JackWinNamedPipeServerChannel.cpp View File

@@ -144,7 +144,7 @@ int JackClientPipeThread::HandleRequest()
JackResult res; JackResult res;
jack_log("JackRequest::ActivateClient"); jack_log("JackRequest::ActivateClient");
if (req.Read(fPipe) == 0) if (req.Read(fPipe) == 0)
res.fResult = fServer->GetEngine()->ClientActivate(req.fRefNum);
res.fResult = fServer->GetEngine()->ClientActivate(req.fRefNum, req.fState);
res.Write(fPipe); res.Write(fPipe);
break; break;
} }


Loading…
Cancel
Save