30 float maxInputSampleDb = -std::numeric_limits<float>::infinity();
31 float dbGainOfMaxInputSample = 0;
37 static float EvaluateTransferFunction(
53 Process(
const float*
const* inBlock,
float*
const* outBlock,
int blockLen);
54 const std::vector<std::vector<float>>& GetDelayedInput()
const;
56 float EvaluateTransferFunction(
float inputDb)
const;
59 void UpdateEnvelope(
const float*
const* inBlock,
int blockLen);
60 void CopyWithDelay(
const float*
const* inBlock,
int blockLen);
62 float*
const* outBlock,
int blockLen,
float& delayedInputMax,
63 int& delayedInputMaxIndex);
64 bool Initialized()
const;
68 const std::unique_ptr<DanielRudrich::GainReductionComputer>
70 const std::unique_ptr<DanielRudrich::LookAheadGainReduction>
77 std::vector<std::vector<float>>
static Settings & settings()
std::array< float, maxBlockSize > mEnvelope
CompressorProcessor(const CompressorProcessor &other)=delete
DynamicRangeProcessorSettings mSettings
const std::unique_ptr< DanielRudrich::GainReductionComputer > mGainReductionComputer
std::vector< std::vector< float > > mDelayedInput
FrameStats mLastFrameStats
const std::unique_ptr< DanielRudrich::LookAheadGainReduction > mLookAheadGainReduction
constexpr auto sampleRate
DynamicRangeProcessorSettings GetSettings(EffectSettingsAccess &access)
constexpr auto maxBlockSize