Update qm-dsp library (v1.7.1-20-g4d15479)
[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 /**
22  * Zero-phase digital filter, implemented by processing the data
23  * through a filter specified by the given filter parameters (see
24  * Filter) and then processing it again in reverse.
25  */
26 class FiltFilt  
27 {
28 public:
29     FiltFilt(Filter::Parameters);
30     virtual ~FiltFilt();
31
32     void reset();
33     void process( double* src, double* dst, unsigned int length );
34
35 private:
36     Filter m_filter;
37     int m_ord;
38 };
39
40 #endif