annotate 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
rev   line source
martin@12 1
martin@12 2 #define kNumPrograms 5 //Number of Programs
martin@12 3 #define MAX_CHANNELS 6 //Max Input/Output Count
martin@12 4 #define VERSION 1000 //Plugin Version
martin@12 5 #define kVstVersion 2400 //Plugin implemented in VST Version
martin@12 6
martin@12 7 #ifndef __ClassicAmbiDec__
martin@12 8 #define __ClassicAmbiDec__
martin@12 9
martin@12 10 //VST SDK Header(s)
martin@12 11 #include "audioeffectx.h"
martin@12 12
martin@12 13 //Parameters Header
martin@12 14 #include "ClassicAmbiDecParameters.h"
martin@12 15 #include "Decoder.h"
martin@12 16
martin@12 17
martin@12 18 //------------------------------------------------------------------------
martin@12 19 struct ClassicAmbiDecProgram
martin@12 20 {
martin@12 21 friend class ClassicAmbiDec;
martin@12 22
martin@12 23 public:
martin@12 24 ClassicAmbiDecProgram ();
martin@12 25 ~ClassicAmbiDecProgram () {}
martin@12 26
martin@12 27 private:
martin@12 28 char name[kVstMaxProgNameLen];
martin@12 29 float mode;
martin@12 30 float width;
martin@12 31 float pattern;
martin@12 32 float rearVerb;
martin@12 33 float hiVerb;
martin@12 34 float centrePattern;
martin@12 35 float centreGain;
martin@12 36 float subGain;
martin@12 37 float surroundMode;
martin@12 38 float surroundPattern;
martin@12 39 float surroundWidth;
martin@12 40 float surroundGain;
martin@12 41 float fc;
martin@12 42 };
martin@12 43
martin@12 44
martin@12 45
martin@12 46
martin@12 47
martin@12 48 //------------------------------------------------------------------------
martin@12 49 class ClassicAmbiDec : public AudioEffectX
martin@12 50 {
martin@12 51 friend class MyEditor;
martin@12 52 public:
martin@12 53 ClassicAmbiDec (audioMasterCallback audioMaster);
martin@12 54 ~ClassicAmbiDec ();
martin@12 55
martin@12 56
martin@12 57 //---from AudioEffect-----------------------
martin@12 58 //Calls used from AudioEffectX
martin@12 59 //
martin@12 60 virtual void resume ();
martin@12 61 virtual void suspend ();
martin@12 62 virtual void close ();
martin@12 63 virtual void open ();
martin@12 64 virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
martin@12 65 virtual void processDoubleReplacing (double ** inputs, double ** outputs, VstInt32 sampleFrames);
martin@12 66
martin@12 67 virtual void setProgram(VstInt32 program);
martin@12 68 virtual void setProgramName (char* name);
martin@12 69 virtual void getProgramName (char* name);
martin@12 70 virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char *text);
martin@12 71 //virtual VstInt32 getProgram();
martin@12 72
martin@12 73 virtual void setParameter (VstInt32 index, float value);
martin@12 74 virtual float getParameter (VstInt32 index);
martin@12 75 virtual void getParameterLabel (VstInt32 index, char* label);
martin@12 76 virtual void getParameterDisplay (VstInt32 index, char* text);
martin@12 77 virtual void getParameterName (VstInt32 index, char* text);
martin@12 78
martin@12 79 virtual void setSampleRate (float sampleRate);
martin@12 80
martin@12 81 virtual bool getEffectName (char* name);
martin@12 82 virtual bool getVendorString (char* text);
martin@12 83 virtual bool getProductString (char* text);
martin@12 84 virtual VstInt32 getVendorVersion ();
martin@12 85 virtual VstInt32 getVstVersion();
martin@12 86
martin@12 87 virtual VstPlugCategory getPlugCategory () { return kPlugCategSpacializer; }
martin@12 88 virtual bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput);
martin@12 89 virtual bool getSpeakerArrangement (VstSpeakerArrangement **pluginInput, VstSpeakerArrangement **pluginOutput);
martin@12 90
martin@12 91
martin@12 92 // Variables
martin@12 93 char label[20];
martin@12 94 int bits;
martin@12 95 Decoder myDecoder;
martin@12 96 VstSpeakerArrangement* myInputArrangement;
martin@12 97
martin@12 98
martin@12 99
martin@12 100 private:
martin@12 101 int numberOutputs;
martin@12 102 int numberInputs;
martin@12 103
martin@12 104 ClassicAmbiDecProgram* programs_20;
martin@12 105 ClassicAmbiDecProgram* programs_21;
martin@12 106 ClassicAmbiDecProgram* programs_40;
martin@12 107 ClassicAmbiDecProgram* programs_50;
martin@12 108 ClassicAmbiDecProgram* programs_51;
martin@12 109
martin@12 110 //Parameter float values
martin@12 111 float fMode;
martin@12 112 float fWidth;
martin@12 113 float fPattern;
martin@12 114 float fRotate;
martin@12 115 float fTilt;
martin@12 116 float fTumble;
martin@12 117 float fZoom;
martin@12 118 float fZoomMethod;
martin@12 119 float fRearVerb;
martin@12 120 float fHiVerb;
martin@12 121 float fCentrePattern;
martin@12 122 float fCentreGain;
martin@12 123 float fSubGain;
martin@12 124 float fSurroundMode;
martin@12 125 float fSurroundPattern;
martin@12 126 float fSurroundWidth;
martin@12 127 float fSurroundGain;
martin@12 128 float fFc;
martin@12 129 float fDecoderMode;
martin@12 130 float fChannelOrder;
martin@12 131 };
martin@12 132
martin@12 133
martin@12 134 #endif