From 02f7a52dcc510ee8d2fc8cdc164ef3e7702ea9d4 Mon Sep 17 00:00:00 2001 From: Alex Harker Date: Thu, 5 Dec 2019 17:01:01 +0000 Subject: [PATCH] Correct the SC global object to work across compilation units --- FrameLib_SC_UGens/FrameLib_SC.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/FrameLib_SC_UGens/FrameLib_SC.cpp b/FrameLib_SC_UGens/FrameLib_SC.cpp index 356aaf5b..181f64ac 100644 --- a/FrameLib_SC_UGens/FrameLib_SC.cpp +++ b/FrameLib_SC_UGens/FrameLib_SC.cpp @@ -34,7 +34,7 @@ struct SC_FrameLib_Global { unit->mFrameLibCalcFunc(unit, inNumSamples); } - + class Notifier : public FrameLib_ErrorReporter::HostNotifier { bool notify(const FrameLib_ErrorReporter::ErrorReport& report) override @@ -49,6 +49,7 @@ struct SC_FrameLib_Global SC_FrameLib_Global() : mGlobal(nullptr) { FrameLib_Global::get(&mGlobal, &mNotifier); + mCalcFunc = (UnitCalcFunc) CalcFunc; } ~SC_FrameLib_Global() @@ -60,13 +61,14 @@ struct SC_FrameLib_Global { return unit && (unit->mCalcFunc == GetCalcFunc()); } - - UnitCalcFunc GetCalcFunc() const { return (UnitCalcFunc) CalcFunc; } - + + UnitCalcFunc GetCalcFunc() const { return mCalcFunc; } + FrameLib_Global *getGlobal() { return mGlobal; } FrameLib_Global *mGlobal; Notifier mNotifier; + UnitCalcFunc mCalcFunc; }; static SC_FrameLib_Global sGlobal;