git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1653 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.68
| @@ -15,7 +15,9 @@ Tom Szilagyi | |||
| 2007-10-25 Stephane Letz <letz@grame.fr> | |||
| * 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 <letz@grame.fr> | |||
| @@ -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. | |||
| */ | |||
| @@ -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 | |||
| @@ -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; | |||
| } | |||
| @@ -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; | |||
| @@ -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 <math.h> | |||
| #include <algorithm> | |||
| #include <iostream> | |||
| #include <assert.h> | |||
| 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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| } | |||
| @@ -22,11 +22,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
| #include <string.h> | |||
| #include <errno.h> | |||
| #include <stdio.h> | |||
| #include "JackConstants.h" | |||
| #include "JackExports.h" | |||
| #ifdef __cplusplus | |||
| extern "C" | |||
| { | |||
| @@ -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 | |||
| @@ -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 = "<group>"; }; | |||
| 4B799AD707899652003F3F15 /* JackMachPort.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JackMachPort.h; sourceTree = "<group>"; }; | |||
| 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 = "<group>"; | |||
| @@ -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; | |||
| }; | |||