diff options
Diffstat (limited to 'vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source')
| -rw-r--r-- | vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp | 139 | ||||
| -rw-r--r-- | vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h | 50 |
2 files changed, 189 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp new file mode 100644 index 0000000..9d0af10 --- /dev/null +++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.cpp @@ -0,0 +1,139 @@ +//------------------------------------------------------------------------------------------------------- +// VST Plug-Ins SDK +// Version 2.4 $Date: 2006/11/13 09:08:27 $ +// +// Category : VST 2.x SDK Samples +// Filename : again.cpp +// Created by : Steinberg Media Technologies +// Description : Stereo plugin which applies Gain [-oo, 0dB] +// +// © 2006, Steinberg Media Technologies, All Rights Reserved +//------------------------------------------------------------------------------------------------------- + +#include "again.h" + +//------------------------------------------------------------------------------------------------------- +AudioEffect* createEffectInstance (audioMasterCallback audioMaster) +{ + return new AGain (audioMaster); +} + +//------------------------------------------------------------------------------------------------------- +AGain::AGain (audioMasterCallback audioMaster) +: AudioEffectX (audioMaster, 1, 1) // 1 program, 1 parameter only +{ + setNumInputs (2); // stereo in + setNumOutputs (2); // stereo out + setUniqueID ('Gain'); // identify + canProcessReplacing (); // supports replacing output + canDoubleReplacing (); // supports double precision processing + + fGain = 1.f; // default to 0 dB + vst_strncpy (programName, "Default", kVstMaxProgNameLen); // default program name +} + +//------------------------------------------------------------------------------------------------------- +AGain::~AGain () +{ + // nothing to do here +} + +//------------------------------------------------------------------------------------------------------- +void AGain::setProgramName (char* name) +{ + vst_strncpy (programName, name, kVstMaxProgNameLen); +} + +//----------------------------------------------------------------------------------------- +void AGain::getProgramName (char* name) +{ + vst_strncpy (name, programName, kVstMaxProgNameLen); +} + +//----------------------------------------------------------------------------------------- +void AGain::setParameter (VstInt32 index, float value) +{ + fGain = value; +} + +//----------------------------------------------------------------------------------------- +float AGain::getParameter (VstInt32 index) +{ + return fGain; +} + +//----------------------------------------------------------------------------------------- +void AGain::getParameterName (VstInt32 index, char* label) +{ + vst_strncpy (label, "Gain", kVstMaxParamStrLen); +} + +//----------------------------------------------------------------------------------------- +void AGain::getParameterDisplay (VstInt32 index, char* text) +{ + dB2string (fGain, text, kVstMaxParamStrLen); +} + +//----------------------------------------------------------------------------------------- +void AGain::getParameterLabel (VstInt32 index, char* label) +{ + vst_strncpy (label, "dB", kVstMaxParamStrLen); +} + +//------------------------------------------------------------------------ +bool AGain::getEffectName (char* name) +{ + vst_strncpy (name, "Gain", kVstMaxEffectNameLen); + return true; +} + +//------------------------------------------------------------------------ +bool AGain::getProductString (char* text) +{ + vst_strncpy (text, "Gain", kVstMaxProductStrLen); + return true; +} + +//------------------------------------------------------------------------ +bool AGain::getVendorString (char* text) +{ + vst_strncpy (text, "Steinberg Media Technologies", kVstMaxVendorStrLen); + return true; +} + +//----------------------------------------------------------------------------------------- +VstInt32 AGain::getVendorVersion () +{ + return 1000; +} + +//----------------------------------------------------------------------------------------- +void AGain::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + while (--sampleFrames >= 0) + { + (*out1++) = (*in1++) * fGain; + (*out2++) = (*in2++) * fGain; + } +} + +//----------------------------------------------------------------------------------------- +void AGain::processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + double dGain = fGain; + + while (--sampleFrames >= 0) + { + (*out1++) = (*in1++) * dGain; + (*out2++) = (*in2++) * dGain; + } +} diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h new file mode 100644 index 0000000..f241dfa --- /dev/null +++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/again/source/again.h @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------------------------------- +// VST Plug-Ins SDK +// Version 2.4 $Date: 2006/11/13 09:08:27 $ +// +// Category : VST 2.x SDK Samples +// Filename : again.h +// Created by : Steinberg Media Technologies +// Description : Stereo plugin which applies Gain [-oo, 0dB] +// +// © 2006, Steinberg Media Technologies, All Rights Reserved +//------------------------------------------------------------------------------------------------------- + +#ifndef __again__ +#define __again__ + +#include "public.sdk/source/vst2.x/audioeffectx.h" + +//------------------------------------------------------------------------------------------------------- +class AGain : public AudioEffectX +{ +public: + AGain (audioMasterCallback audioMaster); + ~AGain (); + + // Processing + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + + // Program + virtual void setProgramName (char* name); + virtual void getProgramName (char* name); + + // Parameters + virtual void setParameter (VstInt32 index, float value); + virtual float getParameter (VstInt32 index); + virtual void getParameterLabel (VstInt32 index, char* label); + virtual void getParameterDisplay (VstInt32 index, char* text); + virtual void getParameterName (VstInt32 index, char* text); + + virtual bool getEffectName (char* name); + virtual bool getVendorString (char* text); + virtual bool getProductString (char* text); + virtual VstInt32 getVendorVersion (); + +protected: + float fGain; + char programName[kVstMaxProgNameLen + 1]; +}; + +#endif |
