/* ======================================== * NonlinearSpace - NonlinearSpace.h * Created 8/12/11 by SPIAdmin * Copyright (c) 2011 __MyCompanyName__, All rights reserved * ======================================== */ #ifndef __NonlinearSpace_H #define __NonlinearSpace_H #ifndef __audioeffect__ #include "audioeffectx.h" #endif #include #include #include enum { kParamA = 0, kParamB = 1, kParamC = 2, kParamD = 3, kParamE = 4, kParamF = 5, kNumParameters = 6 }; // const int kNumPrograms = 0; const int kNumInputs = 2; const int kNumOutputs = 2; const unsigned long kUniqueId = 'nspc'; //Change this to what the AU identity is! class NonlinearSpace : public AudioEffectX { public: NonlinearSpace(audioMasterCallback audioMaster); ~NonlinearSpace(); 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; double avgInputL; double avgOutputL; double avg2InputL; double avg2OutputL; double avgInputR; double avgOutputR; double avg2InputR; double avg2OutputR; double a2vgInputL; double a2vgOutputL; double a2vg2InputL; double a2vg2OutputL; double a2vgInputR; double a2vgOutputR; double a2vg2InputR; double a2vg2OutputR; double verboutL; double verboutR; double iirCCSampleL; double iirCCSampleR; double iirSampleL; double iirSampleR; double dMid[2348]; double dSide[1334]; double dLeft[5924]; double dRight[5926]; double dpreR[7575]; double dpreL[7575]; double dA[7575]; double dB[7309]; double dC[7179]; double dD[6909]; double dE[6781]; double dF[6523]; double dG[5983]; double dH[5565]; double dI[5299]; double dJ[4905]; double dK[4761]; double dL[4491]; double dM[4393]; double dN[4231]; double dO[4155]; double dP[3991]; double dQ[3661]; double dR[3409]; double dS[3253]; double dT[3001]; double dU[2919]; double dV[2751]; double dW[2505]; double dX[2425]; double dY[2148]; double dZ[2090]; double interpolA, pitchshiftA; //7575 double interpolB, pitchshiftB; //7309 double interpolC, pitchshiftC; //7179 double interpolD, pitchshiftD; //6909 double interpolE, pitchshiftE; //6781 double interpolF, pitchshiftF; //6523 double interpolG, pitchshiftG; //5983 double interpolH, pitchshiftH; //5565 double interpolI, pitchshiftI; //5299 double interpolJ, pitchshiftJ; //4905 double interpolK, pitchshiftK; //4761 double interpolL, pitchshiftL; //4491 double interpolM, pitchshiftM; //4393 double interpolN, pitchshiftN; //4231 double interpolO, pitchshiftO; //4155 double interpolP, pitchshiftP; //3991 double interpolQ, pitchshiftQ; //3661 double interpolR, pitchshiftR; //3409 double interpolS, pitchshiftS; //3253 double interpolT, pitchshiftT; //3001 double interpolU, pitchshiftU; //2919 double interpolV, pitchshiftV; //2751 double interpolW, pitchshiftW; //2505 double interpolX, pitchshiftX; //2425 double interpolY, pitchshiftY; //2148 double interpolZ, pitchshiftZ; //2090 int oneMid, delayMid, maxdelayMid; int oneSide, delaySide, maxdelaySide; int oneLeft, delayLeft, maxdelayLeft; int oneRight, delayRight, maxdelayRight; int onepre, delaypre, maxdelaypre; int oneA, twoA, treA, delayA, maxdelayA; int oneB, twoB, treB, delayB, maxdelayB; int oneC, twoC, treC, delayC, maxdelayC; int oneD, twoD, treD, delayD, maxdelayD; int oneE, twoE, treE, delayE, maxdelayE; int oneF, twoF, treF, delayF, maxdelayF; int oneG, twoG, treG, delayG, maxdelayG; int oneH, twoH, treH, delayH, maxdelayH; int oneI, twoI, treI, delayI, maxdelayI; int oneJ, twoJ, treJ, delayJ, maxdelayJ; int oneK, twoK, treK, delayK, maxdelayK; int oneL, twoL, treL, delayL, maxdelayL; int oneM, twoM, treM, delayM, maxdelayM; int oneN, twoN, treN, delayN, maxdelayN; int oneO, twoO, treO, delayO, maxdelayO; int oneP, twoP, treP, delayP, maxdelayP; int oneQ, twoQ, treQ, delayQ, maxdelayQ; int oneR, twoR, treR, delayR, maxdelayR; int oneS, twoS, treS, delayS, maxdelayS; int oneT, twoT, treT, delayT, maxdelayT; int oneU, twoU, treU, delayU, maxdelayU; int oneV, twoV, treV, delayV, maxdelayV; int oneW, twoW, treW, delayW, maxdelayW; int oneX, twoX, treX, delayX, maxdelayX; int oneY, twoY, treY, delayY, maxdelayY; int oneZ, twoZ, treZ, delayZ, maxdelayZ; double savedPredelay; double savedRoomsize; int countdown; double lowpassSampleAA; double lowpassSampleAB; double lowpassSampleBA; double lowpassSampleBB; double lowpassSampleCA; double lowpassSampleCB; double lowpassSampleDA; double lowpassSampleDB; double lowpassSampleE; double lowpassSampleF; double lowpassSampleG; double rowpassSampleAA; double rowpassSampleAB; double rowpassSampleBA; double rowpassSampleBB; double rowpassSampleCA; double rowpassSampleCB; double rowpassSampleDA; double rowpassSampleDB; double rowpassSampleE; double rowpassSampleF; double rowpassSampleG; bool flip; double nonlin; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; float D; float E; float F; //parameters. Always 0-1, and we scale/alter them elsewhere. }; #endif