Skip to content

Commit 63f2b85

Browse files
committed
fixed it
1 parent cb74091 commit 63f2b85

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

source/Filter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void MultiFilter::Process(double dt, double & l, double & r, double cutoff, bool
5959

6060
for (int i = 0; i < std::size(filters); i++)
6161
{
62-
filters[i].Process(dt, inL, inR, cutoff, tempOutL, tempOutR, highPass);
62+
filters[i]->Process(dt, inL, inR, cutoff, tempOutL, tempOutR, highPass);
6363
l += tempOutL * mix[i];
6464
r += tempOutR * mix[i];
6565
}

source/Filter.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class StateVariableFilter
5757
class DualFilterBase
5858
{
5959
public:
60-
void Process(double dt, double inL, double inR, double cutoff, double &outL, double &outR, bool highPass = false) {}
60+
virtual void Process(double dt, double inL, double inR, double cutoff, double &outL, double &outR, bool highPass = false) {}
6161
};
6262

6363
template<class T>
@@ -83,11 +83,11 @@ class MultiFilter
8383

8484
private:
8585
FilterModes mode = FilterModes::onePole;
86-
std::array<DualFilterBase, numFilterModes> filters = {
87-
DualFilter<OnePoleFilter>(),
88-
DualFilter<TwoPoleFilter>(),
89-
DualFilter<FourPoleFilter>(),
90-
DualFilter<StateVariableFilter>()
86+
std::array<std::unique_ptr<DualFilterBase>, numFilterModes> filters = {
87+
std::unique_ptr<DualFilterBase>(new DualFilter<OnePoleFilter>()),
88+
std::unique_ptr<DualFilterBase>(new DualFilter<TwoPoleFilter>()),
89+
std::unique_ptr<DualFilterBase>(new DualFilter<FourPoleFilter>()),
90+
std::unique_ptr<DualFilterBase>(new DualFilter<StateVariableFilter>())
9191
};
9292
std::array<double, numFilterModes> mix = {0.0, 0.0, 0.0, 0.0};
9393
};

0 commit comments

Comments
 (0)