// 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 { public: FSubmixAudioAnalyzerRack(TWeakObjectPtr InSoundSubmix); virtual ~FSubmixAudioAnalyzerRack(); TSharedRef MakeWidget(TSharedRef InOwnerTab, const FSpawnTabArgs& InSpawnTabArgs); void RebuildAudioAnalyzerRack(TWeakObjectPtr InSoundSubmix); private: void CleanupAudioAnalyzerRack(); TSharedRef AudioAnalyzerRack; TWeakObjectPtr SoundSubmix; }; } // namespace UE::Audio::Insights