NOOP, remove trailing tabs/whitespace.
[ardour.git] / libs / qm-dsp / dsp / signalconditioning / Filter.h
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
2
3 /*
4     QM DSP Library
5
6     Centre for Digital Music, Queen Mary, University of London.
7     This file 2005-2006 Christian Landone.
8
9     This program is free software; you can redistribute it and/or
10     modify it under the terms of the GNU General Public License as
11     published by the Free Software Foundation; either version 2 of the
12     License, or (at your option) any later version.  See the file
13     COPYING included with this distribution for more information.
14 */
15
16 #ifndef FILTER_H
17 #define FILTER_H
18
19 #ifndef NULL
20 #define NULL 0
21 #endif
22
23 struct FilterConfig{
24     unsigned int ord;
25     double* ACoeffs;
26     double* BCoeffs;
27 };
28
29 class Filter
30 {
31 public:
32     Filter( FilterConfig Config );
33     virtual ~Filter();
34
35     void reset();
36
37     void process( double *src, double *dst, unsigned int length );
38
39
40 private:
41     void initialise( FilterConfig Config );
42     void deInitialise();
43
44     unsigned int m_ord;
45
46     double* m_inBuffer;
47     double* m_outBuffer;
48
49     double* m_ACoeffs;
50     double* m_BCoeffs;
51 };
52
53 #endif