1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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
|