summaryrefslogtreecommitdiff
path: root/public.sdk/samples/vst2.x/adelay/surrounddelay.h
blob: f8412b9e7643be889dc0ebb1b9589502a43ce628 (plain)
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
//-------------------------------------------------------------------------------------------------------
// VST Plug-Ins SDK
// Version 2.4		$Date: 2006/11/13 09:08:27 $
//
// Category     : VST 2.x SDK Samples
// Filename     : surrounddelay.h
// Created by   : Steinberg Media Technologies
// Description  : Simple Surround Delay plugin with Editor using VSTGUI
//
// � 2006, Steinberg Media Technologies, All Rights Reserved
//-------------------------------------------------------------------------------------------------------

#ifndef __surrounddelay__
#define __surrounddelay__

#ifndef __adelay__
#include "adelay.h"
#endif

#define MAX_CHANNELS 6  // maximun number of channel

//------------------------------------------------------------------------
// SurroundDelay declaration
//------------------------------------------------------------------------
class SurroundDelay : public ADelay
{
public:
	SurroundDelay (audioMasterCallback audioMaster);
	~SurroundDelay ();

	virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleframes);

	void setParameter (VstInt32 index, float value);

	// functions VST version 2
	virtual bool getVendorString (char* text) { if (text) strcpy (text, "Steinberg"); return true; }
	virtual bool getProductString (char* text) { if (text) strcpy (text, "SDelay"); return true; }
	virtual VstInt32 getVendorVersion () { return 1000; }

	virtual VstPlugCategory getPlugCategory () { return kPlugSurroundFx; }
	
	virtual bool getSpeakerArrangement (VstSpeakerArrangement** pluginInput, VstSpeakerArrangement** pluginOutput);
	virtual bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput, VstSpeakerArrangement* pluginOutput);

	virtual void resume ();

private:
	VstSpeakerArrangement* plugInput;
	VstSpeakerArrangement* plugOutput;

	float* sBuffers[MAX_CHANNELS];
};

#endif