1 /*
2     Copyright (C) 2009 Fons Adriaensen <fons@kokkinizita.net>
3 
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8 
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13 
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
18 
19 
20 #ifndef __AUTOWAH_H
21 #define __AUTOWAH_H
22 
23 
24 #include "ladspaplugin.h"
25 
26 
27 class Ladspa_Autowah : public LadspaPlugin
28 {
29 public:
30 
31     enum { A_INP, A_OUT, C_DRIVE, C_DECAY, C_RANGE, C_FREQ, C_OPMIX, NPORT };
32 
Ladspa_Autowah(SampleRate fsam)33     Ladspa_Autowah (SampleRate fsam) : LadspaPlugin (fsam) {}
34     virtual void setport (PortIndex port, PortData *data);
35     virtual void active  (bool act);
36     virtual void runproc (SampleCount len, bool add);
~Ladspa_Autowah(void)37     virtual ~Ladspa_Autowah (void) {}
38 
39 private:
40 
41     float     *_port [NPORT];
42     float      _wbase;
43     float      _bbase;
44     float      _rfact;
45     float      _z1, _z2;
46     float      _s1, _s2;
47     float      _gx, _gy;
48     float      _dr;
49 };
50 
51 
52 #endif
53