|
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Kismet/BlueprintFunctionLibrary.h"
|
|
|
|
#include "Sound/SoundWave.h"
|
|
#include "Engine/CanvasRenderTarget2D.h"
|
|
#include "Engine/Canvas.h"
|
|
#include "ProceduralMeshComponent.h"
|
|
|
|
#include "RenderWaveform.generated.h"
|
|
|
|
/**
|
|
*
|
|
*/
|
|
UCLASS()
|
|
class MEDIOCREMAPPER_API URenderWaveform : public UBlueprintFunctionLibrary
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Render Spectrogram"), Category = "Render Spectrogram")
|
|
static void BP_RenderWaveform(USoundWave* InSoundWaveRef, UProceduralMeshComponent* Mesh, float InSongPosition, int SizeX);
|
|
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Generate Spectrogram Mesh"), Category = "Render Spectrogram")
|
|
static void BP_GenerateSpectrogramMesh(UProceduralMeshComponent* Mesh, int SizeX, int SizeY);
|
|
|
|
private:
|
|
static int To1D(int x, int y, int sizeX);
|
|
};
|