/* ======================================== * ClipOnly - ClipOnly.h * Created 8/12/11 by SPIAdmin * Copyright (c) 2011 __MyCompanyName__, All rights reserved * ======================================== */ #ifndef __ClipOnly_H #define __ClipOnly_H #ifndef __audioeffect__ #include "audioeffectx.h" #endif #include #include #include enum { kNumParameters = 0 }; const int kNumPrograms = 0; const int kNumInputs = 2; const int kNumOutputs = 2; const unsigned long kUniqueId = 'cloy'; //Change this to what the AU identity is! class ClipOnly : public AudioEffectX { public: ClipOnly(audioMasterCallback audioMaster); ~ClipOnly(); 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 canDo(char *text); private: char _programName[kVstMaxProgNameLen + 1]; std::set< std::string > _canDo; float lastSampleL; bool wasPosClipL; bool wasNegClipL; float lastSampleR; bool wasPosClipR; bool wasNegClipR; }; #endif