Mercurial > hg > ambi-plugin
view Source/SoundField.h @ 10:b5d48e9b9aea
GUI Works fine.
Small memory leaks.
author | martinm_home <martin.morrell@eecs.qmul.ac.uk> |
---|---|
date | Tue, 25 Sep 2012 21:35:17 +0100 |
parents | 53f99cbc5dbd |
children | 76e2e62635b4 |
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 5 //Number of Programs #define MAX_CHANNELS 6 //Max Input/Output Count #define VERSION 1000 //Plugin Version #ifndef __SoundField__ #define __SoundField__ //VST SDK Header(s) #include "audioeffectx.h" //Parameters Header #include "SoundFieldParameters.h" #include "Decoder.h" //------------------------------------------------------------------------ struct SoundFieldProgram { friend class SoundField; public: SoundFieldProgram (); ~SoundFieldProgram () {} private: char name[kVstMaxProgNameLen]; float mode; float width; float pattern; float rotate; float rearVerb; float hiVerb; float centrePattern; float centreGain; float subGain; float surroundMode; float surroundPattern; float surroundWidth; float surroundGain; float fc; }; //------------------------------------------------------------------------ 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 processDoubleReplacing (double ** inputs, double ** outputs, VstInt32 sampleFrames); virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char *text); virtual void setProgram(VstInt32 program); virtual VstInt32 getProgram(); 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 void setSampleRate (float sampleRate); virtual bool getEffectName (char* name); virtual bool getVendorString (char* text); virtual bool getProductString (char* text); virtual VstInt32 getVendorVersion (); virtual VstPlugCategory getPlugCategory () { return kPlugCategSpacializer; } virtual bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput); // Variables char label[20]; int bits; Decoder myDecoder; private: int numberOutputs; int numberInputs; SoundFieldProgram programs[5][kNumPrograms]; //Parameter float values float fMode; float fWidth; float fPattern; float fRotate; float fTilt; float fTumble; float fZoom; float fZoomMethod; float fRearVerb; float fHiVerb; float fCentrePattern; float fCentreGain; float fSubGain; float fSurroundMode; float fSurroundPattern; float fSurroundWidth; float fSurroundGain; float fFc; float fDecoderMode; float fChannelOrder; }; #endif