kwave  18.07.70
LowPassFilter.h
Go to the documentation of this file.
1 /***************************************************************************
2  LowPassFilter.h - transmission function of a low pass filter
3  -------------------
4  begin : Mar 15 2003
5  copyright : (C) 2003 by Thomas Eschenbacher
6  email : Thomas Eschenbacher <thomas.eschenbacher@gmx.de>
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef LOW_PASS_FILTER_H
19 #define LOW_PASS_FILTER_H
20 
21 #include "config.h"
22 
23 #include <QObject>
24 #include <QVariant>
25 
26 #include "libkwave/SampleArray.h"
27 #include "libkwave/SampleSource.h"
29 
30 namespace Kwave
31 {
34  {
35  Q_OBJECT
36  public:
37 
39  LowPassFilter();
40 
42  virtual ~LowPassFilter() Q_DECL_OVERRIDE;
43 
45  virtual double at(double f) Q_DECL_OVERRIDE;
46 
48  virtual void goOn() Q_DECL_OVERRIDE;
49 
50  signals:
51 
53  void output(Kwave::SampleArray data);
54 
55  public slots:
56 
58  void input(Kwave::SampleArray data);
59 
65  void setFrequency(const QVariant fc);
66 
67  private:
68 
70  void initFilter();
71 
73  void normed_setfilter_shelvelowpass(double freq);
74 
75  private:
76 
79 
81  double m_f_cutoff;
82 
84  struct {
85  double cx,cx1,cx2,cy1,cy2;
86  double x,x1,x2,y,y1,y2;
87  } m_filter;
88 
89  };
90 }
91 
92 #endif /* LOW_PASS_FILTER_H */
93 
94 //***************************************************************************
95 //***************************************************************************
virtual ~LowPassFilter() Q_DECL_OVERRIDE
Definition: App.h:33
virtual double at(double f) Q_DECL_OVERRIDE
Kwave::SampleArray m_buffer
Definition: LowPassFilter.h:78
void input(Kwave::SampleArray data)
void output(Kwave::SampleArray data)
void setFrequency(const QVariant fc)
virtual void goOn() Q_DECL_OVERRIDE
void normed_setfilter_shelvelowpass(double freq)
struct Kwave::LowPassFilter::@13 m_filter