26#ifndef LMMS_RING_BUFFER_H
27#define LMMS_RING_BUFFER_H
32#include "lmms_export.h"
void movePosition(f_cnt_t amount)
Moves position forwards/backwards by an amount of frames.
Definition RingBuffer.cpp:109
void setSamplerateAware(bool b)
Sets whether the ringbuffer size is adjusted for samplerate when samplerate changes.
Definition RingBuffer.cpp:90
void writeAdding(SampleFrame *src, f_cnt_t offset=0, f_cnt_t length=0)
Mixes a buffer of sampleframes additively to the ringbuffer at specified position.
Definition RingBuffer.cpp:223
void updateSamplerate()
Definition RingBuffer.cpp:306
sample_rate_t m_samplerate
Definition RingBuffer.h:217
void advance()
Advances the position by one period.
Definition RingBuffer.cpp:103
void reset()
Clears the ringbuffer of any data and resets the position to 0.
Definition RingBuffer.cpp:65
size_t m_size
Definition RingBuffer.h:218
void writeSwappedAddingMultiplied(SampleFrame *src, f_cnt_t offset, f_cnt_t length, float level)
Mixes a buffer of sampleframes additively to the ringbuffer at specified position,...
Definition RingBuffer.cpp:279
const f_cnt_t m_fpp
Definition RingBuffer.h:216
f_cnt_t msToFrames(float ms)
Definition RingBuffer.h:211
RingBuffer(f_cnt_t size)
Constructs a ringbuffer of specified size, will not care about samplerate changes.
Definition RingBuffer.cpp:35
void writeAddingMultiplied(SampleFrame *src, f_cnt_t offset, f_cnt_t length, float level)
Mixes a buffer of sampleframes additively to the ringbuffer at specified position,...
Definition RingBuffer.cpp:250
void write(SampleFrame *src, f_cnt_t offset=0, f_cnt_t length=0)
Writes a buffer of sampleframes to the ringbuffer at specified position.
Definition RingBuffer.cpp:196
SampleFrame * m_buffer
Definition RingBuffer.h:219
void pop(SampleFrame *dst)
Destructively reads a period-sized buffer from the current position, writes it to a specified destina...
Definition RingBuffer.cpp:121
void changeSize(f_cnt_t size)
Changes the size of the ringbuffer. Clears all data.
Definition RingBuffer.cpp:72
volatile unsigned int m_position
Definition RingBuffer.h:220
Definition SampleFrame.h:41
Definition AudioAlsa.cpp:35
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
png_uint_32 length
Definition png.c:2247