// Copyright Epic Games, Inc. All Rights Reserved. #include "MetasoundPrimitives.h" #include "MetasoundAudioBuffer.h" #include "MetasoundDataTypeRegistrationMacro.h" #include "MetasoundRouter.h" #include "MetasoundTime.h" #include "MetasoundTrigger.h" #include namespace Metasound { // Disable audio buffer arrays. template<> struct TEnableAutoArrayTypeRegistration { static constexpr bool Value = false; }; // Disable constructor pins of audio buffers template<> struct TEnableConstructorVertex { static constexpr bool Value = false; }; // Disable arrays of triggers template<> struct TEnableAutoArrayTypeRegistration { static constexpr bool Value = false; }; // Disable constructor pins of triggers template<> struct TEnableConstructorVertex { static constexpr bool Value = false; }; // Disable auto-conversion using the FAudioBuffer(int32) constructor template struct TEnableAutoConverterNodeRegistration { static constexpr bool Value = !std::is_arithmetic::value; }; // Disable auto-conversions based on FTrigger implicit converters template struct TEnableAutoConverterNodeRegistration { static constexpr bool Value = !std::is_arithmetic::value; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; // Enable send/receive node registration for data types which existed before // send/receive were deprecated in order to support old UMetaSound assets. template<> struct TEnableTransmissionNodeRegistration { static constexpr bool Value = true; }; } REGISTER_METASOUND_DATATYPE(bool, "Bool", ::Metasound::ELiteralType::Boolean) REGISTER_METASOUND_DATATYPE(int32, "Int32", ::Metasound::ELiteralType::Integer) REGISTER_METASOUND_DATATYPE(float, "Float", ::Metasound::ELiteralType::Float) REGISTER_METASOUND_DATATYPE(FString, "String", ::Metasound::ELiteralType::String) REGISTER_METASOUND_DATATYPE(Metasound::FTrigger, "Trigger", ::Metasound::ELiteralType::Boolean) REGISTER_METASOUND_DATATYPE(Metasound::FTime, "Time", ::Metasound::ELiteralType::Float) REGISTER_METASOUND_DATATYPE(Metasound::FSendAddress, "Transmission:Address", ::Metasound::ELiteralType::String) // FAudioBuffer is declared and defined in the MetaSoundGraphCore module. Here we only // enqueue the registration command to avoid linker issues caused by the interplay // of the REGISTER_METASOUND_DATATYPE and DEFINE_METASOUND_DATA_TYPE macros. ENQUEUE_METASOUND_DATATYPE_REGISTRATION_COMMAND(Metasound::FAudioBuffer, "Audio");