Rename Engine to LmmsCore, but typedef'd as Engine to prevent name conflicts with ZASFx
Document the Engine renaming better & link to relevant issues/PRs
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
#include "MemoryManager.h"
|
||||
#include "lmmsversion.h"
|
||||
|
||||
class Engine;
|
||||
class LmmsCore;
|
||||
|
||||
|
||||
const QString PROJECTS_PATH = "projects/";
|
||||
@@ -284,7 +284,7 @@ private:
|
||||
settingsMap m_settings;
|
||||
|
||||
|
||||
friend class Engine;
|
||||
friend class LmmsCore;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -42,7 +42,19 @@ class Song;
|
||||
class Ladspa2LMMS;
|
||||
|
||||
|
||||
class EXPORT Engine : public QObject
|
||||
// Note: This class is called 'LmmsCore' instead of 'Engine' because of naming
|
||||
// conflicts caused by ZynAddSubFX. See https://github.com/LMMS/lmms/issues/2269
|
||||
// and https://github.com/LMMS/lmms/pull/2118 for more details.
|
||||
//
|
||||
// The workaround was to rename Lmms' Engine so that it has a different symbol
|
||||
// name in the object files, but typedef it back to 'Engine' and keep it inside
|
||||
// of Engine.h so that the rest of the codebase can be oblivious to this issue
|
||||
// (and it could be fixed without changing every single file).
|
||||
|
||||
class LmmsCore;
|
||||
typedef LmmsCore Engine;
|
||||
|
||||
class EXPORT LmmsCore : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -91,11 +103,11 @@ public:
|
||||
}
|
||||
static void updateFramesPerTick();
|
||||
|
||||
static inline Engine * inst()
|
||||
static inline LmmsCore * inst()
|
||||
{
|
||||
if( s_instanceOfMe == NULL )
|
||||
{
|
||||
s_instanceOfMe = new Engine();
|
||||
s_instanceOfMe = new LmmsCore();
|
||||
}
|
||||
return s_instanceOfMe;
|
||||
}
|
||||
@@ -128,12 +140,11 @@ private:
|
||||
static Ladspa2LMMS * s_ladspaManager;
|
||||
|
||||
// even though most methods are static, an instance is needed for Qt slots/signals
|
||||
static Engine * s_instanceOfMe;
|
||||
static LmmsCore * s_instanceOfMe;
|
||||
|
||||
friend class GuiApplication;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ private:
|
||||
l_sortable_plugin_t m_analysisTools;
|
||||
l_sortable_plugin_t m_otherPlugins;
|
||||
|
||||
friend class Engine;
|
||||
friend class LmmsCore;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -445,7 +445,7 @@ private:
|
||||
|
||||
bool m_metronomeActive;
|
||||
|
||||
friend class Engine;
|
||||
friend class LmmsCore;
|
||||
friend class MixerWorkerThread;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -366,7 +366,7 @@ private:
|
||||
VstSyncController m_vstSyncController;
|
||||
|
||||
|
||||
friend class Engine;
|
||||
friend class LmmsCore;
|
||||
friend class SongEditor;
|
||||
friend class mainWindow;
|
||||
friend class ControllerRackView;
|
||||
|
||||
Reference in New Issue
Block a user