Files
rob gay 1de499ef8e More MetaSound Interface registry clean-up
- Move bIsDefault/bCanEdit(renamed bIsModifiable) from InterfaceRegistryEntry to Interface data definition
- Add checks in builder to disallow mutation of interfaces that shouldn't be via editor or document builder (ex. SourceInterface which is default and then never changed)
- Optimize SearchEngine query for finding default interfaces
- Tweak MetaSoundUObjectRegistry to support non MetasoundAssetBase classes and add UMetaSoundBuilderDocument. Update iterator w/optional param to only return asset types (true by default for back compat)
- Move FName class name comparitors to use new TopLevelAssetPath
#rb phil.popp
#jira UE-181360
#rnx
#p4v-preflight-copy 24658328
#preflight 642b10834d26bcd1eb0e566c

[CL 24920763 by rob gay in ue5-main branch]
2023-04-04 19:14:26 -04:00

84 lines
2.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IAudioParameterInterfaceRegistry.h"
#include "MetasoundFrontendDocument.h"
#include "MetasoundFrontendTransform.h"
#include "UObject/NameTypes.h"
#include "MetasoundFrontendController.h"
// Forward Declarations
struct FMetasoundFrontendVersion;
namespace Metasound
{
namespace Frontend
{
namespace SourceOneShotInterface
{
namespace Outputs
{
METASOUNDFRONTEND_API const extern FName OnFinished;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
}
namespace SourceInterfaceV1_0
{
namespace Inputs
{
METASOUNDFRONTEND_API const extern FName OnPlay;
}
namespace Outputs
{
METASOUNDFRONTEND_API const extern FName OnFinished;
}
namespace Environment
{
METASOUNDFRONTEND_API const extern FName DeviceID;
METASOUNDFRONTEND_API const extern FName GraphName;
METASOUNDFRONTEND_API const extern FName IsPreview;
METASOUNDFRONTEND_API const extern FName SoundUniqueID;
METASOUNDFRONTEND_API const extern FName TransmitterID;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
}
namespace SourceInterface
{
namespace Inputs
{
METASOUNDFRONTEND_API const extern FName OnPlay;
}
namespace Environment
{
METASOUNDFRONTEND_API const extern FName DeviceID;
METASOUNDFRONTEND_API const extern FName GraphName;
METASOUNDFRONTEND_API const extern FName IsPreview;
METASOUNDFRONTEND_API const extern FName SoundUniqueID;
METASOUNDFRONTEND_API const extern FName TransmitterID;
METASOUNDFRONTEND_API const extern FName AudioMixerNumOutputFrames;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
class METASOUNDFRONTEND_API FUpdateInterface : public Frontend::IDocumentTransform
{
public:
virtual bool Transform(Frontend::FDocumentHandle InDocument) const override;
};
}
} // namespace Frontend
} // namespace Metasound