8#ifndef GALAXY_MEM_RINGBUFFER_HPP_
9#define GALAXY_MEM_RINGBUFFER_HPP_
42 int write(
float* data,
const int count)
noexcept;
53 int read(
float* data,
int count)
noexcept;
Memory manager in a ring buffer format.
float m_volume
Current volume of audio.
int read(float *data, int count) noexcept
Read data from buffer.
int m_write_index
Current index for writing to buffer.
RingBuffer(RingBuffer &&)=delete
Move constructor.
RingBuffer & operator=(const RingBuffer &)=delete
Copy assignment operator.
int write(float *data, const int count) noexcept
Write data to ring buffer.
int m_capacity
Amount of data buffer can hold in total.
void set_volume(const float volume) noexcept
Sets audio volume of the buffer.
float * m_buffer
Data buffer.
RingBuffer & operator=(RingBuffer &&)=delete
Move assignment operator.
int available_bytes() const noexcept
Available bytes left in the ring buffer.
RingBuffer()=delete
Constructor.
int m_read_index
Current index for reading from buffer.
float get_volume() const noexcept
Gets current buffer volume.
~RingBuffer() noexcept
Destructor.
RingBuffer(const RingBuffer &)=delete
Copy constructor.
float * direct_read_pointer(const int count) noexcept
Read the ring buffer.