// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "SCompoundWidget.h" #include "SPatternThumbnail.h" #include "Render/UpdatableTexture.h" #include "UI/Widget/WaveformViewer.h" class FSampler; class FSamplePatternWaveformHandle : public IWaveformHandle { public: FSamplePatternWaveformHandle(FSampler* InSampler) : Sampler(InSampler) { } FSampler* Sampler = nullptr; FWaveform* RenderData = nullptr; virtual TArrayView GetWaveform(int32 SizeX) override; }; /** * */ class ARONA_API SSamplePatternThumbnail : public SPatternThumbnail { public: SLATE_BEGIN_ARGS(SSamplePatternThumbnail) {} SLATE_END_ARGS() /** Constructs this widget with InArgs */ void Construct(const FArguments& InArgs, FSampler* InSampler); virtual void Redraw() override; private: TSharedPtr WaveformHandle; TSharedPtr WaveformViewer; };