airwindows/plugins/WinVST/Pear2/Pear2.h
Christopher Johnson be9bf0f288 Air3
2024-03-10 16:08:59 -04:00

144 lines
3.6 KiB
C++
Executable file

/* ========================================
* Pear2 - Pear2.h
* Created 8/12/11 by SPIAdmin
* Copyright (c) Airwindows, Airwindows uses the MIT license
* ======================================== */
#ifndef __Pear2_H
#define __Pear2_H
#ifndef __audioeffect__
#include "audioeffectx.h"
#endif
#include <set>
#include <string>
#include <math.h>
enum {
kParamA = 0,
kParamB = 1,
kParamC = 2,
kParamD = 3,
kNumParameters = 4
}; //
const int kNumPrograms = 0;
const int kNumInputs = 2;
const int kNumOutputs = 2;
const unsigned long kUniqueId = 'peas'; //Change this to what the AU identity is!
class Pear2 :
public AudioEffectX
{
public:
Pear2(audioMasterCallback audioMaster);
~Pear2();
virtual bool getEffectName(char* name); // The plug-in name
virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in
virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg
virtual bool getVendorString(char* text); // Vendor info
virtual VstInt32 getVendorVersion(); // Version number
virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames);
virtual void getProgramName(char *name); // read the name from the host
virtual void setProgramName(char *name); // changes the name of the preset displayed in the host
virtual VstInt32 getChunk (void** data, bool isPreset);
virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset);
virtual float getParameter(VstInt32 index); // get the parameter value at the specified index
virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value
virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB)
virtual void getParameterName(VstInt32 index, char *text); // name of the parameter
virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value
virtual VstInt32 canDo(char *text);
private:
char _programName[kVstMaxProgNameLen + 1];
std::set< std::string > _canDo;
uint32_t fpdL;
uint32_t fpdR;
//default stuff
enum {
prevSampL1,
prevSlewL1,
prevSampR1,
prevSlewR1,
prevSampL2,
prevSlewL2,
prevSampR2,
prevSlewR2,
prevSampL3,
prevSlewL3,
prevSampR3,
prevSlewR3,
prevSampL4,
prevSlewL4,
prevSampR4,
prevSlewR4,
prevSampL5,
prevSlewL5,
prevSampR5,
prevSlewR5,
prevSampL6,
prevSlewL6,
prevSampR6,
prevSlewR6,
prevSampL7,
prevSlewL7,
prevSampR7,
prevSlewR7,
prevSampL8,
prevSlewL8,
prevSampR8,
prevSlewR8,
prevSampL9,
prevSlewL9,
prevSampR9,
prevSlewR9,
prevSampL10,
prevSlewL10,
prevSampR10,
prevSlewR10,
prevSampL11,
prevSlewL11,
prevSampR11,
prevSlewR11,
prevSampL12,
prevSlewL12,
prevSampR12,
prevSlewR12,
prevSampL13,
prevSlewL13,
prevSampR13,
prevSlewR13,
prevSampL14,
prevSlewL14,
prevSampR14,
prevSlewR14,
prevSampL15,
prevSlewL15,
prevSampR15,
prevSlewR15,
prevSampL16,
prevSlewL16,
prevSampR16,
prevSlewR16,
pear_total
}; //fixed frequency pear filter for ultrasonics, stereo
double pear[pear_total]; //probably worth just using a number here
double freqA;
double freqB;
double nonLinA;
double nonLinB;
double wetA;
double wetB;
float A;
float B;
float C;
float D;
};
#endif