Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Public/MetasoundWavePlayerNode.h
phil popp 3c6080ac38 Added FVertexInterface and reworked existing INode interfaces
Added FNodeFacade to simplify writing nodes and reduce coding errors.
#rb Ethan.Geller
#jira UEAU-568

[CL 14171493 by phil popp in ue5-main branch]
2020-08-24 10:57:03 -04:00

61 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "MetasoundNode.h"
#include "MetasoundOperatorInterface.h"
#include "MetasoundBuilderInterface.h"
#include "MetasoundDataReferenceCollection.h"
namespace Metasound
{
class METASOUNDENGINE_API FWavePlayerNode : public FNode
{
class FOperatorFactory : public IOperatorFactory
{
virtual TUniquePtr<IOperator> CreateOperator(const FCreateOperatorParams& InParams, FBuildErrorArray& OutErrors) override;
};
public:
static const FNodeInfo Info;
FWavePlayerNode(const FString& InName);
// constructor used by the Metasound Frontend.
FWavePlayerNode(const FNodeInitData& InInitData);
virtual ~FWavePlayerNode() = default;
virtual FOperatorFactorySharedRef GetDefaultOperatorFactory() const override;
/** Return the current vertex interface. */
virtual const FVertexInterface& GetVertexInterface() const override;
/** Return the default vertex interface. */
virtual const FVertexInterface& GetDefaultVertexInterface() const override;
/** Set the vertex interface. If the vertex was successfully changed, returns true.
*
* @param InInterface - New interface for node.
*
* @return True on success, false otherwise.
*/
virtual bool SetVertexInterface(const FVertexInterface& InInterface) override;
/** Expresses whether a specific vertex interface is supported.
*
* @param InInterface - New interface.
*
* @return True if the interface is supported, false otherwise.
*/
virtual bool IsVertexInterfaceSupported(const FVertexInterface& InInterface) const override;
private:
FOperatorFactorySharedRef Factory;
FVertexInterface Interface;
};
}