againentry.cpp

Go to the documentation of this file.
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
Empty

Copyright ©2008 Steinberg Media Technologies. All Rights Reserved.