Ardour
9.0-pre0-350-gf17a656217
|
#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 66 of file buffer_set.h.
Definition at line 175 of file buffer_set.h.
|
private |
Definition at line 184 of file buffer_set.h.
typedef iterator_base<const BufferSet, const Buffer> ARDOUR::BufferSet::const_iterator |
Definition at line 171 of file buffer_set.h.
Definition at line 167 of file buffer_set.h.
|
private |
LV2 MIDI buffers (for conversion to/from MIDI buffers)
Definition at line 190 of file buffer_set.h.
Definition at line 179 of file buffer_set.h.
|
private |
Definition at line 214 of file buffer_set.h.
ARDOUR::BufferSet::BufferSet | ( | ) |
ARDOUR::BufferSet::~BufferSet | ( | ) |
void ARDOUR::BufferSet::attach_buffers | ( | PortSet const & | ports | ) |
|
inline |
Definition at line 176 of file buffer_set.h.
|
inline |
Definition at line 177 of file buffer_set.h.
|
inline |
Definition at line 89 of file buffer_set.h.
|
inline |
Definition at line 88 of file buffer_set.h.
Definition at line 168 of file buffer_set.h.
|
inline |
Definition at line 172 of file buffer_set.h.
size_t ARDOUR::BufferSet::buffer_capacity | ( | DataType | type | ) | const |
void ARDOUR::BufferSet::clear | ( | ) |
|
inline |
Definition at line 92 of file buffer_set.h.
|
inline |
Definition at line 91 of file buffer_set.h.
Definition at line 169 of file buffer_set.h.
|
inline |
Definition at line 173 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 101 of file buffer_set.h.
|
inline |
Definition at line 104 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 108 of file buffer_set.h.
|
inline |
Definition at line 111 of file buffer_set.h.
VstEvents* ARDOUR::BufferSet::get_vst_midi | ( | size_t | ) |
|
inline |
Definition at line 95 of file buffer_set.h.
void ARDOUR::BufferSet::merge_from | ( | const BufferSet & | in, |
samplecnt_t | nframes | ||
) |
|
inline |
Definition at line 180 of file buffer_set.h.
|
inline |
Definition at line 181 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 97 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 222 of file buffer_set.h.
|
private |
Vector of vectors, indexed by DataType.
Definition at line 187 of file buffer_set.h.
|
private |
Use counts (there may be more actual buffers than this)
Definition at line 219 of file buffer_set.h.
|
private |
False if we 'own' the contained buffers, if true we mirror a PortSet)
Definition at line 225 of file buffer_set.h.
|
private |
Definition at line 191 of file buffer_set.h.
|
private |
Definition at line 215 of file buffer_set.h.