31 lines
571 B
C
Raw Normal View History

2021-07-30 16:54:59 +02:00
#pragma once
#include <cstdint>
2021-07-30 16:54:59 +02:00
#include "../utils/Harmonic.h"
#include "../utils/MultiBiquad.h"
class AnalogX {
public:
AnalogX();
void Process(float *samples, uint32_t size);
2021-07-30 16:54:59 +02:00
void Reset();
2022-10-11 00:36:38 +02:00
void SetEnable(bool enable);
2022-09-13 02:16:31 +02:00
void SetProcessingModel(int processingModel);
void SetSamplingRate(uint32_t samplingRate);
2021-07-30 16:54:59 +02:00
2022-09-16 03:16:58 +02:00
private:
2022-10-15 03:40:21 +02:00
MultiBiquad highPass[2];
2022-09-13 02:16:31 +02:00
Harmonic harmonic[2];
2022-10-15 03:40:21 +02:00
MultiBiquad lowPass[2];
2021-07-30 16:54:59 +02:00
MultiBiquad peak[2];
float gain;
uint32_t freqRange;
int processingModel;
2022-09-13 02:16:31 +02:00
uint32_t samplingRate;
2022-10-11 00:36:38 +02:00
bool enable;
2021-07-30 16:54:59 +02:00
};