1 /*
2     Copyright (C) 2003-2008 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 __LADSPAPLUGIN_H
21 #define __LADSPAPLUGIN_H
22 
23 
24 #include "ladspa.h" // use local version
25 
26 
27 
28 class LadspaPlugin
29 {
30 public:
31 
LadspaPlugin(unsigned long fsam)32   LadspaPlugin (unsigned long fsam) : _gain (1.0), _fsam (fsam) {}
33 
34   virtual void setport (unsigned long port, LADSPA_Data *data) = 0;
35   virtual void active  (bool act) = 0;
36   virtual void runproc (unsigned long len, bool add) = 0;
~LadspaPlugin(void)37   virtual ~LadspaPlugin (void) {}
38 
setgain(LADSPA_Data gain)39   void setgain (LADSPA_Data gain) { _gain = gain; }
40 
41 protected:
42 
43   float _gain;
44   float _fsam;
45 };
46 
47 
48 
49 #endif
50