diff options
author | Be <be@mixxx.org> | 2019-01-06 01:16:23 -0600 |
---|---|---|
committer | Be <be@mixxx.org> | 2019-01-06 11:02:56 -0600 |
commit | 603f5e5ee910b146f0d3d0a00af7acd5a5cdd291 (patch) | |
tree | 421cc3a844fb77c02daef39ebbf29b4d4307233f /src/engine/filters/enginefilterbessel4.h | |
parent | c3bea8f0217e3cc0791bdffa26062c7775ea8132 (diff) |
move EngineFilter classes to their own folder
Diffstat (limited to 'src/engine/filters/enginefilterbessel4.h')
-rw-r--r-- | src/engine/filters/enginefilterbessel4.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/engine/filters/enginefilterbessel4.h b/src/engine/filters/enginefilterbessel4.h new file mode 100644 index 0000000000..02fa3dd25e --- /dev/null +++ b/src/engine/filters/enginefilterbessel4.h @@ -0,0 +1,34 @@ +#ifndef ENGINEFILTERBESSEL4_H +#define ENGINEFILTERBESSEL4_H + +#include "engine/filters/enginefilteriir.h" + +class EngineFilterBessel4Low : public EngineFilterIIR<4, IIR_LP> { + Q_OBJECT + public: + EngineFilterBessel4Low(int sampleRate, double freqCorner1); + void setFrequencyCorners(int sampleRate, double freqCorner1); + // This function selects a corner frequency near the + // desiredCorner1Ratio freqCorner / sampleRate + // the produces an integer group delay at the passband + // Optimized for freqCorner / 20 + int setFrequencyCornersForIntDelay(double desiredCorner1Ratio, int maxDelay); +}; + +class EngineFilterBessel4Band : public EngineFilterIIR<8, IIR_BP> { + Q_OBJECT + public: + EngineFilterBessel4Band(int sampleRate, double freqCorner1, + double freqCorner2); + void setFrequencyCorners(int sampleRate, double freqCorner1, + double freqCorner2); +}; + +class EngineFilterBessel4High : public EngineFilterIIR<4, IIR_HP> { + Q_OBJECT + public: + EngineFilterBessel4High(int sampleRate, double freqCorner1); + void setFrequencyCorners(int sampleRate, double freqCorner1); +}; + +#endif // ENGINEFILTERBESSEL4_H |