38 lines
817 B
C++
38 lines
817 B
C++
// 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 FSampleWaveformHandle : public IWaveformHandle
|
|
{
|
|
public:
|
|
FSamplePatternInstance* SampleInstance = nullptr;
|
|
virtual TArray<float> GetWaveform(int32 SizeX) const 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:
|
|
FSampleWaveformHandle* WaveformHandle = nullptr;
|
|
};
|