1 /*
2     Copyright (C) 2003 Fons Adriaensen
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)
40 	{
41 		_gain = gain;
42 	}
43 
44 protected:
45 
46 	float _gain;
47 	float _fsam;
48 };
49 
50 
51 
52 #endif
53