1 /* ========================================
2  *  DeEss - DeEss.h
3  *  Created 8/12/11 by SPIAdmin
4  *  Copyright (c) 2011 __MyCompanyName__, All rights reserved
5  * ======================================== */
6 
7 #ifndef __DeEss_H
8 #define __DeEss_H
9 
10 #ifndef __audioeffect__
11 #include "airwindows/AirWinBaseClass.h"
12 #endif
13 
14 #include <set>
15 #include <string>
16 #include <math.h>
17 
18 namespace DeEss {
19 
20 enum {
21 	kParamA = 0,
22 	kParamB = 1,
23 	kParamC = 2,
24   kNumParameters = 3
25 }; //
26 
27 const int kNumPrograms = 0;
28 const int kNumInputs = 2;
29 const int kNumOutputs = 2;
30 const unsigned long kUniqueId = 'dess';    //Change this to what the AU identity is!
31 
32 class DeEss :
33     public AudioEffectX
34 {
35 public:
36     DeEss(audioMasterCallback audioMaster);
37     ~DeEss();
38     virtual bool getEffectName(char* name);                       // The plug-in name
39     virtual VstPlugCategory getPlugCategory();                    // The general category for the plug-in
40     virtual bool getProductString(char* text);                    // This is a unique plug-in string provided by Steinberg
41     virtual bool getVendorString(char* text);                     // Vendor info
42     virtual VstInt32 getVendorVersion();                          // Version number
43     virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
44     virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
45     virtual void getProgramName(char *name);                      // read the name from the host
46     virtual void setProgramName(char *name);                      // changes the name of the preset displayed in the host
47 	virtual VstInt32 getChunk (void** data, bool isPreset);
48 	virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
49     virtual float getParameter(VstInt32 index);                   // get the parameter value at the specified index
50     virtual void setParameter(VstInt32 index, float value);       // set the parameter at index to value
51     virtual void getParameterLabel(VstInt32 index, char *text);  // label for the parameter (eg dB)
52     virtual void getParameterName(VstInt32 index, char *text);    // name of the parameter
53     virtual void getParameterDisplay(VstInt32 index, char *text, float extVal, bool isExternal); // text description of the current value
54     virtual VstInt32 canDo(char *text);
55     bool parseParameterValueFromString(VstInt32 index, const char* str, float& f);
56 
57  private:
58     char _programName[kVstMaxProgNameLen + 1];
59     std::set< std::string > _canDo;
60 
61 	double s1L;
62 	double s2L;
63 	double s3L;
64 	double s4L;
65 	double s5L;
66 	double s6L;
67 	double s7L;
68 	double m1L;
69 	double m2L;
70 	double m3L;
71 	double m4L;
72 	double m5L;
73 	double m6L;
74 	double c1L;
75 	double c2L;
76 	double c3L;
77 	double c4L;
78 	double c5L;
79 	double ratioAL;
80 	double ratioBL;
81 	double iirSampleAL;
82 	double iirSampleBL;
83 
84 	double s1R;
85 	double s2R;
86 	double s3R;
87 	double s4R;
88 	double s5R;
89 	double s6R;
90 	double s7R;
91 	double m1R;
92 	double m2R;
93 	double m3R;
94 	double m4R;
95 	double m5R;
96 	double m6R;
97 	double c1R;
98 	double c2R;
99 	double c3R;
100 	double c4R;
101 	double c5R;
102 	double ratioAR;
103 	double ratioBR;
104 	double iirSampleAR;
105 	double iirSampleBR;
106 
107 
108 	bool flip;
109 
110 	long double fpNShapeL;
111 	long double fpNShapeR;
112 	//default stuff
113 
114     float A;
115     float B;
116     float C;
117 };
118 
119 } // end namespace DeEss
120 
121 #endif
122