diff --git a/common/JackClient.h b/common/JackClient.h index f9addd6e..aad0d79d 100644 --- a/common/JackClient.h +++ b/common/JackClient.h @@ -184,11 +184,6 @@ class JackClient : public JackClientInterface, public JackRunnableInterface bool Execute(); }; -// Each "side" server and client will implement this to get the shared graph manager, engine control and inter-process synchro table. -extern JackGraphManager* GetGraphManager(); -extern JackEngineControl* GetEngineControl(); -extern JackSynchro* GetSynchroTable(); - } // end of namespace #endif diff --git a/common/JackGlobals.h b/common/JackGlobals.h index 8495c062..f5516f73 100644 --- a/common/JackGlobals.h +++ b/common/JackGlobals.h @@ -22,13 +22,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "JackPlatformPlug.h" #include "JackConstants.h" -#include "JackClient.h" namespace Jack { // Globals used for client management on server or libray side. - struct JackGlobals { static jack_tls_key fRealTime; @@ -42,6 +40,11 @@ struct JackGlobals { }; +// Each "side" server and client will implement this to get the shared graph manager, engine control and inter-process synchro table. +extern EXPORT JackGraphManager* GetGraphManager(); +extern EXPORT JackEngineControl* GetEngineControl(); +extern EXPORT JackSynchro* GetSynchroTable(); + } // end of namespace #endif diff --git a/common/JackInternalClient.cpp b/common/JackInternalClient.cpp index 45350802..47cb5993 100644 --- a/common/JackInternalClient.cpp +++ b/common/JackInternalClient.cpp @@ -90,17 +90,17 @@ JackGraphManager* JackInternalClient::fGraphManager = NULL; JackEngineControl* JackInternalClient::fEngineControl = NULL; // Used for external C API (JackAPI.cpp) -JackGraphManager* GetGraphManager() +EXPORT JackGraphManager* GetGraphManager() { return JackServerGlobals::fInstance->GetGraphManager(); } -JackEngineControl* GetEngineControl() +EXPORT JackEngineControl* GetEngineControl() { return JackServerGlobals::fInstance->GetEngineControl(); } -JackSynchro* GetSynchroTable() +EXPORT JackSynchro* GetSynchroTable() { return JackServerGlobals::fInstance->GetSynchroTable(); } diff --git a/common/JackNetAdapter.cpp b/common/JackNetAdapter.cpp index 9945ed96..931f7651 100644 --- a/common/JackNetAdapter.cpp +++ b/common/JackNetAdapter.cpp @@ -226,11 +226,9 @@ namespace Jack SetAdaptedSampleRate ( fParams.fSampleRate ); // Will do "something" on OSX only... - fThread.SetParams(JackServerGlobals::fInstance->GetEngineControl()->fPeriod, - JackServerGlobals::fInstance->GetEngineControl()->fComputation, - JackServerGlobals::fInstance->GetEngineControl()->fConstraint); + fThread.SetParams(GetEngineControl()->fPeriod, GetEngineControl()->fComputation, GetEngineControl()->fConstraint); - if (fThread.AcquireRealTime ( JackServerGlobals::fInstance->GetEngineControl()->fClientPriority ) < 0) { + if (fThread.AcquireRealTime(GetEngineControl()->fClientPriority) < 0) { jack_error("AcquireRealTime error"); } else { set_threaded_log_function(); diff --git a/common/JackThreadedDriver.cpp b/common/JackThreadedDriver.cpp index 590d9575..45fb1dc9 100644 --- a/common/JackThreadedDriver.cpp +++ b/common/JackThreadedDriver.cpp @@ -22,7 +22,6 @@ #include "JackThreadedDriver.h" #include "JackError.h" #include "JackGlobals.h" -#include "JackClient.h" #include "JackEngineControl.h" namespace Jack