2021-09-18 13:37:23 +02:00
|
|
|
#pragma once
|
|
|
|
|
2022-11-24 01:17:13 +01:00
|
|
|
class PConvSingle {
|
2021-09-18 13:37:23 +02:00
|
|
|
public:
|
2022-11-24 01:17:13 +01:00
|
|
|
PConvSingle();
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2022-11-24 01:17:13 +01:00
|
|
|
~PConvSingle();
|
2021-09-18 13:37:23 +02:00
|
|
|
|
|
|
|
void Reset();
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-09-18 13:37:23 +02:00
|
|
|
int GetFFTSize();
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-09-18 13:37:23 +02:00
|
|
|
int GetSegmentCount();
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-09-18 13:37:23 +02:00
|
|
|
int GetSegmentSize();
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-09-18 13:37:23 +02:00
|
|
|
bool InstanceUsable();
|
|
|
|
|
2022-08-23 00:26:44 +02:00
|
|
|
void Convolve(float *buffer);
|
|
|
|
|
|
|
|
void ConvolveInterleaved(float *buffer, int channel);
|
|
|
|
|
|
|
|
void ConvSegment(float *buffer, bool interleaved, int channel);
|
|
|
|
|
|
|
|
int LoadKernel(float *buf, int param_2, int segmentSize);
|
|
|
|
|
2022-11-24 01:17:13 +01:00
|
|
|
int LoadKernel(const float *param_2,float param_3,int param_4,int param_5);
|
2022-08-23 00:26:44 +02:00
|
|
|
|
|
|
|
int ProcessKernel(float *param_1, int param_2, int param_3);
|
2021-09-18 13:37:23 +02:00
|
|
|
|
|
|
|
int ProcessKernel(int param_2, float *param_3, int param_4, int param_5);
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-09-18 13:37:23 +02:00
|
|
|
void ReleaseResources();
|
2022-08-23 00:26:44 +02:00
|
|
|
|
2021-09-18 13:37:23 +02:00
|
|
|
void UnloadKernel();
|
|
|
|
|
|
|
|
bool enabled;
|
|
|
|
int segments, segmentSize;
|
2022-11-24 01:17:13 +01:00
|
|
|
// PConvData *data; // TODO: Type
|
2021-09-18 13:37:23 +02:00
|
|
|
};
|