Mercurial > hg > ambi-plugin
view Source/ClassicAmbiDec.h @ 12:87dc3d84c120
Addressed the load program defaults over user settings 'feature'.
Removed isChild on objects that are added before the frame creation since a)they're always there and b) doesn't write to all displays present.
author | martinm_home <martin.morrell@eecs.qmul.ac.uk> |
---|---|
date | Thu, 27 Sep 2012 23:29:16 +0100 |
parents | |
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