Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundEngineModule.cpp
Rob Gay f2f944d64f MetaSound Analyzer Frontend/Graph Core Checkpoint
- Add ability to track all internal data references to a core graph
- Add AnalyzerRegistry & first pass at value/envelope analyzers
- Add support for enabling analyzing from MetaSound Generator
- Add ability for tracking colorized bounds for edges as literal-color array
#rb phil.popp
#jira UE-147027
#jira UE-147028
#jira UE-147026
#preflight 627acbae10766ef8c112264c

[CL 20129340 by Rob Gay in ue5-main branch]
2022-05-10 16:51:39 -04:00

50 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MetasoundEngineModule.h"
#include "Analysis/MetasoundFrontendAnalyzerRegistry.h"
#include "Metasound.h"
#include "MetasoundDataReference.h"
#include "MetasoundDataTypeRegistrationMacro.h"
#include "MetasoundEngineArchetypes.h"
#include "MetasoundInterface.h"
#include "MetasoundSource.h"
#include "MetasoundUObjectRegistry.h"
#include "MetasoundWave.h"
#include "Modules/ModuleManager.h"
#include "Sound/AudioSettings.h"
DEFINE_LOG_CATEGORY(LogMetasoundEngine);
REGISTER_METASOUND_DATATYPE(Metasound::FWaveAsset, "WaveAsset", Metasound::ELiteralType::UObjectProxy, USoundWave);
class FMetasoundEngineModule : public IMetasoundEngineModule
{
virtual void StartupModule() override
{
FModuleManager::Get().LoadModuleChecked("MetasoundGraphCore");
FModuleManager::Get().LoadModuleChecked("MetasoundFrontend");
FModuleManager::Get().LoadModuleChecked("MetasoundStandardNodes");
FModuleManager::Get().LoadModuleChecked("MetasoundGenerator");
FModuleManager::Get().LoadModuleChecked("AudioCodecEngine");
// Register engine-level parameter interfaces if not done already.
// (Potentially not already called if plugin is loaded while cooking.)
UAudioSettings* AudioSettings = GetMutableDefault<UAudioSettings>();
check(AudioSettings);
AudioSettings->RegisterParameterInterfaces();
// Register interfaces
Metasound::Engine::RegisterInterfaces();
// Flush node registration queue
FMetasoundFrontendRegistryContainer::Get()->RegisterPendingNodes();
// Register Analyzers
Metasound::Frontend::IVertexAnalyzerRegistry::Get().RegisterAnalyzerFactories();
UE_LOG(LogMetasoundEngine, Log, TEXT("MetaSound Engine Initialized"));
}
};
IMPLEMENT_MODULE(FMetasoundEngineModule, MetasoundEngine);