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
|