globally remove all trailing whitespace from ardour code base.
[ardour.git] / libs / qm-dsp / dsp / signalconditioning / FiltFilt.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 FILTFILT_H
17 #define FILTFILT_H
18
19 #include "Filter.h"
20
21 struct FiltFiltConfig{
22     unsigned int ord;
23     double* ACoeffs;
24     double* BCoeffs;
25 };
26
27 class FiltFilt
28 {
29 public:
30     FiltFilt( FiltFiltConfig Config );
31     virtual ~FiltFilt();
32
33     void reset();
34     void process( double* src, double* dst, unsigned int length );
35
36 private:
37     void initialise( FiltFiltConfig Config );
38     void deInitialise();
39
40     unsigned int m_ord;
41
42     Filter* m_filter;
43
44     double* m_filtScratchIn;
45     double* m_filtScratchOut;
46
47     FilterConfig m_filterConfig;
48 };
49
50 #endif