28 lines
833 B
C++
28 lines
833 B
C++
#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<const FSamplePeak> GetWaveform(int32 SizeX) override;
|
|
FWaveform* RenderData = nullptr;
|
|
};
|
|
|
|
class ARONA_API SSamplePatternInstance : public SPatternInstance
|
|
{
|
|
public:
|
|
SSamplePatternInstance();
|
|
virtual TSharedRef<SWidget> GetViewWidget() override;
|
|
virtual void RequestUpdate() override;
|
|
protected:
|
|
virtual FReply OpenPatternMenu() override;
|
|
TSharedPtr<FSamplePatternInstanceWaveformHandle> WaveformHandle;
|
|
TSharedPtr<SWaveformViewer> WaveformViewer;
|
|
};
|