A modded EditSaber for making beat saber maps.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

73 lines
1.5 KiB

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "AudioDecompress.h"
//#include "AudioDecompressWorker.generated.h"
class FAudioDecompressWorker : public FRunnable
{
/// VARIABLES ///
public:
// Singleton Instance, can access the Thread any time via static accessors
static FAudioDecompressWorker* Runnable;
// Thread to run the worker FRunnable on
FRunnableThread* Thread;
private:
// Stop this thread? Uses Thread Safe Counter
FThreadSafeCounter StopTaskCounter;
// Bool to check if the thread is running
bool bIsFinished;
// Counter for the ThreadNames
static int32 ThreadCounter;
protected:
// Pointer to SoundWave Object we want to Decompress
class USoundWave* SoundWaveRef;
// Some Compressed Audio Information
ICompressedAudioInfo* AudioInfo;
/// FUNCTIONS ///
public:
// Constructor for my De-Compressor
FAudioDecompressWorker(class USoundWave* InSoundWaveRef);
~FAudioDecompressWorker();
// Custom Init function
static FAudioDecompressWorker* InitializeWorker(class USoundWave* InSoundWaveRef);
// Custom Shutdown function
static void ShutdownWorker();
// Start FRunnable Interface
virtual bool Init();
virtual uint32 Run();
virtual void Stop();
virtual void Exit();
// End FRunnable Interface
// Make sure Thread completed
void EnsureCompletion();
/// GETTER / SETTER
class USoundWave* GetSoundWaveRef() const {
return SoundWaveRef;
}
bool IsFinished() const {
return bIsFinished;
}
};