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

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

Friends

class BufferFactory
 

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