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
|
/**********************************************************************
Audacity: A Digital Audio Editor
VSTEffect.h
Dominic Mazzoni
**********************************************************************/
struct AEffect;
class wxSlider;
class labels;
#include <wx/dialog.h>
#include <wx/stattext.h>
#include "Effect.h"
class VSTEffect:public Effect {
public:
VSTEffect(wxString pluginName, AEffect * aEffect);
virtual wxString GetEffectName();
virtual wxString GetEffectAction();
virtual bool Init();
virtual bool PromptUser();
virtual bool Process();
virtual void End();
private:
bool ProcessStereo(int count, WaveTrack * left, WaveTrack *right,
sampleCount lstart, sampleCount rstart, sampleCount len);
bool isOpened;
wxString pluginName;
AEffect *aEffect;
sampleCount mBlockSize;
sampleType *buffer;
float **fInBuffer;
float **fOutBuffer;
int inputs;
int outputs;
};
class VSTEffectDialog:public wxDialog {
DECLARE_DYNAMIC_CLASS(VSTEffectDialog)
public:
VSTEffectDialog(wxWindow * parent,
wxString effectName,
int numParams,
AEffect * aEffect,
const wxPoint & pos = wxDefaultPosition);
~VSTEffectDialog();
void OnSlider(wxCommandEvent & event);
void OnOK(wxCommandEvent & event);
void OnCancel(wxCommandEvent & event);
DECLARE_EVENT_TABLE()
private:
AEffect * aEffect;
wxSlider **sliders;
wxStaticText **labels;
int numParams;
};
|