Files
UnrealEngineUWP/Engine/Source/Runtime/SignalProcessing/Private/SignalProcessingModule.cpp
phil popp 056d717727 Deprecate AudioFFT in favor of optimized and hardware accelerated version
Deprecating voice processing as is not tested or needed. Current voice processing needs are handled in EOS with WebRTC.
#rb Aaron.McLeran, Helen.Yang
#jira UE-148715
#preflight 631a3e9ed31788ea3a59f214

[CL 21910441 by phil popp in ue5-main branch]
2022-09-08 21:27:22 -04:00

45 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SignalProcessingModule.h"
#include "Modules/ModuleManager.h"
#include "Features/IModularFeatures.h"
#include "DSP/FFTAlgorithm.h"
#include "DSP/ConvolutionAlgorithm.h"
#include "DSP/AudioFFT.h"
#include "VectorFFT.h"
#include "UniformPartitionConvolution.h"
namespace Audio
{
class FSignalProcessingModule : public IModuleInterface
{
FVectorFFTFactory VectorFFTAlgorithmFactory;
FUniformPartitionConvolutionFactory UniformPartitionConvolutionFactory;
public:
virtual void StartupModule() override
{
// FFT factories to register
IModularFeatures::Get().RegisterModularFeature(IFFTAlgorithmFactory::GetModularFeatureName(), &VectorFFTAlgorithmFactory);
// Convolution factories to register
IModularFeatures::Get().RegisterModularFeature(IConvolutionAlgorithmFactory::GetModularFeatureName(), &UniformPartitionConvolutionFactory);
}
virtual void ShutdownModule() override
{
// FFT Factories to unregister
IModularFeatures::Get().UnregisterModularFeature(IFFTAlgorithmFactory::GetModularFeatureName(), &VectorFFTAlgorithmFactory);
// Convolution factories to unregister
IModularFeatures::Get().UnregisterModularFeature(IConvolutionAlgorithmFactory::GetModularFeatureName(), &UniformPartitionConvolutionFactory);
}
};
}
DEFINE_LOG_CATEGORY(LogSignalProcessing);
IMPLEMENT_MODULE(Audio::FSignalProcessingModule, SignalProcessing);