Navigation
API > API/Plugins > API/Plugins/MetasoundGenerator
| Name | FMetasoundGenerator |
| Type | class |
| Header File | /Engine/Plugins/Runtime/Metasound/Source/MetasoundGenerator/Public/MetasoundGenerator.h |
| Include Path | #include "MetasoundGenerator.h" |
Syntax
class FMetasoundGenerator : public ISoundGenerator
Implements Interfaces
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMetasoundGenerator
(
const FOperatorSettings& InOperatorSettings |
Create the generator with a graph operator and an output audio reference. | MetasoundGenerator.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FMetasoundGenerator() |
MetasoundGenerator.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FAudioBufferReadRef | Metasound::FAudioBufferReadRef | MetasoundGenerator.h | |
| FOnOutputChanged | TMulticastDelegate< void(FName, FName, FName, TSharedPtr< IOutputStorage >), FDefaultTSDelegateUserPolicy > | MetasoundGenerator.h | |
| FOnVertexInterfaceDataUpdated | TMulticastDelegate< void(FVertexInterfaceData), FDefaultTSDelegateUserPolicy > | MetasoundGenerator.h | |
| FOnVertexInterfaceDataUpdatedWithChanges | TMulticastDelegate< void(const TArray< FVertexInterfaceChange > &), FDefaultTSDelegateUserPolicy > | MetasoundGenerator.h | |
| FOperatorUniquePtr | TUniquePtr< Metasound::IOperator > | MetasoundGenerator.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| OnOutputChanged | FOnOutputChanged | MetasoundGenerator.h | ||
| OnVertexInterfaceDataUpdated | FOnVertexInterfaceDataUpdated | MetasoundGenerator.h | ||
| OnVertexInterfaceDataUpdatedWithChanges | FOnVertexInterfaceDataUpdatedWithChanges | MetasoundGenerator.h | ||
| OperatorSettings | const FOperatorSettings | MetasoundGenerator.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AssetPath | FTopLevelAssetPath | MetasoundGenerator.h | ||
| bDoRuntimeRenderTiming | uint8 | MetasoundGenerator.h | ||
| bIsFinished | uint8 | MetasoundGenerator.h | ||
| bIsFinishTriggered | uint8 | MetasoundGenerator.h | ||
| bIsGraphBuilding | uint8 | MetasoundGenerator.h | ||
| bIsNewGraphPending | uint8 | MetasoundGenerator.h | ||
| bIsWaitingForFirstGraph | uint8 | MetasoundGenerator.h | ||
| bPendingGraphTrigger | uint8 | MetasoundGenerator.h | ||
| FinishSample | int32 | MetasoundGenerator.h | ||
| GraphAnalyzer | TUniquePtr< Frontend::FGraphAnalyzer > | MetasoundGenerator.h | ||
| InterleavedAudioBuffer | Audio::FAlignedFloatBuffer | MetasoundGenerator.h | ||
| NumChannels | int32 | MetasoundGenerator.h | ||
| NumFramesPerExecute | int32 | MetasoundGenerator.h | ||
| NumSamplesPerExecute | int32 | MetasoundGenerator.h | ||
| OnSetGraph | FOnSetGraph | MetasoundGenerator.h | ||
| OutputAnalyzerModificationQueue | TMpscQueue< TUniqueFunction< void()> > | MetasoundGenerator.h | ||
| OutputAnalyzers | TArray< TUniquePtr< Frontend::IVertexAnalyzer > > | MetasoundGenerator.h | ||
| OverflowBuffer | Audio::FAlignedFloatBuffer | MetasoundGenerator.h | ||
| ParameterPackQueue | TMpscQueue< TSharedPtr< FMetasoundParameterPackStorage > > | While parameter packs may arrive via the IAudioParameterInterface system, a faster method of sending parameters is via the QueueParameterPack function and this queue. | MetasoundGenerator.h | |
| ParameterPackReceiver | TReceiverPtr< FMetasoundParameterStorageWrapper > | MetasoundGenerator.h | ||
| ParameterPackSendAddress | FSendAddress | These next items are needed to provide a destination for the FAudioDevice, etc. | MetasoundGenerator.h | |
| ParameterQueue | TSharedPtr< TSpscQueue< FMetaSoundParameterTransmitter::FParameter > > | MetasoundGenerator.h | ||
| PendingGraphData | TUniquePtr< MetasoundGeneratorPrivate::FMetasoundGeneratorData > | MetasoundGenerator.h | ||
| PendingGraphMutex | FCriticalSection | MetasoundGenerator.h | ||
| RelativeRenderCost | std::atomic< float > | MetasoundGenerator.h | ||
| RenderTime | double | MetasoundGenerator.h | ||
| RenderTimer | TUniquePtr< MetasoundGeneratorPrivate::FRenderTimer > | MetasoundGenerator.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FDelegateHandle AddGraphSetCallback
(
FOnSetGraph::FDelegate&& Delegate |
Called when a new graph has been "compiled" and set up as this generator's graph. | MetasoundGenerator.h | |
void AddOutputVertexAnalyzer
(
const Frontend::FAnalyzerAddress& AnalyzerAddress |
Add a vertex analyzer for a named output with the given address info. | MetasoundGenerator.h | |
void ApplyToInputValue
(
const FVertexName& InName, |
Apply a function to the graph's input data. | MetasoundGenerator.h | |
void EnableRuntimeRenderTiming
(
bool Enable |
Enables the performance timing of the metasound rendering process. | MetasoundGenerator.h | |
double GetCPUCoreUtilization() |
Fraction of a single CPU core used to render audio on a scale of 0.0 to 1.0 | MetasoundGenerator.h | |
virtual int32 GetDesiredNumSamplesToRenderPerCallback() |
MetasoundGenerator.h | ||
TOptional< TDataWriteReference< DataType > > GetInputWriteReference
(
const FVertexName InputName |
Get a write reference to one of the generator's inputs, if it exists. | MetasoundGenerator.h | |
int32 GetNumChannels() |
Return the number of audio channels. | MetasoundGenerator.h | |
TOptional< TDataReadReference< DataType > > GetOutputReadReference
(
const FVertexName OutputName |
Get a read reference to one of the generator's outputs, if it exists. | MetasoundGenerator.h | |
virtual float GetRelativeRenderCost() |
MetasoundGenerator.h | ||
virtual bool IsFinished() |
MetasoundGenerator.h | ||
virtual int32 OnGenerateAudio
(
float* OutAudio, |
MetasoundGenerator.h | ||
void OnNextBuffer
(
TFunction< void(FMetasoundGenerator&)> Command |
Enqueues a command for this generator to execute when its next buffer is requested by the mixer. | MetasoundGenerator.h | |
void QueueParameterPack
(
TSharedPtr< FMetasoundParameterPackStorage > ParameterPack |
MetasoundGenerator.h | ||
bool RemoveGraphSetCallback
(
const FDelegateHandle& Handle |
MetasoundGenerator.h | ||
void RemoveOutputVertexAnalyzer
(
const Frontend::FAnalyzerAddress& AnalyzerAddress |
Remove a vertex analyzer for a named output | MetasoundGenerator.h | |
void SetInputValue
(
const FVertexName& InName, |
Set the value of a graph's input data using the assignment operator. | MetasoundGenerator.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ClearGraph() |
Release the graph operator and remove any references to data owned by the graph operator. | MetasoundGenerator.h | |
void InitBase
(
FGeneratorInitParams& InInitParams |
MetasoundGenerator.h | ||
virtual TUniquePtr< IOperator > ReleaseGraphOperator() |
MetasoundGenerator.h | ||
FInputVertexInterfaceData ReleaseInputVertexData() |
MetasoundGenerator.h | ||
void SetGraph
(
TUniquePtr< MetasoundGeneratorPrivate::FMetasoundGeneratorData >&& InData, |
SetGraph directly sets graph. Callers must ensure that no race conditions exist. | MetasoundGenerator.h | |
bool UpdateGraphIfPending() |
MetasoundGenerator.h |