#include "ChannelNode.h" #include "Singleton/MixerList.h" #include "Mixer/MixerTrack.h" FChannelNode::FChannelNodeMulticastDelegate FChannelNode::OnChannelNodeDestroyed; FNullChannelNode FNullChannelNode::Instance; FMixerChannelNode::FMixerChannelNode(FChannelInterface* InOwner, FMixerTrack* InTrack, int32 InNodeIndex) : FChannelNode(InOwner, EChannelNodeType::MixerNode), Track(InTrack), NodeIndex(InNodeIndex) { const TArray& BufferHeaderArray = Track->Buffer.GetHeaderArray(); ChannelHeaders.Add(BufferHeaderArray[InNodeIndex * 2]); ChannelHeaders.Add(BufferHeaderArray[InNodeIndex * 2 + 1]); } FString FMixerChannelNode::GetName() { return Track->GetName() + FString::FromInt(NodeIndex); } const TArray& FMixerChannelNode::GetChannelHeaders() { return ChannelHeaders; } const TArray& FNullChannelNode::GetChannelHeaders() { return FMixerList::Get().ZeroTrack->Buffer.GetHeaderArray(); }