![]() |
Ardour
8.12
|
#include <buffer_set.h>
Classes | |
class | iterator_base |
class | VSTBuffer |
Public Types | |
typedef iterator_base< BufferSet, Buffer > | iterator |
typedef iterator_base< const BufferSet, const Buffer > | const_iterator |
typedef iterator_base< BufferSet, AudioBuffer > | audio_iterator |
typedef iterator_base< BufferSet, MidiBuffer > | midi_iterator |
Private Types | |
typedef std::vector< Buffer * > | BufferVec |
typedef std::vector< std::pair< bool, LV2_Evbuf * > > | LV2Buffers |
LV2 MIDI buffers (for conversion to/from MIDI buffers) More... | |
typedef std::vector< VSTBuffer * > | VSTBuffers |
Private Attributes | |
std::vector< BufferVec > | _buffers |
Vector of vectors, indexed by DataType. More... | |
LV2Buffers | _lv2_buffers |
VSTBuffers | _vst_buffers |
ChanCount | _count |
Use counts (there may be more actual buffers than this) More... | |
ChanCount | _available |
Available counts (number of buffers actually allocated) More... | |
bool | _is_mirror |
False if we 'own' the contained buffers, if true we mirror a PortSet) More... | |
A set of buffers of various types.
These are mainly accessed from Session and passed around as scratch buffers (eg as parameters to run() methods) to do in-place signal processing.
There are two types of counts associated with a BufferSet - available, and the 'use count'. Available is the actual number of allocated buffers (and so is the maximum acceptable value for the use counts).
The use counts are how things determine the form of their input and inform others the form of their output (eg what they did to the BufferSet). Setting the use counts is realtime safe.
Definition at line 67 of file buffer_set.h.
Definition at line 176 of file buffer_set.h.
|
private |
Definition at line 185 of file buffer_set.h.
typedef iterator_base<const BufferSet, const Buffer> ARDOUR::BufferSet::const_iterator |
Definition at line 172 of file buffer_set.h.
Definition at line 168 of file buffer_set.h.
|
private |
LV2 MIDI buffers (for conversion to/from MIDI buffers)
Definition at line 191 of file buffer_set.h.
Definition at line 180 of file buffer_set.h.
|
private |
Definition at line 215 of file buffer_set.h.
ARDOUR::BufferSet::BufferSet | ( | ) |
ARDOUR::BufferSet::~BufferSet | ( | ) |
void ARDOUR::BufferSet::attach_buffers | ( | PortSet const & | ports | ) |
|
inline |
Definition at line 177 of file buffer_set.h.
|
inline |
Definition at line 178 of file buffer_set.h.
|
inline |
Definition at line 90 of file buffer_set.h.
|
inline |
Definition at line 89 of file buffer_set.h.
Definition at line 169 of file buffer_set.h.
|
inline |
Definition at line 173 of file buffer_set.h.
size_t ARDOUR::BufferSet::buffer_capacity | ( | DataType | type | ) | const |
void ARDOUR::BufferSet::clear | ( | ) |
|
inline |
Definition at line 93 of file buffer_set.h.
|
inline |
Definition at line 92 of file buffer_set.h.
Definition at line 170 of file buffer_set.h.
|
inline |
Definition at line 174 of file buffer_set.h.
void ARDOUR::BufferSet::ensure_buffers | ( | const ChanCount & | chns, |
size_t | buffer_capacity | ||
) |
void ARDOUR::BufferSet::ensure_buffers | ( | DataType | type, |
size_t | num_buffers, | ||
size_t | buffer_capacity | ||
) |
void ARDOUR::BufferSet::ensure_lv2_bufsize | ( | bool | input, |
size_t | i, | ||
size_t | buffer_capacity | ||
) |
ensure minimum size of LV2 Atom port buffer
void ARDOUR::BufferSet::flush_lv2_midi | ( | bool | input, |
size_t | i, | ||
pframes_t | , | ||
samplecnt_t | |||
) |
Flush modified LV2 event output buffers back to Ardour buffers
void ARDOUR::BufferSet::forward_lv2_midi | ( | LV2_Evbuf * | , |
size_t | , | ||
pframes_t | , | ||
samplecnt_t | |||
) |
Forward plugin MIDI output to to Ardour buffers
|
inline |
Definition at line 102 of file buffer_set.h.
|
inline |
Definition at line 105 of file buffer_set.h.
void ARDOUR::BufferSet::get_backend_port_addresses | ( | PortSet & | , |
samplecnt_t | |||
) |
LV2_Evbuf* ARDOUR::BufferSet::get_lv2_midi | ( | bool | input, |
size_t | i | ||
) |
|
inline |
Definition at line 109 of file buffer_set.h.
|
inline |
Definition at line 112 of file buffer_set.h.
VstEvents* ARDOUR::BufferSet::get_vst_midi | ( | size_t | ) |
|
inline |
Definition at line 96 of file buffer_set.h.
void ARDOUR::BufferSet::merge_from | ( | const BufferSet & | in, |
samplecnt_t | nframes | ||
) |
|
inline |
Definition at line 181 of file buffer_set.h.
|
inline |
Definition at line 182 of file buffer_set.h.
void ARDOUR::BufferSet::read_from | ( | const BufferSet & | in, |
samplecnt_t | nframes | ||
) |
void ARDOUR::BufferSet::read_from | ( | const BufferSet & | in, |
samplecnt_t | nframes, | ||
DataType | |||
) |
|
inline |
Definition at line 98 of file buffer_set.h.
void ARDOUR::BufferSet::silence | ( | samplecnt_t | nframes, |
samplecnt_t | offset | ||
) |
bool ARDOUR::BufferSet::silent_data | ( | ) | const |
|
private |
Available counts (number of buffers actually allocated)
Definition at line 223 of file buffer_set.h.
|
private |
Vector of vectors, indexed by DataType.
Definition at line 188 of file buffer_set.h.
|
private |
Use counts (there may be more actual buffers than this)
Definition at line 220 of file buffer_set.h.
|
private |
False if we 'own' the contained buffers, if true we mirror a PortSet)
Definition at line 226 of file buffer_set.h.
|
private |
Definition at line 192 of file buffer_set.h.
|
private |
Definition at line 216 of file buffer_set.h.