home *** CD-ROM | disk | FTP | other *** search
- /*-----------------------------------------------------------------------------
-
- ===========================================================================
- Rivista : Cubase Magazine
- Rubrica : CUBASIS VST FACILE (15)
- Articolo : 'Realizziamo un semplice Plug-In per Cubasis VST 3.0 (parte IV)'
- di: Giuseppe Varriale (admin@websoftconsulting.com)
- Contenuto: analisi, personalizzazione e costruzione a scopo didattico
- di un semplice plug-in (CMGain) per Cubasis VST 3.
-
- File : AGainMain.cpp
- ===========================================================================
-
- Esempio originale del VST SDK: AGain
- ⌐ 1999, Steinberg Soft und Hardware GmbH, All Rights Reserved
-
-
- -----------------------------------------------------------------------------*/
-
- #include "AGain.hpp"
-
- static AudioEffect *effect = 0;
- bool oome = false;
-
- #if MAC
- #pragma export on
- #endif
-
- // prototipo della funzione main
- #if BEOS
- #define main main_plugin
- extern "C" __declspec(dllexport) AEffect *main_plugin (audioMasterCallback audioMaster);
-
- #else
- AEffect *main (audioMasterCallback audioMaster);
- #endif
-
- //-----------------------------------------------------------------------------
- // la funzione main
-
- AEffect *main (audioMasterCallback audioMaster)
- {
- // controlla versione del vst: se ritorna 0 Φ una sua versione vecchia!
- if (!audioMaster (0, audioMasterVersion, 0, 0, 0, 0))
- return 0; // old version
-
- // istanzia un nuovo oggetto plug-in di Classe AGain
- effect = new AGain (audioMaster);
- if (!effect)
- return 0;
- if (oome)
- {
- delete effect;
- return 0;
- }
- return effect->getAeffect ();
- }
-
- #if MAC
- #pragma export off
- #endif
-
-
- #if WIN32
- #include <windows.h>
- void* hInstance;
-
- //-----------------------------------------------------------------------------
- // æpunto di accessoÆ (entry point) di Windows alla libreria DLL
-
- /*
- breve estratto dallÆhelp del Microsfot SDK
- DllMain Φ un metodo opzionale per l'entrata in una dynamic-link library (DLL).
- Se si usa tale funzione essa viene chiamata dal sistema quando processi e threads sono inizializzati
- e terminati od a seguito di chiamate alle funzioni LoadLibrary e FreeLibrary.
- */
-
- BOOL WINAPI DllMain (HINSTANCE hInst, DWORD dwReason, LPVOID lpvReserved)
- {
- hInstance = hInst;
- return 1;
- }
- #endif
-