ViPERFX_RE/src/utils/IIR_NOrder_BW_LH.h
2021-07-31 16:00:35 +02:00

28 lines
554 B
C++

//
// Created by mart on 7/26/21.
//
#pragma once
#include "IIR_1st.h"
class IIR_NOrder_BW_LH {
public:
explicit IIR_NOrder_BW_LH(uint32_t order);
~IIR_NOrder_BW_LH();
void Mute();
void setLPF(float frequency, uint32_t samplerate);
void setHPF(float frequency, uint32_t samplerate);
IIR_1st* filters;
uint32_t order;
};
inline float do_filter_lh(IIR_NOrder_BW_LH* filt, float sample) {
for (int idx = 0; idx < filt->order; idx++) {
sample = do_filter(&filt->filters[idx], sample);
}
return sample;
}