You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rnx #rb none #ROBOMERGE-OWNER: ryan.durand #ROBOMERGE-AUTHOR: ryan.durand #ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900 #ROBOMERGE-BOT: (v613-10869866) [CL 10870549 by ryan durand in Main branch]
40 lines
731 B
C++
40 lines
731 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "DSP/WaveShaper.h"
|
|
#include "DSP/Dsp.h"
|
|
|
|
namespace Audio
|
|
{
|
|
FWaveShaper::FWaveShaper()
|
|
: Amount(1.0f)
|
|
, AtanAmount(FMath::Atan(Amount))
|
|
, OutputGain(1.0f)
|
|
{
|
|
}
|
|
|
|
FWaveShaper::~FWaveShaper()
|
|
{
|
|
}
|
|
|
|
void FWaveShaper::Init(const float InSampleRate)
|
|
{
|
|
}
|
|
|
|
void FWaveShaper::SetAmount(const float InAmount)
|
|
{
|
|
Amount = FMath::Max(InAmount, SMALL_NUMBER);
|
|
AtanAmount = FMath::Atan(Amount);
|
|
}
|
|
|
|
void FWaveShaper::SetOutputGainDb(const float InGainDb)
|
|
{
|
|
OutputGain = Audio::ConvertToLinear(InGainDb);
|
|
}
|
|
|
|
void FWaveShaper::ProcessAudio(const float InSample, float& OutSample)
|
|
{
|
|
OutSample = OutputGain * FMath::Atan(InSample * Amount) / AtanAmount;
|
|
}
|
|
|
|
}
|