42 JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI();
52 JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI();
92 #define START_JUCE_APPLICATION(AppClass) 94 #if JUCE_WINDOWS && ! defined (_CONSOLE) 95 #define JUCE_MAIN_FUNCTION int __stdcall WinMain (struct HINSTANCE__*, struct HINSTANCE__*, char*, int) 96 #define JUCE_MAIN_FUNCTION_ARGS 98 #define JUCE_MAIN_FUNCTION int main (int argc, char* argv[]) 99 #define JUCE_MAIN_FUNCTION_ARGS argc, (const char**) argv 104 #define JUCE_CREATE_APPLICATION_DEFINE(AppClass) \ 105 juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); } \ 106 void* juce_GetIOSCustomDelegateClass() { return nullptr; } 108 #define JUCE_CREATE_APPLICATION_DEFINE_CUSTOM_DELEGATE(AppClass, DelegateClass) \ 109 juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); } \ 110 void* juce_GetIOSCustomDelegateClass() { return [DelegateClass class]; } 112 #define JUCE_MAIN_FUNCTION_DEFINITION \ 113 extern "C" JUCE_MAIN_FUNCTION \ 115 juce::JUCEApplicationBase::createInstance = &juce_CreateApplication; \ 116 juce::JUCEApplicationBase::iOSCustomDelegate = juce_GetIOSCustomDelegateClass(); \ 117 return juce::JUCEApplicationBase::main (JUCE_MAIN_FUNCTION_ARGS); \ 122 #define JUCE_CREATE_APPLICATION_DEFINE(AppClass) \ 123 extern "C" juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); } 125 #define JUCE_MAIN_FUNCTION_DEFINITION 129 #define JUCE_CREATE_APPLICATION_DEFINE(AppClass) \ 130 juce::JUCEApplicationBase* juce_CreateApplication(); \ 131 juce::JUCEApplicationBase* juce_CreateApplication() { return new AppClass(); } 133 #define JUCE_MAIN_FUNCTION_DEFINITION \ 134 extern "C" JUCE_MAIN_FUNCTION \ 136 juce::JUCEApplicationBase::createInstance = &juce_CreateApplication; \ 137 return juce::JUCEApplicationBase::main (JUCE_MAIN_FUNCTION_ARGS); \ 142 #if JucePlugin_Build_Standalone 143 #if JUCE_USE_CUSTOM_PLUGIN_STANDALONE_APP 144 #define START_JUCE_APPLICATION(AppClass) JUCE_CREATE_APPLICATION_DEFINE(AppClass) 146 #define START_JUCE_APPLICATION_WITH_CUSTOM_DELEGATE(AppClass, DelegateClass) JUCE_CREATE_APPLICATION_DEFINE_CUSTOM_DELEGATE(AppClass, DelegateClass) 149 #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."); 151 #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."); 156 #define START_JUCE_APPLICATION(AppClass) \ 157 JUCE_CREATE_APPLICATION_DEFINE(AppClass) \ 158 JUCE_MAIN_FUNCTION_DEFINITION 201 #define START_JUCE_APPLICATION_WITH_CUSTOM_DELEGATE(AppClass, DelegateClass) \ 202 JUCE_CREATE_APPLICATION_DEFINE_CUSTOM_DELEGATE(AppClass, DelegateClass) \ 203 JUCE_MAIN_FUNCTION_DEFINITION #define JUCE_API
This macro is added to all JUCE public class declarations.
A utility object that helps you initialise and shutdown JUCE correctly using an RAII pattern...