00001 //------------------------------------------------------------------------ 00002 // Project : VST SDK 00003 // Version : 3.0 00004 // 00005 // Category : Examples 00006 // Filename : againentry.cpp 00007 // Created by : Steinberg, 04/2005 00008 // Modified : $Date: 2008/01/11 15:32:22 $ 00009 // Description : AGain Example for VST 3.0 00010 //----------------------------------------------------------------------------- 00011 // LICENSE 00012 // © 2008, Steinberg Media Technologies GmbH, All Rights Reserved 00013 //----------------------------------------------------------------------------- 00014 // This Software Development Kit may not be distributed in parts or its entirety 00015 // without prior written agreement by Steinberg Media Technologies GmbH. 00016 // This SDK must not be used to re-engineer or manipulate any technology used 00017 // in any Steinberg or Third-party application or software module, 00018 // unless permitted by law. 00019 // Neither the name of the Steinberg Media Technologies nor the names of its 00020 // contributors may be used to endorse or promote products derived from this 00021 // software without specific prior written permission. 00022 // 00023 // THIS SDK IS PROVIDED BY STEINBERG MEDIA TECHNOLOGIES GMBH "AS IS" AND 00024 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00025 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00026 // IN NO EVENT SHALL STEINBERG MEDIA TECHNOLOGIES GMBH BE LIABLE FOR ANY DIRECT, 00027 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 00028 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00029 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00030 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 00031 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 00032 // OF THE POSSIBILITY OF SUCH DAMAGE. 00033 //----------------------------------------------------------------------------- 00034 00035 #include "again.h" // for AGain 00036 #include "againcontroller.h" // for AGainController 00037 #include "version.h" // for versionning 00038 00039 #include "public.sdk/source/main/pluginfactory.h" 00040 00041 //------------------------------------------------------------------------ 00042 // Module init/exit 00043 //------------------------------------------------------------------------ 00044 00045 void* hInstance = 0; 00046 00047 //------------------------------------------------------------------------ 00048 // called when library is unloaded 00049 bool InitModule () 00050 { 00051 extern void* moduleHandle; 00052 hInstance = moduleHandle; 00053 return true; 00054 } 00055 00056 //------------------------------------------------------------------------ 00057 // called when library is unloaded 00058 bool DeinitModule () 00059 { 00060 return true; 00061 } 00062 00063 00064 //------------------------------------------------------------------------ 00065 // VST Plug-In Entry 00066 //------------------------------------------------------------------------ 00067 // Windows: do not forget to include a .def file in your project to export 00068 // GetPluginFactory function! 00069 //------------------------------------------------------------------------ 00070 00071 BEGIN_FACTORY_DEF ("Steinberg", 00072 "http://www.steinberg.de", 00073 "mailto:info@steinberg.de") 00074 00075 //---First Plugin included in this factory------- 00076 // its kVstAudioEffectClass component 00077 DEF_CLASS2 (INLINE_UID (gComponentUID1, gComponentUID2, gComponentUID3, gComponentUID4), 00078 PClassInfo::kManyInstances, // cardinality 00079 kVstAudioEffectClass, // the component category (dont changed this) 00080 "AGain VST3", // here the plug-in name (to be changed) 00081 Vst::kDistributable, // means that component and controller could be distributed on different computers 00082 "Fx", // Subcategory for this plug-in (to be changed) 00083 FULL_VERSION_STR, // plug-in version (to be changed) 00084 kVstVersionString, // the VST 3 SDK version (dont changed this, use always this define) 00085 AGain::createInstance) // function pointer called when this component should be instanciated 00086 00087 // its kVstComponentControllerClass component 00088 DEF_CLASS2 (INLINE_UID (gControllerUID1, gControllerUID2, gControllerUID3, gControllerUID4), 00089 PClassInfo::kManyInstances, // cardinality 00090 kVstComponentControllerClass,// the Controller category (dont changed this) 00091 "AGain Controller VST3", // controller name (could be the same than component name) 00092 0, // not used here 00093 "", // not used here 00094 FULL_VERSION_STR, // plug-in version (to be changed) 00095 kVstVersionString, // the VST 3 SDK version (dont changed this, use always this define) 00096 AGainController::createInstance)// function pointer called when this component should be instanciated 00097 00098 //----for others plugins contained in this factory, put like for the first plugin different DEF_CLASS2--- 00099 00100 END_FACTORY