mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 07:39:42 +02:00
57 lines
2.0 KiB
C
57 lines
2.0 KiB
C
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
ModuleConstants.h
|
|
|
|
Paul Licameli split from ModuleManager.h
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_MODULE_CONSTANTS__
|
|
#define __AUDACITY_MODULE_CONSTANTS__
|
|
|
|
#define ModuleDispatchName "ModuleDispatch"
|
|
|
|
#ifdef _MSC_VER
|
|
#define DLL_API _declspec(dllexport)
|
|
#define DLL_IMPORT _declspec(dllimport)
|
|
#else
|
|
#define DLL_API __attribute__ ((visibility("default")))
|
|
#define DLL_IMPORT
|
|
#endif
|
|
|
|
enum ModuleDispatchTypes
|
|
{
|
|
ModuleInitialize,
|
|
ModuleTerminate,
|
|
AppInitialized,
|
|
AppQuiting,
|
|
ProjectInitialized,
|
|
ProjectClosing
|
|
};
|
|
|
|
// Macro generates one of the required entry points of a module
|
|
// GetVersionString
|
|
// REQUIRED for the module to be accepted by Audacity.
|
|
// Without it Audacity will see a version number mismatch.
|
|
#define DEFINE_VERSION_CHECK \
|
|
extern "C" { \
|
|
DLL_API const wchar_t * GetVersionString() \
|
|
{ \
|
|
/* Make sure that this version of the module requires the version \
|
|
of Audacity it is built with. \
|
|
For now, the versions must match exactly for Audacity to \
|
|
agree to load the module. */ \
|
|
return AUDACITY_VERSION_STRING; \
|
|
} \
|
|
}
|
|
|
|
// Macro generates minimal required entry points to load a module
|
|
// Use it when you don't care about event notifications from the application
|
|
#define DEFINE_MODULE_ENTRIES \
|
|
DEFINE_VERSION_CHECK \
|
|
extern "C" DLL_API int ModuleDispatch(ModuleDispatchTypes type){ return 1; }
|
|
|
|
#endif
|