#include "Gain.h" #include // for pow #include // for string using namespace bell; Gain::Gain() : AudioTransform() { this->gainFactor = 1.0f; this->filterType = "gain"; } void Gain::configure(std::vector channels, float gainDB) { this->channels = channels; this->gainDb = gainDB; this->gainFactor = std::pow(10.0f, gainDB / 20.0f); } std::unique_ptr Gain::process(std::unique_ptr data) { std::scoped_lock lock(this->accessMutex); for (int i = 0; i < data->numSamples; i++) { // Apply gain to all channels for (auto& channel : channels) { data->data[channel][i] *= gainFactor; } } return data; }