ViPERFX_RE/src/utils/WaveBuffer_I32.h

34 lines
678 B
C
Raw Normal View History

2021-07-31 01:15:40 +02:00
//
// Created by mart on 7/31/21.
//
#pragma once
#include <cstdint>
class WaveBuffer_I32 {
public:
WaveBuffer_I32(int channels, uint32_t size);
~WaveBuffer_I32();
void Reset();
uint32_t GetBufferOffset();
uint32_t GetBufferSize();
float* GetCurrentBufferI32Ptr();
uint32_t PopSamples(uint32_t size, bool resetIndex);
uint32_t PopSamples(float* dest, uint32_t size, bool resetIndex);
int PushSamples(float* source, uint32_t size);
int PushZeros(uint32_t size);
float* PushZerosGetBuffer(uint32_t size);
void SetBufferOffset(uint32_t offset);
float* buffer;
uint32_t size;
uint32_t index;
int channels;
};