2021-07-28 00:54:15 +02:00
|
|
|
#include "Reverberation.h"
|
|
|
|
|
|
|
|
Reverberation::Reverberation() {
|
2022-10-13 03:01:20 +02:00
|
|
|
this->model.SetRoomSize(0.0);
|
|
|
|
this->model.SetWidth(0.0);
|
|
|
|
this->model.SetDamp(0.0);
|
|
|
|
this->model.SetWet(0.0);
|
|
|
|
this->model.SetDry(0.5);
|
|
|
|
this->model.Reset();
|
2021-07-28 00:54:15 +02:00
|
|
|
|
2022-10-13 03:01:20 +02:00
|
|
|
this->enable = false;
|
|
|
|
}
|
2021-07-28 00:54:15 +02:00
|
|
|
|
2022-10-13 03:01:20 +02:00
|
|
|
void Reverberation::Process(float *buffer, uint32_t size) {
|
|
|
|
if (this->enable) {
|
|
|
|
this->model.ProcessReplace(buffer, buffer + 1, size);
|
|
|
|
}
|
2021-07-28 00:54:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void Reverberation::Reset() {
|
|
|
|
this->model.Reset();
|
|
|
|
}
|
|
|
|
|
2022-10-13 03:01:20 +02:00
|
|
|
void Reverberation::SetDamp(float value) {
|
|
|
|
this->model.SetDamp(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Reverberation::SetDry(float value) {
|
|
|
|
this->model.SetDry(value);
|
2021-07-28 00:54:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void Reverberation::SetEnable(bool enable) {
|
2022-10-13 03:01:20 +02:00
|
|
|
if (this->enable != enable) {
|
|
|
|
if (!this->enable) {
|
|
|
|
Reset();
|
|
|
|
}
|
|
|
|
this->enable = enable;
|
2021-07-28 00:54:15 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void Reverberation::SetRoomSize(float value) {
|
|
|
|
this->model.SetRoomSize(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Reverberation::SetWet(float value) {
|
|
|
|
this->model.SetWet(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Reverberation::SetWidth(float value) {
|
|
|
|
this->model.SetWidth(value);
|
2022-10-13 03:01:20 +02:00
|
|
|
}
|