mirror of
https://github.com/AndroidAudioMods/ViPERFX_RE.git
synced 2025-06-08 02:29:40 +08:00
47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include "../utils/WaveBuffer.h"
|
|
#include "../utils/PConvSingle.h"
|
|
|
|
class Convolver {
|
|
public:
|
|
Convolver();
|
|
~Convolver();
|
|
|
|
void CommitKernelBuffer(uint32_t param_1, uint32_t param_2, uint32_t kernelId);
|
|
bool GetEnabled();
|
|
uint32_t GetKernelID();
|
|
void PrepareKernelBuffer(uint32_t param_1, uint32_t param_2, int32_t param_3);
|
|
uint32_t Process(float *source, float *dest, uint32_t frameSize);
|
|
void Reset();
|
|
void SetCrossChannel(float param_1);
|
|
void SetEnable(bool enabled);
|
|
void SetKernel(float *buf, uint32_t len);
|
|
void SetKernelBuffer(uint32_t param_1, float *buf, uint32_t len);
|
|
void SetKernelStereo(float *param_1, float *param_2, uint32_t param_3);
|
|
void SetSamplingRate(uint32_t param_1);
|
|
|
|
private:
|
|
WaveBuffer *waveBufferL;
|
|
WaveBuffer *waveBufferR;
|
|
PConvSingle kernelCh1;
|
|
PConvSingle kernelCh2;
|
|
PConvSingle kernelCh3;
|
|
PConvSingle kernelCh4;
|
|
char kernelFilePath[256];
|
|
uint32_t kernelId;
|
|
float *unknown1;
|
|
uint32_t unknown2;
|
|
uint32_t unknown3;
|
|
uint32_t unknown4;
|
|
uint32_t unknown5;
|
|
int isQuadChannel;
|
|
float crossChannel;
|
|
bool isValidCrossChannel;
|
|
uint32_t samplingRate;
|
|
bool enable;
|
|
};
|
|
|
|
|