ViPERFX_RE/src/viper/effects/DynamicSystem.cpp

53 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() {
2022-10-13 03:01:20 +02:00
this->samplingRate = VIPER_DEFAULT_SAMPLING_RATE;
2022-10-25 03:24:27 +02:00
this->enable = false;
this->dynamicBass.SetSamplingRate(this->samplingRate);
this->dynamicBass.Reset();
2021-07-28 14:20:36 +02:00
}
void DynamicSystem::Process(float *samples, uint32_t size) {
2022-10-25 03:24:27 +02:00
if (!this->enable) return;
this->dynamicBass.FilterSamples(samples, size);
2021-07-28 14:20:36 +02:00
}
void DynamicSystem::Reset() {
2022-10-25 03:24:27 +02:00
this->dynamicBass.SetSamplingRate(this->samplingRate);
this->dynamicBass.Reset();
2021-07-28 14:20:36 +02:00
}
void DynamicSystem::SetBassGain(float gain) {
2022-10-25 03:24:27 +02:00
this->dynamicBass.SetBassGain(gain);
2021-07-28 14:20:36 +02:00
}
void DynamicSystem::SetEnable(bool enable) {
2022-10-25 03:24:27 +02:00
if (this->enable != enable) {
if (!this->enable) {
2022-09-16 03:16:58 +02:00
Reset();
}
2022-10-25 03:24:27 +02:00
this->enable = enable;
2022-09-16 03:16:58 +02:00
}
2021-07-28 14:20:36 +02:00
}
2022-09-23 04:15:43 +02:00
void DynamicSystem::SetSamplingRate(uint32_t samplingRate) {
if (this->samplingRate != samplingRate) {
this->samplingRate = samplingRate;
2022-10-25 03:24:27 +02:00
this->dynamicBass.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
2022-10-25 03:24:27 +02:00
void DynamicSystem::SetSideGain(float gainX, float gainY) {
this->dynamicBass.SetSideGain(gainX, gainY);
}
void DynamicSystem::SetXCoeffs(uint32_t low, uint32_t high) {
this->dynamicBass.SetFilterXPassFrequency(low, high);
}
2022-09-06 17:57:23 +02:00
2022-10-25 03:24:27 +02:00
void DynamicSystem::SetYCoeffs(uint32_t low, uint32_t high) {
this->dynamicBass.SetFilterYPassFrequency(low, high);
2022-09-06 17:57:23 +02:00
}