88 #define START_JUCE_APPLICATION(AppClass)
90 #if JUCE_WINDOWS && ! defined (_CONSOLE)
91 #define JUCE_MAIN_FUNCTION \
92 JUCE_BEGIN_IGNORE_WARNINGS_MSVC (28251) \
93 int __stdcall WinMain (struct HINSTANCE__*, struct HINSTANCE__*, char*, int) \
94 JUCE_END_IGNORE_WARNINGS_MSVC
95 #define JUCE_MAIN_FUNCTION_ARGS
97 #define JUCE_MAIN_FUNCTION int main (int argc, char* argv[])
98 #define JUCE_MAIN_FUNCTION_ARGS argc, (const char**) argv
103 #define JUCE_CREATE_APPLICATION_DEFINE(AppClass) \
104 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes") \
105 juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); } \
106 void* juce_GetIOSCustomDelegateClass() { return nullptr; } \
107 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
109 #define JUCE_CREATE_APPLICATION_DEFINE_CUSTOM_DELEGATE(AppClass, DelegateClass) \
110 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes") \
111 juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); } \
112 void* juce_GetIOSCustomDelegateClass() { return [DelegateClass class]; } \
113 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
115 #define JUCE_MAIN_FUNCTION_DEFINITION \
116 extern "C" JUCE_MAIN_FUNCTION \
118 juce::JUCEApplicationBase::createInstance = &juce_CreateApplication; \
119 juce::JUCEApplicationBase::iOSCustomDelegate = juce_GetIOSCustomDelegateClass(); \
120 return juce::JUCEApplicationBase::main (JUCE_MAIN_FUNCTION_ARGS); \
125 #define JUCE_CREATE_APPLICATION_DEFINE(AppClass) \
126 extern "C" juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); }
128 #define JUCE_MAIN_FUNCTION_DEFINITION
132 #define JUCE_CREATE_APPLICATION_DEFINE(AppClass) \
133 juce::JUCEApplicationBase* juce_CreateApplication(); \
134 juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); }
136 #define JUCE_MAIN_FUNCTION_DEFINITION \
137 extern "C" JUCE_MAIN_FUNCTION \
139 juce::JUCEApplicationBase::createInstance = &juce_CreateApplication; \
140 return juce::JUCEApplicationBase::main (JUCE_MAIN_FUNCTION_ARGS); \
145 #if JucePlugin_Build_Standalone
146 #if JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP
147 #define START_JUCE_APPLICATION(AppClass) JUCE_CREATE_APPLICATION_DEFINE(AppClass)
149 #define START_JUCE_APPLICATION_WITH_CUSTOM_DELEGATE(AppClass, DelegateClass) JUCE_CREATE_APPLICATION_DEFINE_CUSTOM_DELEGATE(AppClass, DelegateClass)
152 #define START_JUCE_APPLICATION(AppClass) static_assert(false, "You are trying to use START_JUCE_APPLICATION in an audio plug-in. Define JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP=1 if you want to use a custom standalone target app.");
154 #define START_JUCE_APPLICATION_WITH_CUSTOM_DELEGATE(AppClass, DelegateClass) static_assert(false, "You are trying to use START_JUCE_APPLICATION in an audio plug-in. Define JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP=1 if you want to use a custom standalone target app.");
159 #define START_JUCE_APPLICATION(AppClass) \
160 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes") \
161 JUCE_CREATE_APPLICATION_DEFINE(AppClass) \
162 JUCE_MAIN_FUNCTION_DEFINITION \
163 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
206 #define START_JUCE_APPLICATION_WITH_CUSTOM_DELEGATE(AppClass, DelegateClass) \
207 JUCE_CREATE_APPLICATION_DEFINE_CUSTOM_DELEGATE(AppClass, DelegateClass) \
208 JUCE_MAIN_FUNCTION_DEFINITION
#define final
Definition DistrhoDefines.h:74
ScopedJuceInitialiser_GUI()
Definition juce_MessageManager.cpp:482
#define JUCE_API
Definition juce_StandardHeader.h:152
void initialiseJuce_GUI()
Definition carla_juce.cpp:37
void shutdownJuce_GUI()
Definition carla_juce.cpp:52
Definition carla_juce.cpp:31