ConvoEngine: Make max channel counts configurable.
[wdl/wdl-ol.git] / IPlugExamples / IPlugConvoEngine / IPlugConvoEngine.h
blob3892c139661b5cdbe66fe008a00563cda63404f4
1 #ifndef __IPLUGCONVO_H__
2 #define __IPLUGCONVO_H__
4 /*
6 IPlug convoengine example
7 (c) Theo Niessink 2010
8 <http://www.taletn.com/>
11 This software is provided 'as-is', without any express or implied
12 warranty. In no event will the authors be held liable for any damages
13 arising from the use of this software.
15 Permission is granted to anyone to use this software for any purpose,
16 including commercial applications, and to alter it and redistribute it
17 freely, subject to the following restrictions:
19 1. The origin of this software must not be misrepresented; you must not
20 claim that you wrote the original software. If you use this software in a
21 product, an acknowledgment in the product documentation would be
22 appreciated but is not required.
23 2. Altered source versions must be plainly marked as such, and must not be
24 misrepresented as being the original software.
25 3. This notice may not be removed or altered from any source distribution.
28 A simple IPlug plug-in effect that shows how to use WDL's fast convolution
29 engine.
33 // WDL-CE Version
35 #include "IPlug_include_in_plug_hdr.h"
36 #include "../../WDL/convoengine.h"
39 class IPlugConvoEngine: public IPlug
41 public:
42 IPlugConvoEngine(IPlugInstanceInfo instanceInfo);
43 ~IPlugConvoEngine() {}
45 void OnParamChange(int paramIdx);
46 void Reset();
47 void ProcessDoubleReplacing(double** inputs, double** outputs, int nFrames);
49 private:
50 WDL_ImpulseBuffer mImpulse;
51 WDL_ConvolutionEngine_Div mEngine;
53 double mDry, mWet;
55 double mSampleRate;
59 #endif