Files
SeeSynth/inc/FilterFactory.h
2023-09-10 01:02:22 +04:00

25 lines
636 B
C

#pragma once
#include "Filter.h"
#include "LowPassFilter.h"
#include "BandPassFilter.h"
#include "HighPassFilter.h"
struct FilterFactory {
static Filter* CreateFilter(Filter* oldFilter, FilterType newType) {
Filter* newFilter;
switch (newType) {
case LowPass:
newFilter = new LowPassFilter(oldFilter);
break;
case BandPass:
newFilter = new BandPassFilter(oldFilter);
break;
case HighPass:
newFilter = new HighPassFilter(oldFilter);
break;
default:
break;
}
return newFilter;
}
};