diff --git a/ChangeLog b/ChangeLog index 91aa09a0..c20e6cec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,7 +15,9 @@ Tom Szilagyi 2007-10-25 Stephane Letz - * Merge of Dmitry Baikov MIDI branch. Correct JackGraphManager::GetPortsAux to use port type. + * Merge of Dmitry Baikov MIDI branch. + * Correct JackGraphManager::GetPortsAux to use port type. + * Remove JackEngineTiming class: code moved in JackEngineControl. 2007-10-24 Stephane Letz diff --git a/common/JackConnectionManager.h b/common/JackConnectionManager.h index 6bb1e245..353e9f1e 100644 --- a/common/JackConnectionManager.h +++ b/common/JackConnectionManager.h @@ -27,22 +27,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. namespace Jack { -#define NO_PORT 0xFFFE - -#define EMPTY 0xFFFD -#define FREE 0xFFFC - -typedef uint16_t jack_int_t; // Internal type for ports and refnum - struct JackClientControl; -typedef enum { - NotTriggered, - Triggered, - Running, - Finished, -} jack_client_state_t; - /*! \brief Utility class. */ diff --git a/common/JackConstants.h b/common/JackConstants.h index 9a62a354..b59de470 100644 --- a/common/JackConstants.h +++ b/common/JackConstants.h @@ -17,7 +17,11 @@ */ -#define PRINTDEBUG +#ifndef __JackConstants__ +#define __JackConstants__ + +namespace Jack +{ #define VERSION "0.68" @@ -68,3 +72,21 @@ #define JACK_PROTOCOL_VERSION 1 #define DRIVER_OPEN_TIMEOUT 5 // in sec + +#define NO_PORT 0xFFFE + +#define EMPTY 0xFFFD +#define FREE 0xFFFC + +typedef uint16_t jack_int_t; // Internal type for ports and refnum + +typedef enum { + NotTriggered, + Triggered, + Running, + Finished, +} jack_client_state_t; + +} // end of namespace + +#endif diff --git a/common/JackEngine.cpp b/common/JackEngine.cpp index 46a7687a..912d6495 100644 --- a/common/JackEngine.cpp +++ b/common/JackEngine.cpp @@ -31,7 +31,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "JackInternalClient.h" #include "JackEngineControl.h" #include "JackClientControl.h" -#include "JackEngineTiming.h" #include "JackGlobals.h" #include "JackChannel.h" #include "JackSyncInterface.h" @@ -48,17 +47,13 @@ JackEngine::JackEngine(JackGraphManager* manager, fEngineControl = control; fChannel = JackGlobals::MakeServerNotifyChannel(); fSignal = JackGlobals::MakeInterProcessSync(); - fEngineTiming = new JackEngineTiming(fClientTable, fGraphManager, fEngineControl); for (int i = 0; i < CLIENT_NUM; i++) fClientTable[i] = NULL; - fEngineTiming->ClearTimeMeasures(); - fEngineTiming->ResetRollingUsecs(); } JackEngine::~JackEngine() { delete fChannel; - delete fEngineTiming; delete fSignal; } @@ -154,14 +149,10 @@ bool JackEngine::Process(jack_time_t callback_usecs) { bool res = true; - // Transport begin - fEngineControl->CycleBegin(callback_usecs); + // Cycle begin + fEngineControl->CycleBegin(fClientTable, fGraphManager, callback_usecs); - // Timing - fEngineControl->IncFrameTime(callback_usecs); - fEngineTiming->UpdateTiming(callback_usecs); - - // Graph + // Graph if (fGraphManager->IsFinishedGraph()) { ProcessNext(callback_usecs); res = true; @@ -179,7 +170,7 @@ bool JackEngine::Process(jack_time_t callback_usecs) } } - // Transport end + // Cycle end fEngineControl->CycleEnd(fClientTable); return res; } @@ -538,7 +529,7 @@ int JackEngine::ClientExternalOpen(const char* name, int* ref, int* shared_engin fClientTable[refnum] = client; fGraphManager->InitRefNum(refnum); - fEngineTiming->ResetRollingUsecs(); + fEngineControl->ResetRollingUsecs(); *shared_engine = fEngineControl->GetShmIndex(); *shared_graph_manager = fGraphManager->GetShmIndex(); *ref = refnum; @@ -580,7 +571,7 @@ int JackEngine::ClientInternalOpen(const char* name, int* ref, JackEngineControl fClientTable[refnum] = client; fGraphManager->InitRefNum(refnum); - fEngineTiming->ResetRollingUsecs(); + fEngineControl->ResetRollingUsecs(); *shared_engine = fEngineControl; *shared_manager = fGraphManager; *ref = refnum; @@ -634,7 +625,7 @@ int JackEngine::ClientCloseAux(int refnum, JackClientInterface* client, bool wai // Cleanup... fSynchroTable[refnum]->Destroy(); - fEngineTiming->ResetRollingUsecs(); + fEngineControl->ResetRollingUsecs(); return 0; } diff --git a/common/JackEngine.h b/common/JackEngine.h index 312a320e..b55eddc7 100644 --- a/common/JackEngine.h +++ b/common/JackEngine.h @@ -31,7 +31,6 @@ namespace Jack class JackClientInterface; struct JackEngineControl; class JackServerNotifyChannelInterface; -class JackEngineTiming; class JackExternalClient; class JackSyncInterface; @@ -48,7 +47,6 @@ class JackEngine JackClientInterface* fClientTable[CLIENT_NUM]; JackSynchro** fSynchroTable; JackServerNotifyChannelInterface* fChannel; /*! To communicate between the RT thread and server */ - JackEngineTiming* fEngineTiming; JackSyncInterface* fSignal; jack_time_t fLastSwitchUsecs; diff --git a/common/JackEngineTiming.cpp b/common/JackEngineControl.cpp similarity index 65% rename from common/JackEngineTiming.cpp rename to common/JackEngineControl.cpp index b1e09616..224fdd95 100644 --- a/common/JackEngineTiming.cpp +++ b/common/JackEngineControl.cpp @@ -1,5 +1,6 @@ /* -Copyright (C) 2004-2006 Grame +Copyright (C) 2003 Paul Davis +Copyright (C) 2004-2006 Grame This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,50 +18,59 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include "JackEngineTiming.h" -#include "JackClientInterface.h" #include "JackEngineControl.h" +#include "JackGraphManager.h" #include "JackClientControl.h" -#include -#include -#include -#include namespace Jack { -inline jack_time_t MAX(jack_time_t a, jack_time_t b) +void JackEngineControl::CycleBegin(JackClientInterface** table, JackGraphManager* manager, jack_time_t callback_usecs) { - return (a < b) ? b : a; + // Transport + fTransport.CycleBegin(fSampleRate, callback_usecs); + + // Timer + fFrameTimer.IncFrameTime(fBufferSize, callback_usecs, fPeriodUsecs); + + // Timing + GetTimeMeasure(table, manager, callback_usecs); + CalcCPULoad(table, manager); } -JackEngineTiming::JackEngineTiming(JackClientInterface** table, JackGraphManager* manager, JackEngineControl* control) +void JackEngineControl::CycleEnd(JackClientInterface** table) { - fClientTable = table; - fGraphManager = manager; - fEngineControl = control; - fLastTime = 0; - fCurTime = 0; - fProcessTime = 0; - fLastProcessTime = 0; - fSpareUsecs = 0; - fMaxUsecs = 0; - fAudioCycle = 0; + fTransport.CycleEnd(table, fSampleRate, fBufferSize); +} + +void JackEngineControl::InitFrameTime() +{ + fFrameTimer.InitFrameTime(); +} + +void JackEngineControl::ResetFrameTime(jack_time_t callback_usecs) +{ + fFrameTimer.ResetFrameTime(fSampleRate, callback_usecs, fPeriodUsecs); +} + +void JackEngineControl::ReadFrameTime(JackTimer* timer) +{ + fFrameTimer.ReadFrameTime(timer); } -void JackEngineTiming::UpdateTiming(jack_time_t callback_usecs) +// Private +inline jack_time_t MAX(jack_time_t a, jack_time_t b) { - GetTimeMeasure(callback_usecs); - CalcCPULoad(); + return (a < b) ? b : a; } -void JackEngineTiming::CalcCPULoad() +void JackEngineControl::CalcCPULoad(JackClientInterface** table, JackGraphManager* manager) { jack_time_t lastCycleEnd = fLastProcessTime; for (int i = REAL_REFNUM; i < CLIENT_NUM; i++) { - JackClientInterface* client = fClientTable[i]; - JackClientTiming* timing = fGraphManager->GetClientTiming(i); + JackClientInterface* client = table[i]; + JackClientTiming* timing = manager->GetClientTiming(i); if (client && client->GetClientControl()->fActive && timing->fStatus == Finished) { lastCycleEnd = MAX(lastCycleEnd, timing->fFinishedAt); } @@ -85,27 +95,26 @@ void JackEngineTiming::CalcCPULoad() } fMaxUsecs = MAX(fMaxUsecs, maxUsecs); - fSpareUsecs = jack_time_t((maxUsecs < fEngineControl->fPeriodUsecs) ? fEngineControl->fPeriodUsecs - maxUsecs : 0); - fEngineControl->fCPULoad - = ((1.0f - (float(fSpareUsecs) / float(fEngineControl->fPeriodUsecs))) * 50.0f + (fEngineControl->fCPULoad * 0.5f)); + fSpareUsecs = jack_time_t((maxUsecs < fPeriodUsecs) ? fPeriodUsecs - maxUsecs : 0); + fCPULoad = ((1.f - (float(fSpareUsecs) / float(fPeriodUsecs))) * 50.f + (fCPULoad * 0.5f)); } } -void JackEngineTiming::ResetRollingUsecs() +void JackEngineControl::ResetRollingUsecs() { memset(fRollingClientUsecs, 0, sizeof(fRollingClientUsecs)); fRollingClientUsecsIndex = 0; fRollingClientUsecsCnt = 0; fSpareUsecs = 0; - fRollingInterval = (int)floor((JACK_ENGINE_ROLLING_INTERVAL * 1000.0f) / fEngineControl->fPeriodUsecs); + fRollingInterval = (int)floor((JACK_ENGINE_ROLLING_INTERVAL * 1000.f) / fPeriodUsecs); } -void JackEngineTiming::GetTimeMeasure(jack_time_t callbackUsecs) +void JackEngineControl::GetTimeMeasure(JackClientInterface** table, JackGraphManager* manager, jack_time_t callback_usecs) { int pos = (++fAudioCycle) % TIME_POINTS; fLastTime = fCurTime; - fCurTime = callbackUsecs; + fCurTime = callback_usecs; fLastProcessTime = fProcessTime; fProcessTime = GetMicroSeconds(); @@ -115,8 +124,8 @@ void JackEngineTiming::GetTimeMeasure(jack_time_t callbackUsecs) fMeasure[pos].fAudioCycle = fAudioCycle; for (int i = 0; i < CLIENT_NUM; i++) { - JackClientInterface* client = fClientTable[i]; - JackClientTiming* timing = fGraphManager->GetClientTiming(i); + JackClientInterface* client = table[i]; + JackClientTiming* timing = manager->GetClientTiming(i); if (client && client->GetClientControl()->fActive) { fMeasure[pos].fClientTable[i].fRefNum = i; fMeasure[pos].fClientTable[i].fSignaledAt = timing->fSignaledAt; @@ -128,7 +137,7 @@ void JackEngineTiming::GetTimeMeasure(jack_time_t callbackUsecs) } } -void JackEngineTiming::ClearTimeMeasures() +void JackEngineControl::ClearTimeMeasures() { for (int i = 0; i < TIME_POINTS; i++) { for (int j = 0; j < CLIENT_NUM; j++) { @@ -141,6 +150,4 @@ void JackEngineTiming::ClearTimeMeasures() fLastTime = fCurTime = 0; } - } // end of namespace - diff --git a/common/JackEngineControl.h b/common/JackEngineControl.h index dd12f922..90f01ac3 100644 --- a/common/JackEngineControl.h +++ b/common/JackEngineControl.h @@ -29,75 +29,118 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. namespace Jack { +class JackClientInterface; +class JackGraphManager; + +#define TIME_POINTS 1000 +#define JACK_ENGINE_ROLLING_COUNT 32 +#define JACK_ENGINE_ROLLING_INTERVAL 1024 + +/*! +\brief Timing stucture for a client. +*/ + +struct JackTimingMeasureClient +{ + int fRefNum; + jack_time_t fSignaledAt; + jack_time_t fAwakeAt; + jack_time_t fFinishedAt; + jack_client_state_t fStatus; +}; + +/*! +\brief Timing stucture for a table of clients. +*/ + +struct JackTimingMeasure +{ + long fAudioCycle; + jack_time_t fEngineTime; + JackTimingMeasureClient fClientTable[CLIENT_NUM]; +}; + /*! \brief Engine control in shared memory. */ struct JackEngineControl : public JackShmMem { + // Shared state jack_nframes_t fBufferSize; jack_nframes_t fSampleRate; - float fCPULoad; bool fSyncMode; bool fTemporary; jack_time_t fPeriodUsecs; jack_time_t fTimeOutUsecs; bool fRealTime; int32_t fPriority; - UInt64 fPeriod; - UInt64 fComputation; - UInt64 fConstraint; char fServerName[64]; - JackFrameTimer fFrameTimer; JackTransportEngine fTransport; bool fVerbose; - JackEngineControl(bool sync, bool temporary, long timeout, bool rt, long priority, bool verbose, const char* server_name) - :fSyncMode(sync), - fTemporary(temporary), - fTimeOutUsecs(timeout * 1000), - fRealTime(rt), - fPriority(priority), - fVerbose(verbose) - - { - snprintf(fServerName, sizeof(fServerName), server_name); - } - - void InitFrameTime() - { - fFrameTimer.InitFrameTime(); - } + // Timing + JackTimingMeasure fMeasure[TIME_POINTS]; + jack_time_t fLastTime; + jack_time_t fCurTime; + jack_time_t fProcessTime; + jack_time_t fLastProcessTime; + jack_time_t fSpareUsecs; + jack_time_t fMaxUsecs; + uint32_t fAudioCycle; + jack_time_t fRollingClientUsecs[JACK_ENGINE_ROLLING_COUNT]; + int fRollingClientUsecsCnt; + int fRollingClientUsecsIndex; + int fRollingInterval; + float fCPULoad; - void IncFrameTime(jack_time_t callback_usecs) - { - fFrameTimer.IncFrameTime(fBufferSize, callback_usecs, fPeriodUsecs); - } + // Fos OSX thread + UInt64 fPeriod; + UInt64 fComputation; + UInt64 fConstraint; - void ResetFrameTime(jack_time_t callback_usecs) + // Timer + JackFrameTimer fFrameTimer; + + JackEngineControl(bool sync, bool temporary, long timeout, bool rt, long priority, bool verbose, const char* server_name) { - fFrameTimer.ResetFrameTime(fSampleRate, callback_usecs, fPeriodUsecs); + fSyncMode = sync; + fTemporary = temporary; + fTimeOutUsecs = timeout * 1000; + fRealTime = rt; + fPriority = priority; + fVerbose = verbose; + fLastTime = 0; + fCurTime = 0; + fProcessTime = 0; + fLastProcessTime = 0; + fSpareUsecs = 0; + fMaxUsecs = 0; + fAudioCycle = 0; + ClearTimeMeasures(); + ResetRollingUsecs(); + snprintf(fServerName, sizeof(fServerName), server_name); } + ~JackEngineControl() + {} - void ReadFrameTime(JackTimer* timer) - { - fFrameTimer.ReadFrameTime(timer); - } + // Cycle + void CycleBegin(JackClientInterface** table, JackGraphManager* manager, jack_time_t callback_usecs); + void CycleEnd(JackClientInterface** table); - void CycleBegin(jack_time_t callback_usecs) - { - fTransport.CycleBegin(fSampleRate, callback_usecs); - } - - void CycleEnd(JackClientInterface** table) - { - fTransport.CycleEnd(table, fSampleRate, fBufferSize); - } + // Timer + void InitFrameTime(); + void ResetFrameTime(jack_time_t callback_usecs); + void ReadFrameTime(JackTimer* timer); + // Private + void CalcCPULoad(JackClientInterface** table, JackGraphManager* manager); + void GetTimeMeasure(JackClientInterface** table, JackGraphManager* manager, jack_time_t callback_usecs); + void ClearTimeMeasures(); + void ResetRollingUsecs(); + }; - } // end of namespace - #endif diff --git a/common/JackEngineTiming.h b/common/JackEngineTiming.h deleted file mode 100644 index 153baf40..00000000 --- a/common/JackEngineTiming.h +++ /dev/null @@ -1,104 +0,0 @@ -/* -Copyright (C) 2004-2006 Grame - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __JackEngineTiming__ -#define __JackEngineTiming__ - -#include "types.h" -#include "JackGraphManager.h" - -namespace Jack -{ - -#define TIME_POINTS 1000 -#define JACK_ENGINE_ROLLING_COUNT 32 -#define JACK_ENGINE_ROLLING_INTERVAL 1024 - -class JackClientInterface; -struct JackEngineControl; - -/*! -\brief Timing stucture for a client. -*/ - -struct JackTimingMeasureClient -{ - int fRefNum; - jack_time_t fSignaledAt; - jack_time_t fAwakeAt; - jack_time_t fFinishedAt; - jack_client_state_t fStatus; -}; - -/*! -\brief Timing stucture for a table of clients. -*/ - -struct JackTimingMeasure -{ - long fAudioCycle; - jack_time_t fEngineTime; - JackTimingMeasureClient fClientTable[CLIENT_NUM]; -}; - -/*! -\brief Engine timing management. -*/ - -class JackEngineTiming -{ - private: - - JackClientInterface** fClientTable; - JackGraphManager* fGraphManager; - JackEngineControl* fEngineControl; - - JackTimingMeasure fMeasure[TIME_POINTS]; - jack_time_t fLastTime; - jack_time_t fCurTime; - jack_time_t fProcessTime; - jack_time_t fLastProcessTime; - jack_time_t fSpareUsecs; - jack_time_t fMaxUsecs; - uint32_t fAudioCycle; - - jack_time_t fRollingClientUsecs[JACK_ENGINE_ROLLING_COUNT]; - int fRollingClientUsecsCnt; - int fRollingClientUsecsIndex; - int fRollingInterval; - - void CalcCPULoad(); - void GetTimeMeasure(jack_time_t callback_usecs); - - public: - - JackEngineTiming(JackClientInterface** table, JackGraphManager* manager, JackEngineControl* control); - virtual ~JackEngineTiming() - {} - - void UpdateTiming(jack_time_t callback_usecs); - void ResetRollingUsecs(); - - void ClearTimeMeasures(); -}; - -} // end of namespace - -#endif - diff --git a/common/JackError.c b/common/JackError.c index 0df6febb..edeecc09 100644 --- a/common/JackError.c +++ b/common/JackError.c @@ -24,7 +24,7 @@ int jack_verbose = 0; -EXPORT void jack_error (const char *fmt, ...) +EXPORT void jack_error(const char *fmt, ...) { va_list ap; char buffer[300]; @@ -37,7 +37,6 @@ EXPORT void jack_error (const char *fmt, ...) EXPORT void JackLog(char *fmt,...) { -#ifdef PRINTDEBUG if (jack_verbose) { va_list ap; va_start(ap, fmt); @@ -45,6 +44,5 @@ EXPORT void JackLog(char *fmt,...) vfprintf(stderr, fmt, ap); va_end(ap); } -#endif } diff --git a/common/JackError.h b/common/JackError.h index afbf7bf5..d04d56ce 100644 --- a/common/JackError.h +++ b/common/JackError.h @@ -22,11 +22,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include #include #include - -#include "JackConstants.h" #include "JackExports.h" - #ifdef __cplusplus extern "C" { diff --git a/linux/Makefile b/linux/Makefile index e53910a7..675acb3c 100644 --- a/linux/Makefile +++ b/linux/Makefile @@ -26,9 +26,8 @@ VPATH := $(subprojects) LIB_LINUX := -lpthread -lrt -lasound - objects_common_server_lib := JackActivationCount.o JackAPI.o JackAudioDriver.o JackClient.o JackConnectionManager.o \ - JackDriver.o JackEngine.o JackEngineTiming.o JackError.o JackExternalClient.o JackFrameTimer.o \ + JackDriver.o JackEngine.o JackEngineControl.o JackError.o JackExternalClient.o JackFrameTimer.o \ JackFreewheelDriver.o JackGlobalsServer.o JackGraphManager.o JackInternalClient.o JackPort.o JackPosixSemaphore.o JackPosixThread.o JackFifo.o JackLoopbackDriver.o\ JackPortType.o JackAudioPort.o JackMidiPort.o \ JackServer.o JackShmMem.o JackThreadedDriver.o shm.o JackSocket.o JackSocketServerChannel.o JackSocketNotifyChannel.o \ @@ -40,7 +39,6 @@ objects_common_client_lib := JackActivationCount.o JackAPI.o JackClient.o JackCo JackPortType.o JackAudioPort.o JackMidiPort.o JackMidiAPI.o \ JackPosixThread.o JackShmMem.o shm.o JackSocket.o JackSocketClientChannel.o JackTime.o JackGlobals.o JackDebugClient.o JackTransportEngine.o timestamps.o - objects_linux_server := Jackdmp.o objects_linux_alsa := JackAlsaDriver.o memops.o generic_hw.o hdsp.o hammerfall.o ice1712.o diff --git a/macosx/Jackdmp.xcodeproj/project.pbxproj b/macosx/Jackdmp.xcodeproj/project.pbxproj index 4bef5d0b..903af6b8 100644 --- a/macosx/Jackdmp.xcodeproj/project.pbxproj +++ b/macosx/Jackdmp.xcodeproj/project.pbxproj @@ -147,7 +147,6 @@ 4B699C6F097D421600A18468 /* JackDriverLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B869B4208C8D22F001CF041 /* JackDriverLoader.h */; }; 4B699C70097D421600A18468 /* jslist.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B869B6408C8D76B001CF041 /* jslist.h */; }; 4B699C71097D421600A18468 /* JackEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2130834F02800C94B91 /* JackEngine.h */; }; - 4B699C72097D421600A18468 /* JackEngineTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2100834F01C00C94B91 /* JackEngineTiming.h */; }; 4B699C73097D421600A18468 /* JackExternalClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D1F70834EFBD00C94B91 /* JackExternalClient.h */; }; 4B699C74097D421600A18468 /* JackServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF8D2220834F05C00C94B91 /* JackServer.h */; }; 4B699C75097D421600A18468 /* JackSocketServerNotifyChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9745CB08AF771B0094983C /* JackSocketServerNotifyChannel.h */; }; @@ -183,7 +182,6 @@ 4B699C95097D421600A18468 /* JackDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1B60834EEE400C94B91 /* JackDriver.cpp */; }; 4B699C96097D421600A18468 /* JackDriverLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B869D7F08C9CB00001CF041 /* JackDriverLoader.cpp */; }; 4B699C97097D421600A18468 /* JackEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D2140834F02800C94B91 /* JackEngine.cpp */; }; - 4B699C98097D421600A18468 /* JackEngineTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D20F0834F01C00C94B91 /* JackEngineTiming.cpp */; }; 4B699C99097D421600A18468 /* JackExternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1F80834EFBD00C94B91 /* JackExternalClient.cpp */; }; 4B699C9A097D421600A18468 /* JackInternalClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BF8D1ED0834EF9200C94B91 /* JackInternalClient.cpp */; }; 4B699C9B097D421600A18468 /* JackRPCClientUser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B89B759076B731100D170DE /* JackRPCClientUser.c */; }; @@ -261,6 +259,8 @@ 4B6C73890CC60A85001AFFD4 /* statistics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737C0CC60A6D001AFFD4 /* statistics.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B6C738A0CC60A85001AFFD4 /* thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737D0CC60A6D001AFFD4 /* thread.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B6C738B0CC60A86001AFFD4 /* transport.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6C737E0CC60A6D001AFFD4 /* transport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B6F7AED0CD0CDBD00F48A9D /* JackEngineControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */; }; + 4B6F7AEE0CD0CDBD00F48A9D /* JackEngineControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */; }; 4B80D7E80BA0D17400F035BB /* JackMidiPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B80D7E50BA0D17400F035BB /* JackMidiPort.h */; }; 4B80D7E90BA0D17400F035BB /* JackMidiPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B80D7E60BA0D17400F035BB /* JackMidiPort.cpp */; }; 4B80D7EA0BA0D17400F035BB /* JackMidiAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B80D7E70BA0D17400F035BB /* JackMidiAPI.cpp */; }; @@ -525,6 +525,7 @@ 4B6C737D0CC60A6D001AFFD4 /* thread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = thread.h; path = ../common/jack/thread.h; sourceTree = SOURCE_ROOT; }; 4B6C737E0CC60A6D001AFFD4 /* transport.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = transport.h; path = ../common/jack/transport.h; sourceTree = SOURCE_ROOT; }; 4B6C737F0CC60A6D001AFFD4 /* types.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = types.h; path = ../common/jack/types.h; sourceTree = SOURCE_ROOT; }; + 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackEngineControl.cpp; path = ../common/JackEngineControl.cpp; sourceTree = SOURCE_ROOT; }; 4B799AD607899652003F3F15 /* JackMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JackMachPort.cpp; sourceTree = ""; }; 4B799AD707899652003F3F15 /* JackMachPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachPort.h; sourceTree = ""; }; 4B80D7E50BA0D17400F035BB /* JackMidiPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackMidiPort.h; path = ../common/JackMidiPort.h; sourceTree = SOURCE_ROOT; }; @@ -637,8 +638,6 @@ 4BF8D1FC0834EFD100C94B91 /* JackLibClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackLibClient.h; path = ../common/JackLibClient.h; sourceTree = SOURCE_ROOT; }; 4BF8D1FD0834EFD100C94B91 /* JackLibClient.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackLibClient.cpp; path = ../common/JackLibClient.cpp; sourceTree = SOURCE_ROOT; }; 4BF8D1FE0834EFD100C94B91 /* JackLibAPI.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackLibAPI.cpp; path = ../common/JackLibAPI.cpp; sourceTree = SOURCE_ROOT; }; - 4BF8D20F0834F01C00C94B91 /* JackEngineTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackEngineTiming.cpp; path = ../common/JackEngineTiming.cpp; sourceTree = SOURCE_ROOT; }; - 4BF8D2100834F01C00C94B91 /* JackEngineTiming.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackEngineTiming.h; path = ../common/JackEngineTiming.h; sourceTree = SOURCE_ROOT; }; 4BF8D2130834F02800C94B91 /* JackEngine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackEngine.h; path = ../common/JackEngine.h; sourceTree = SOURCE_ROOT; }; 4BF8D2140834F02800C94B91 /* JackEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackEngine.cpp; path = ../common/JackEngine.cpp; sourceTree = SOURCE_ROOT; }; 4BF8D2190834F03D00C94B91 /* JackEngineControl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackEngineControl.h; path = ../common/JackEngineControl.h; sourceTree = SOURCE_ROOT; }; @@ -1017,6 +1016,7 @@ 4B123D3308B3954300540632 /* JackGlobalsClient.cpp */, 4B123D3608B3954A00540632 /* JackGlobalsServer.cpp */, 4BF8D2190834F03D00C94B91 /* JackEngineControl.h */, + 4B6F7AEC0CD0CDBD00F48A9D /* JackEngineControl.cpp */, 4BD4B4D409BACD9600750C0F /* JackTransportEngine.h */, 4BD4B4D509BACD9600750C0F /* JackTransportEngine.cpp */, 4BF8D2220834F05C00C94B91 /* JackServer.h */, @@ -1123,8 +1123,6 @@ 4BF8D2140834F02800C94B91 /* JackEngine.cpp */, 4BF8FB0E08AC88EF00D1A344 /* JackFrameTimer.h */, 4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */, - 4BF8D2100834F01C00C94B91 /* JackEngineTiming.h */, - 4BF8D20F0834F01C00C94B91 /* JackEngineTiming.cpp */, ); name = Engine; sourceTree = ""; @@ -1361,7 +1359,6 @@ 4B699C6F097D421600A18468 /* JackDriverLoader.h in Headers */, 4B699C70097D421600A18468 /* jslist.h in Headers */, 4B699C71097D421600A18468 /* JackEngine.h in Headers */, - 4B699C72097D421600A18468 /* JackEngineTiming.h in Headers */, 4B699C73097D421600A18468 /* JackExternalClient.h in Headers */, 4B699C74097D421600A18468 /* JackServer.h in Headers */, 4B699C75097D421600A18468 /* JackSocketServerNotifyChannel.h in Headers */, @@ -2280,6 +2277,7 @@ 4BAB95ED0B9E21A500A0C723 /* JackAudioPort.cpp in Sources */, 4B80D7E90BA0D17400F035BB /* JackMidiPort.cpp in Sources */, 4B80D7EA0BA0D17400F035BB /* JackMidiAPI.cpp in Sources */, + 4B6F7AED0CD0CDBD00F48A9D /* JackEngineControl.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2313,7 +2311,6 @@ 4B699C95097D421600A18468 /* JackDriver.cpp in Sources */, 4B699C96097D421600A18468 /* JackDriverLoader.cpp in Sources */, 4B699C97097D421600A18468 /* JackEngine.cpp in Sources */, - 4B699C98097D421600A18468 /* JackEngineTiming.cpp in Sources */, 4B699C99097D421600A18468 /* JackExternalClient.cpp in Sources */, 4B699C9A097D421600A18468 /* JackInternalClient.cpp in Sources */, 4B699C9B097D421600A18468 /* JackRPCClientUser.c in Sources */, @@ -2336,6 +2333,7 @@ 4BAB95EE0B9E21A500A0C723 /* JackAudioPort.cpp in Sources */, 4B80D7EC0BA0D17400F035BB /* JackMidiPort.cpp in Sources */, 4B80D7ED0BA0D17400F035BB /* JackMidiAPI.cpp in Sources */, + 4B6F7AEE0CD0CDBD00F48A9D /* JackEngineControl.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };