1 //------------------------------------------------------------------------ 2 // Project : VST SDK 3 // 4 // Category : Helpers 5 // Filename : public.sdk/source/vst/aaxwrapper/aaxlibrary.cpp 6 // Created by : Steinberg, 08/2017 7 // Description : VST 3 -> AAX Wrapper 8 // 9 //----------------------------------------------------------------------------- 10 // LICENSE 11 // (c) 2020, Steinberg Media Technologies GmbH, All Rights Reserved 12 //----------------------------------------------------------------------------- 13 // Redistribution and use in source and binary forms, with or without modification, 14 // are permitted provided that the following conditions are met: 15 // 16 // * Redistributions of source code must retain the above copyright notice, 17 // this list of conditions and the following disclaimer. 18 // * Redistributions in binary form must reproduce the above copyright notice, 19 // this list of conditions and the following disclaimer in the documentation 20 // and/or other materials provided with the distribution. 21 // * Neither the name of the Steinberg Media Technologies nor the names of its 22 // contributors may be used to endorse or promote products derived from this 23 // software without specific prior written permission. 24 // 25 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 26 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 27 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 28 // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 29 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 30 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 32 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 33 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 34 // OF THE POSSIBILITY OF SUCH DAMAGE. 35 //----------------------------------------------------------------------------- 36 37 /// \cond ignore 38 39 // instead of linking to a library, we just include the sources here to have 40 // full control over compile settings 41 42 #define I18N_LIB 1 43 #define PLUGIN_SDK_BUILD 1 44 #define DPA_PLUGIN_BUILD 1 45 #define INITACFIDS // Make sure all of the AVX2 uids are defined. 46 #define UNICODE 1 47 48 #ifdef _WIN32 49 #ifndef WIN32 50 #define WIN32 // for CMutex.cpp 51 #endif 52 #define WINDOWS_VERSION 1 // for AAXWrapper_GUI.h 53 #endif 54 55 #ifdef __clang__ 56 #pragma clang diagnostic push 57 #pragma clang diagnostic ignored "-Wreorder" 58 #endif 59 60 #include "AAX_Atomic.h" 61 62 #include "../Interfaces/ACF/CACFClassFactory.cpp" 63 #include "../Libs/AAXLibrary/source/AAX_CACFUnknown.cpp" 64 #include "../Libs/AAXLibrary/source/AAX_CChunkDataParser.cpp" 65 #include "../Libs/AAXLibrary/source/AAX_CEffectDirectData.cpp" 66 #include "../Libs/AAXLibrary/source/AAX_CEffectGUI.cpp" 67 #include "../Libs/AAXLibrary/source/AAX_CEffectParameters.cpp" 68 #include "../Libs/AAXLibrary/source/AAX_CHostProcessor.cpp" 69 #include "../Libs/AAXLibrary/source/AAX_CHostServices.cpp" 70 #include "../Libs/AAXLibrary/source/AAX_CMutex.cpp" 71 #include "../Libs/AAXLibrary/source/AAX_CPacketDispatcher.cpp" 72 #include "../Libs/AAXLibrary/source/AAX_CParameter.cpp" 73 #include "../Libs/AAXLibrary/source/AAX_CParameterManager.cpp" 74 #include "../Libs/AAXLibrary/source/AAX_CString.cpp" 75 #include "../Libs/AAXLibrary/source/AAX_CUIDs.cpp" 76 #include "../Libs/AAXLibrary/source/AAX_CommonConversions.cpp" 77 #include "../Libs/AAXLibrary/source/AAX_IEffectDirectData.cpp" 78 #include "../Libs/AAXLibrary/source/AAX_IEffectGUI.cpp" 79 #include "../Libs/AAXLibrary/source/AAX_IEffectParameters.cpp" 80 #include "../Libs/AAXLibrary/source/AAX_IHostProcessor.cpp" 81 #include "../Libs/AAXLibrary/source/AAX_Init.cpp" 82 #include "../Libs/AAXLibrary/source/AAX_Properties.cpp" 83 #include "../Libs/AAXLibrary/source/AAX_VAutomationDelegate.cpp" 84 #include "../Libs/AAXLibrary/source/AAX_VCollection.cpp" 85 #include "../Libs/AAXLibrary/source/AAX_VComponentDescriptor.cpp" 86 #include "../Libs/AAXLibrary/source/AAX_VController.cpp" 87 #include "../Libs/AAXLibrary/source/AAX_VDescriptionHost.cpp" 88 #include "../Libs/AAXLibrary/source/AAX_VEffectDescriptor.cpp" 89 #include "../Libs/AAXLibrary/source/AAX_VFeatureInfo.cpp" 90 #include "../Libs/AAXLibrary/source/AAX_VHostProcessorDelegate.cpp" 91 #include "../Libs/AAXLibrary/source/AAX_VHostServices.cpp" 92 #include "../Libs/AAXLibrary/source/AAX_VPageTable.cpp" 93 #include "../Libs/AAXLibrary/source/AAX_VPrivateDataAccess.cpp" 94 #include "../Libs/AAXLibrary/source/AAX_VPropertyMap.cpp" 95 #include "../Libs/AAXLibrary/source/AAX_VTransport.cpp" 96 #include "../Libs/AAXLibrary/source/AAX_VViewContainer.cpp" 97 98 #ifdef _WIN32 99 #include "../Libs/AAXLibrary/source/AAX_CAutoreleasePool.Win.cpp" 100 #else 101 //#include "../Libs/AAXLibrary/source/AAX_CAutoreleasePool.OSX.mm" 102 #endif 103 104 #undef min 105 #undef max 106 107 // put at the very end, uses "using namespace std" 108 #include "../Libs/AAXLibrary/source/AAX_SliderConversions.cpp" 109 110 #ifdef __clang__ 111 #pragma clang diagnostic pop 112 #endif 113 114 /// \endcond