Files
UnrealEngine/Engine/Plugins/AudioInsights/Source/AudioInsightsEditor/Private/Analyzers/SubmixAudioAnalyzerRack.h
2025-05-18 13:04:45 +08:00

33 lines
882 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Templates/SharedPointer.h"
#include "UObject/WeakObjectPtr.h"
namespace AudioWidgets { class FAudioAnalyzerRack; }
class FSpawnTabArgs;
class SDockTab;
class SWidget;
class USoundSubmix;
namespace UE::Audio::Insights
{
class FSubmixAudioAnalyzerRack : public TSharedFromThis<FSubmixAudioAnalyzerRack>
{
public:
FSubmixAudioAnalyzerRack(TWeakObjectPtr<USoundSubmix> InSoundSubmix);
virtual ~FSubmixAudioAnalyzerRack();
TSharedRef<SWidget> MakeWidget(TSharedRef<SDockTab> InOwnerTab, const FSpawnTabArgs& InSpawnTabArgs);
void RebuildAudioAnalyzerRack(TWeakObjectPtr<USoundSubmix> InSoundSubmix);
private:
void CleanupAudioAnalyzerRack();
TSharedRef<AudioWidgets::FAudioAnalyzerRack> AudioAnalyzerRack;
TWeakObjectPtr<USoundSubmix> SoundSubmix;
};
} // namespace UE::Audio::Insights