Ingen  0.5.1
Public Member Functions | Protected Attributes | Friends | List of all members
Ingen::Server::Buffer Class Reference
+ Inheritance diagram for Ingen::Server::Buffer:
+ Collaboration diagram for Ingen::Server::Buffer:

Public Member Functions

 Buffer (BufferFactory &bufs, LV2_URID type, LV2_URID value_type, uint32_t capacity, bool external=false, void *buf=NULL)
void clear ()
void resize (uint32_t size)
void copy (const RunContext &context, const Buffer *src)
void prepare_write (RunContext &context)
void * port_data (PortType port_type, SampleCount offset)
const void * port_data (PortType port_type, SampleCount offset) const
LV2_URID type () const
LV2_URID value_type () const
uint32_t capacity () const
uint32_t size () const
void set_type (LV2_URID type, LV2_URID value_type)
bool is_audio () const
bool is_control () const
bool is_sequence () const
const Sample * samples () const
 Audio or float buffers only.
Sample * samples ()
 Audio buffers only.
SampleCount nframes () const
 Audio buffers only.
Sample value_at (SampleCount offset) const
 Numeric buffers only.
void set_block (const Sample val, const SampleCount start, const SampleCount end)
void add_block (const Sample val, const SampleCount start, const SampleCount end)
void write_block (const Sample val, const SampleCount start, const SampleCount end, const bool add)
float peak (const RunContext &context) const
 Audio buffers only.
void prepare_output_write (RunContext &context)
 Sequence buffers only.
bool append_event (int64_t frames, uint32_t size, uint32_t type, const uint8_t *data)
 Sequence buffers only.
bool append_event (int64_t frames, const LV2_Atom *body)
 Sequence buffers only.
BufferRef value_buffer ()
 Value buffer for numeric sequences.
const BufferRef value_buffer () const
const LV2_Atom * value () const
LV2_Atom * value ()
SampleCount next_value_offset (SampleCount offset, SampleCount end) const
 Return offset of the first value change after offset.
void update_value_buffer (SampleCount offset)
 Update value buffer to value as of offset.
void render_sequence (const RunContext &context, const Buffer *src, bool add)
 Set/add to audio buffer from the Sequence of Float in src
void set_capacity (uint32_t capacity)
void set_buffer (void *buf)
template<typename T >
const T * get () const
template<typename T >
T * get ()
void ref ()
void deref ()

Protected Attributes

void * _buf
LV2_URID _type
LV2_URID _value_type
uint32_t _capacity
int64_t _latest_event
BufferRef _value_buffer
 Value buffer for numeric sequences.


class BufferFactory

The documentation for this class was generated from the following files: