Mercurial > hg > ambi-plugin
view Source/ClassicAmbiDec.h @ 13:989865d55c73 tip
Commit.
author | martinm_home <martin.morrell@eecs.qmul.ac.uk> |
---|---|
date | Thu, 27 Sep 2012 23:30:29 +0100 |
parents | 87dc3d84c120 |
children |
line wrap: on
line source
#define kNumPrograms 5 //Number of Programs #define MAX_CHANNELS 6 //Max Input/Output Count #define VERSION 1000 //Plugin Version #define kVstVersion 2400 //Plugin implemented in VST Version #ifndef __ClassicAmbiDec__ #define __ClassicAmbiDec__ //VST SDK Header(s) #include "audioeffectx.h" //Parameters Header #include "ClassicAmbiDecParameters.h" #include "Decoder.h" //------------------------------------------------------------------------ struct ClassicAmbiDecProgram { friend class ClassicAmbiDec; public: ClassicAmbiDecProgram (); ~ClassicAmbiDecProgram () {} private: char name[kVstMaxProgNameLen]; float mode; float width; float pattern; float rearVerb; float hiVerb; float centrePattern; float centreGain; float subGain; float surroundMode; float surroundPattern; float surroundWidth; float surroundGain; float fc; }; //------------------------------------------------------------------------ class ClassicAmbiDec : public AudioEffectX { friend class MyEditor; public: ClassicAmbiDec (audioMasterCallback audioMaster); ~ClassicAmbiDec (); //---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 void setProgram(VstInt32 program); virtual void setProgramName (char* name); virtual void getProgramName (char* name); virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char *text); //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 VstInt32 getVstVersion(); virtual VstPlugCategory getPlugCategory () { return kPlugCategSpacializer; } virtual bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput); virtual bool getSpeakerArrangement (VstSpeakerArrangement **pluginInput, VstSpeakerArrangement **pluginOutput); // Variables char label[20]; int bits; Decoder myDecoder; VstSpeakerArrangement* myInputArrangement; private: int numberOutputs; int numberInputs; ClassicAmbiDecProgram* programs_20; ClassicAmbiDecProgram* programs_21; ClassicAmbiDecProgram* programs_40; ClassicAmbiDecProgram* programs_50; ClassicAmbiDecProgram* programs_51; //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