-
Notifications
You must be signed in to change notification settings - Fork 7
/
intercom.h
64 lines (48 loc) · 1.73 KB
/
intercom.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
55
56
57
58
59
60
61
62
63
64
/*---------------------------------------------------------------
(c) 2001, Sophberg Soft & Hard GmbH, All Rights Reserved
(c) 2001 TOMBORG!!!!!!!!!!!!!!!!!!!!
---------------------------------------------------------------*/
#ifndef _DFX_INTERCOM_H
#define _DFX_INTERCOM_H
#include "audioeffectx.h"
//-----------------------------------------------------------------------------
// plugin parameters
enum
{
kParam_NoiseGain,
kParam_SpecialK,
kParam_SpecialW,
kParam_SpecialM,
kNumParameters
};
//---------------------------------------------------------------------
class Intercom : public AudioEffectX {
public:
Intercom(audioMasterCallback audioMaster);
virtual void process(float **inputs, float **outputs, long samples);
virtual void processReplacing(float **inputs, float **outputs, long samples);
virtual void suspend();
virtual void setProgramName(char *name);
virtual void getProgramName(char *name);
virtual void setParameter(long index, float value);
virtual float getParameter(long index);
virtual void getParameterLabel(long index, char *label);
virtual void getParameterDisplay(long index, char *text);
virtual void getParameterName(long index, char *text);
virtual bool getEffectName(char *name);
virtual long getVendorVersion();
virtual bool getErrorText(char *text);
virtual bool getVendorString(char *text);
virtual bool getProductString(char *text);
// this is my stuff:
protected:
void processX(float **inputs, float **outputs, long samples, int replacing);
float fNoiseGain; // the parameter
char programName[32];
double rms1, rms2;
long rmscount;
float lastRMS1, lastRMS2, noiseAmp1, noiseAmp2;
float specialk, specialw, specialm;
float fUseWrongRMS, fRMSceiling;
};
#endif