2021-07-30 16:54:59 +02:00
|
|
|
#pragma once
|
|
|
|
|
2022-08-30 00:39:15 +02:00
|
|
|
#include <cstdint>
|
2021-07-30 16:54:59 +02:00
|
|
|
#include "../utils/Harmonic.h"
|
|
|
|
#include "../utils/MultiBiquad.h"
|
|
|
|
|
|
|
|
class AnalogX {
|
|
|
|
public:
|
|
|
|
AnalogX();
|
2022-08-30 00:39:15 +02:00
|
|
|
~AnalogX();
|
2021-07-30 16:54:59 +02:00
|
|
|
|
2022-08-23 00:26:44 +02:00
|
|
|
void Process(float *samples, uint32_t size);
|
2021-07-30 16:54:59 +02:00
|
|
|
void Reset();
|
|
|
|
void SetProcessingModel(int model);
|
|
|
|
void SetSamplingRate(uint32_t samplerate);
|
|
|
|
|
|
|
|
MultiBiquad highpass[2];
|
|
|
|
Harmonic harmonics[2];
|
|
|
|
MultiBiquad lowpass[2];
|
|
|
|
MultiBiquad peak[2];
|
|
|
|
|
|
|
|
float gain;
|
|
|
|
uint32_t freqRange;
|
|
|
|
int processingModel;
|
|
|
|
uint32_t samplerate;
|
|
|
|
bool enabled;
|
|
|
|
};
|
|
|
|
|
|
|
|
|