ViPERFX_RE/src/cpp/viper/effects/DynamicSystem.cpp

57 lines
1.3 KiB
C++
Raw Normal View History

2021-07-28 14:20:36 +02:00
#include "DynamicSystem.h"
#include "../constants.h"
DynamicSystem::DynamicSystem() {
this->enabled = false;
2022-10-13 03:01:20 +02:00
this->samplingRate = VIPER_DEFAULT_SAMPLING_RATE;
2022-09-23 04:15:43 +02:00
this->bass.SetSamplingRate(this->samplingRate);
2021-07-28 14:20:36 +02:00
this->bass.Reset();
}
void DynamicSystem::Process(float *samples, uint32_t size) {
2021-07-28 14:20:36 +02:00
if (this->enabled) {
this->bass.FilterSamples(samples, size);
}
}
void DynamicSystem::Reset() {
2022-09-23 04:15:43 +02:00
this->bass.SetSamplingRate(this->samplingRate);
2021-07-28 14:20:36 +02:00
this->bass.Reset();
}
void DynamicSystem::SetBassGain(float gain) {
this->bass.SetBassGain(gain);
}
void DynamicSystem::SetEnable(bool enable) {
2022-09-16 03:16:58 +02:00
if (this->enabled != enable) {
this->enabled = enable;
if (enable) {
Reset();
}
}
2021-07-28 14:20:36 +02:00
}
void DynamicSystem::SetSideGain(float gainX, float gainY) {
this->bass.SetSideGain(gainX, gainY);
}
void DynamicSystem::SetXCoeffs(uint32_t low, uint32_t high) {
this->bass.SetFilterXPassFrequency(low, high);
}
void DynamicSystem::SetYCoeffs(uint32_t low, uint32_t high) {
this->bass.SetFilterYPassFrequency(low, high);
}
2022-09-23 04:15:43 +02:00
void DynamicSystem::SetSamplingRate(uint32_t samplingRate) {
if (this->samplingRate != samplingRate) {
this->samplingRate = samplingRate;
this->bass.SetSamplingRate(samplingRate);
2022-09-16 03:16:58 +02:00
}
2021-07-28 14:20:36 +02:00
}
2022-09-06 17:57:23 +02:00
DynamicSystem::~DynamicSystem() {
}