-
Notifications
You must be signed in to change notification settings - Fork 1
/
studio-link.h
54 lines (45 loc) · 1.57 KB
/
studio-link.h
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
#ifndef DISTORTION_H
#define DISTORTION_H
#include "public.sdk/source/vst2.x/audioeffectx.h"
extern "C" {
struct session;
void effect_play(struct session *sess, float* const output0,
float* const output1, unsigned long nframes);
void effect_src(struct session *sess, const float* const input0,
const float* const input1, unsigned long nframes);
void effect_bypass(struct session *sess, float* const output0,
float* const output1, const float* const input0,
const float* const input1, unsigned long nframes);
struct session* effect_session_start(void);
int effect_session_stop(struct session *session);
}
class vstplugin:public AudioEffectX
{
public:
vstplugin(audioMasterCallback audioMaster);
~vstplugin();
void processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames);
// void resume();
// Programs for plug−in
void setProgramName (char* name);
void getProgramName (char* name);
// Parameters (use with GUI)
void setParameter (VstInt32 index, float value);
float getParameter (VstInt32 index);
void getParameterLabel (VstInt32 index, char* label);
void getParameterDisplay (VstInt32 index, char* text);
void getParameterName (VstInt32 index, char* text);
// Constructor
// Destructor
// Plug−in details (name, etc.) for VST host
bool getEffectName (char* name);
bool getVendorString (char* text);
bool getProductString (char* text);
VstInt32 getVendorVersion ();
private:
enum{GAIN};
char programName[kVstMaxProgNameLen + 1];
float gain;
struct session *sess;
};
#endif