VVSDK  1.0
The VVAmbisonic Library
IIRFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 David McGriffy, all rights reserved
3  */
4 
5 #ifndef IIRFILTER_H_INCLUDED
6 #define IIRFILTER_H_INCLUDED
7 
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11 
12 #include "Filter.h"
13 #include "FilterCoefficients.h"
14 
18 class CIIRFilter : public CFilter
19 {
20 public:
21  CIIRFilter();
22  CIIRFilter(int form);
23  ~CIIRFilter();
25  void SetXML(CXMLElement *xml);
27  void setSamplingRate(float sr);
28  bool canProcess();
29  void doFilter(float *node, long sampleFrames);
30  void clearBuffers();
31  void setCoefficientFileName(long sr, char *fileName);
33 protected:
34  void init();
35 
36  int m_nForm;
37 
38  // filter buffers and such
42 
45  short m_nBufPos;
46 
49 
50  float m_fScale;
51 };
52 
53 #endif
float m_fInBuffer[MAXFILTSIZE]
Definition: IIRFilter.h:43
float m_fScale
Definition: IIRFilter.h:50
void doFilter(float *node, long sampleFrames)
Definition: IIRFilter.cpp:179
CFilterCoefficients * m_coefficients
Definition: IIRFilter.h:39
float * m_fACoefficients
Definition: IIRFilter.h:47
Definition: IIRFilter.h:18
#define MAXFILTSIZE
Definition: Filter.h:12
int m_nFiltSizeA
Definition: IIRFilter.h:40
Definition: XMLParser.h:37
CIIRFilter()
Definition: IIRFilter.cpp:8
Definition: Filter.h:20
short m_nBufPos
Definition: IIRFilter.h:45
void init()
Definition: IIRFilter.cpp:28
~CIIRFilter()
Definition: IIRFilter.cpp:23
int m_nForm
Definition: IIRFilter.h:36
void setCoefficients(CFilterCoefficients *coef)
Definition: IIRFilter.cpp:61
float * m_fBCoefficients
Definition: IIRFilter.h:48
void setCoefficientFileName(long sr, char *fileName)
int m_nFiltSizeB
Definition: IIRFilter.h:41
Definition: FilterCoefficients.h:22
bool canProcess()
Definition: IIRFilter.cpp:78
void SetXML(CXMLElement *xml)
void clearBuffers()
Definition: IIRFilter.cpp:36
float m_fOutBuffer[MAXFILTSIZE]
Definition: IIRFilter.h:44
void setSamplingRate(float sr)
Definition: IIRFilter.cpp:66