You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira UE-134456 #rb Aaron.McLeran #preflight 61f1e6c2f8088a3d299c5b9a #ROBOMERGE-AUTHOR: phil.popp #ROBOMERGE-SOURCE: CL 18748267 in //UE5/Release-5.0/... via CL 18748279 via CL 18748380 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472) [CL 18748393 by phil popp in ue5-main branch]
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "MetasoundDataReference.h"
|
|
#include "MetasoundDataTypeRegistrationMacro.h"
|
|
#include "IAudioProxyInitializer.h"
|
|
#include "Sound/SoundWave.h"
|
|
#include "IAudioCodecRegistry.h"
|
|
#include "IAudioCodec.h"
|
|
#include "DSP/InterpolatedLinearPitchShifter.h"
|
|
|
|
|
|
namespace Metasound
|
|
{
|
|
// Forward declare ReadRef
|
|
class FWaveAsset;
|
|
typedef TDataReadReference<FWaveAsset> FWaveAssetReadRef;
|
|
|
|
|
|
// Metasound data type that holds onto a weak ptr. Mostly used as a placeholder until we have a proper proxy type.
|
|
class METASOUNDENGINE_API FWaveAsset
|
|
{
|
|
FSoundWaveProxyPtr SoundWaveProxy;
|
|
public:
|
|
|
|
FWaveAsset() = default;
|
|
FWaveAsset(const FWaveAsset&) = default;
|
|
FWaveAsset& operator=(const FWaveAsset& Other) = default;
|
|
|
|
FWaveAsset(const TUniquePtr<Audio::IProxyData>& InInitData);
|
|
|
|
bool IsSoundWaveValid() const;
|
|
|
|
const FSoundWaveProxyPtr& GetSoundWaveProxy() const
|
|
{
|
|
return SoundWaveProxy;
|
|
}
|
|
|
|
const FSoundWaveProxy* operator->() const
|
|
{
|
|
return SoundWaveProxy.Get();
|
|
}
|
|
|
|
FSoundWaveProxy* operator->()
|
|
{
|
|
return SoundWaveProxy.Get();
|
|
}
|
|
};
|
|
|
|
DECLARE_METASOUND_DATA_REFERENCE_TYPES(FWaveAsset, METASOUNDENGINE_API, FWaveAssetTypeInfo, FWaveAssetReadRef, FWaveAssetWriteRef)
|
|
}
|
|
|