summaryrefslogtreecommitdiff
path: root/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h')
-rw-r--r--vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h
new file mode 100644
index 0000000..1b21c96
--- /dev/null
+++ b/vendor/vstsdk2.4/public.sdk/samples/vst2.x/adelay/adelay.h
@@ -0,0 +1,93 @@
+//-------------------------------------------------------------------------------------------------------
+// VST Plug-Ins SDK
+// Version 2.4 $Date: 2006/11/13 09:08:27 $
+//
+// Category : VST 2.x SDK Samples
+// Filename : adelay.h
+// Created by : Steinberg Media Technologies
+// Description : Simple Delay plugin (Mono->Stereo)
+//
+// © 2006, Steinberg Media Technologies, All Rights Reserved
+//-------------------------------------------------------------------------------------------------------
+
+#ifndef __adelay__
+#define __adelay__
+
+#include "public.sdk/source/vst2.x/audioeffectx.h"
+
+enum
+{
+ // Global
+ kNumPrograms = 16,
+
+ // Parameters Tags
+ kDelay = 0,
+ kFeedBack,
+ kOut,
+
+ kNumParams
+};
+
+class ADelay;
+
+//------------------------------------------------------------------------
+class ADelayProgram
+{
+friend class ADelay;
+public:
+ ADelayProgram ();
+ ~ADelayProgram () {}
+
+private:
+ float fDelay;
+ float fFeedBack;
+ float fOut;
+ char name[24];
+};
+
+//------------------------------------------------------------------------
+class ADelay : public AudioEffectX
+{
+public:
+ ADelay (audioMasterCallback audioMaster);
+ ~ADelay ();
+
+ //---from AudioEffect-----------------------
+ virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
+
+ virtual void setProgram (VstInt32 program);
+ virtual void setProgramName (char* name);
+ virtual void getProgramName (char* name);
+ virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char* text);
+
+ 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 void resume ();
+
+ virtual bool getEffectName (char* name);
+ virtual bool getVendorString (char* text);
+ virtual bool getProductString (char* text);
+ virtual VstInt32 getVendorVersion () { return 1000; }
+
+ virtual VstPlugCategory getPlugCategory () { return kPlugCategEffect; }
+
+protected:
+ void setDelay (float delay);
+
+ ADelayProgram* programs;
+
+ float* buffer;
+ float fDelay;
+ float fFeedBack;
+ float fOut;
+
+ long delay;
+ long size;
+ long cursor;
+};
+
+#endif