Mercurial > hg > ambi-plugin
view Source/SoundField.h @ 0:2fa9c10568d1
Initial setup.
author | martinm_home <martin.morrell@eecs.qmul.ac.uk> |
---|---|
date | Tue, 14 Aug 2012 09:34:15 +0100 |
parents | |
children | 503cbcdd0b2a |
line wrap: on
line source
//------------------------------------------------------------------------------------------------------- // VST Plug-Ins SDK // Version 2.4 $Date: 2006/11/13 09:08:27 $ // // Category : VST 2.x SDK Samples // Filename : adelay.h // Created by : Steinberg Media Technologies // Description : Simple Delay plugin (Mono->Stereo) // // © 2006, Steinberg Media Technologies, All Rights Reserved //------------------------------------------------------------------------------------------------------- #define kNumPrograms 1 //Number of Programs //#define kNumParams 10 //Number of Parameters #define MAX_CHANNELS 2 //Max Input/Output Count #define VERSION 1001 //Plugin Version #ifndef __SoundField__ #define __SoundField__ //VST SDK Header(s) #include "audioeffectx.h" //Parameters Header #include "SoundFieldParameters.h" #include "Decoder.h" //------------------------------------------------------------------------ struct SoundFieldProgram { //float param[kNumPrograms]; //Array of char name[20]; public: SoundFieldProgram (); ~SoundFieldProgram () {} private: }; //------------------------------------------------------------------------ class SoundField : public AudioEffectX { friend class MyEditor; public: SoundField (audioMasterCallback audioMaster); ~SoundField (); //---from AudioEffect----------------------- //Calls used from AudioEffectX // virtual void resume (); virtual void suspend (); virtual void close (); virtual void open (); virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); virtual void setProgram (VstInt32 program); virtual void setProgramName (char* name); virtual void getProgramName (char* name); virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text); virtual void setParameter (VstInt32 index, float value); virtual float getParameter (VstInt32 index); virtual void getParameterLabel (VstInt32 index, char* label); virtual void getParameterDisplay (VstInt32 index, char* text); virtual void getParameterName (VstInt32 index, char* text); virtual bool getEffectName (char* name); virtual bool getVendorString (char* text); virtual bool getProductString (char* text); virtual VstInt32 getVendorVersion (); //virtual VstPlugCategory getPlugCategory () { return kPlugCategEffect; } //virtual bool getSpeakerArrangement (VstSpeakerArrangement** pluginInput, VstSpeakerArrangement** pluginOutput); virtual bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput); // Variables char label[20]; int bits; Decoder myDecoder; private: //Variables/Functions for DSP i.e. private from the Host SoundFieldProgram* programs; VstSpeakerArrangement* plugInput; VstSpeakerArrangement* plugOutput; //Private Variables float* sBuffers[MAX_CHANNELS]; float* pBuffers[2]; char programName[kVstMaxProgNameLen + 1]; //Parameter float values float fMode; float fWidth; float fPattern; float fRotate; float fTilt; float fTumble; float fZoom; float fZoomMethod; float fRearVerb; float fHiVerb; }; #endif