| 1234567891011121314151617181920212223242526272829 | 
							- #include "Gain.h"
 
- #include <cmath>   // for pow
 
- #include <string>  // for string
 
- using namespace bell;
 
- Gain::Gain() : AudioTransform() {
 
-   this->gainFactor = 1.0f;
 
-   this->filterType = "gain";
 
- }
 
- void Gain::configure(std::vector<int> channels, float gainDB) {
 
-   this->channels = channels;
 
-   this->gainDb = gainDB;
 
-   this->gainFactor = std::pow(10.0f, gainDB / 20.0f);
 
- }
 
- std::unique_ptr<StreamInfo> Gain::process(std::unique_ptr<StreamInfo> 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;
 
- }
 
 
  |