git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2279 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.90
@@ -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. | ||||
@@ -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) | ||||
{} | {} | ||||
@@ -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; | ||||
} | } | ||||
@@ -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 | ||||
@@ -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); | ||||
@@ -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 | ||||
@@ -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) | ||||
{ | { | ||||
@@ -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); | ||||
@@ -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) | ||||
{ | { | ||||
@@ -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 | ||||
}; | }; | ||||
@@ -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)); | |||||
} | } | ||||
}; | }; | ||||
@@ -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); | ||||
} | } | ||||
@@ -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); | ||||
@@ -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; | ||||
@@ -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; | ||||
} | } | ||||
@@ -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; | ||||
} | } | ||||
@@ -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)); | ||||
@@ -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); | ||||
@@ -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 */ = { | ||||
@@ -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: | ||||
*/ | */ | ||||
@@ -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 | ||||
@@ -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( | ||||
@@ -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() | ||||
@@ -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, | ||||
@@ -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 */ | ||||
@@ -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) | ||||
{ | { | ||||
@@ -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); | ||||
} | } | ||||
@@ -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); | ||||
@@ -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; | ||||
} | } | ||||