#pragma once #include "SPatternInstance.h" #include "PeakFile/PeakFile.h" #include "UI/Widget/WaveformViewer.h" class SSamplePatternInstance; class FSamplePatternInstanceWaveformHandle : public IWaveformHandle { public: FSamplePatternInstanceWaveformHandle(SSamplePatternInstance* InPatternInstance); SSamplePatternInstance* PatternInstanceWidget; virtual TArrayView GetWaveform(int32 SizeX) override; FWaveform* RenderData = nullptr; }; class ARONA_API SSamplePatternInstance : public SPatternInstance { public: SSamplePatternInstance(); virtual TSharedRef GetViewWidget() override; virtual void RequestUpdate() override; protected: virtual FReply OpenPatternMenu() override; TSharedPtr WaveformHandle; TSharedPtr WaveformViewer; };