PiPo
Plug In Plug Out / Plugin Interface for Processing Objects
|
Public Member Functions | |
PiPoSequence (PiPo::Parent *parent) | |
PiPoSequence (const PiPoSequence &other) | |
const PiPoSequence & | operator= (const PiPoSequence &other) |
PiPoSequence setup methods | |
void | add (PiPo *pipo, bool autoconnect=true) |
void | add (PiPo &pipo, bool autoconnect=true) |
void | clear () |
bool | connect (PiPo *receiver) |
PiPoChain query methods | |
int | getSize () const |
PiPo * | getHead () const |
PiPo * | getTail () const |
PiPo * | getPiPo (unsigned int index) const |
overloaded PiPo methods | |
void | setParent (PiPo::Parent *parent) |
Sets PiPo parent. More... | |
void | setReceiver (PiPo *receiver, bool add=false) |
Sets a PiPo modules receiver (call only by the PiPo host) More... | |
preparation of processing | |
int | streamAttributes (bool hasTimeTags, double rate, double offset, unsigned int width, unsigned int height, const char **labels, bool hasVarSize, double domain, unsigned int maxFrames) |
int | reset () |
Resets processing (optional) More... | |
processing | |
int | frames (double time, double weight, PiPoValue *values, unsigned int size, unsigned int num) |
Processes a single frame or a block of frames. More... | |
int | finalize (double inputEnd) |
Finalizes processing (optinal) More... | |
Public Member Functions inherited from PiPo | |
PiPo (Parent *parent, PiPo *receiver=NULL) | |
PiPo (const PiPo &other) | |
int | propagateStreamAttributes (bool hasTimeTags, double rate, double offset, unsigned int width, unsigned int height, const char **labels, bool hasVarSize, double domain, unsigned int maxFrames) |
Propagates a module's output stream attributes to its receiver. More... | |
int | propagateReset (void) |
Propagates the reset control event. More... | |
int | propagateFrames (double time, double weight, PiPoValue *values, unsigned int size, unsigned int num) |
Propagates a module's output frames to its receiver. More... | |
int | propagateFinalize (double inputEnd) |
Propagates the finalize control event. More... | |
virtual PiPo * | getReceiver (unsigned int index=0) |
Gets a PiPo modules receiver (call only by the PiPo host) More... | |
virtual int | segment (double time, bool start) |
Signals segment start or end. More... | |
void | streamAttributesChanged (Attr *attr) |
void | signalError (std::string errorMsg) |
void | signalWarning (std::string errorMsg) |
void | addAttr (PiPo *pipo, const char *name, const char *descr, Attr *attr, bool clear=false) |
att attribute | |
Attr * | getAttr (unsigned int index) |
Gets PiPo attribute by index. More... | |
Attr * | getAttr (const char *name) |
Gets PiPo attribute by name. More... | |
Attr * | getAttr (const char *piponame, const char *name) |
Gets PiPo attribute by qualified name. More... | |
bool | setAttr (unsigned int index, int value, bool silently=false) |
bool | setAttr (unsigned int index, int *values, unsigned int numValues, bool silently=false) |
bool | setAttr (unsigned int index, double val, bool silently=false) |
bool | setAttr (unsigned int index, double *values, unsigned int numValues, bool silently=false) |
unsigned int | getNumAttrs (void) |
Gets number of attributes. More... | |
void | cloneAttrs (PiPo *other) |
Copies current parent and attributes values. More... | |
void | cloneAttr (PiPo::Attr *attr) |
Copies current value(s) of given attribute. More... | |
Additional Inherited Members | |
Public Types inherited from PiPo | |
enum | Type { Undefined, Bool, Enum, Int, Float, Double, String } |
enum | Enumerate |
Static Public Member Functions inherited from PiPo | |
static float | getVersion () |
Protected Attributes inherited from PiPo | |
Parent * | parent |
std::vector< PiPo * > | receivers |
std::vector< Attr * > | attrs |
|
inline |
append module pipo
to sequential data flow graph
|
inline |
connect each PiPo in PiPoSequence (from end to start)
receiver | is terminating PiPo of the host that finally receives data |
|
inlinevirtual |
Finalizes processing (optinal)
PiPo module: Any implementation of this method requires a propagateFinalize() method call and returns its return value.
PiPo host: A terminating receiver module provided by a PiPo host usally simply returns 0.
inputEnd | end time of the finalized input stream |
Reimplemented from PiPo.
|
inlinevirtual |
Processes a single frame or a block of frames.
PiPo module: An implementation of this method may call propagateFrames(), typically like this:
PiPo host: A terminating receiver module provided by a PiPo host handles the received frames and usally returns 0.
time | time-tag for a single frame or a block of frames |
weight | weight associated to frame or block |
values | interleaved frames values, row by row (interleaving channels or columns), frame by frame TODO: should be const!!! |
size | total size of each of all frames (size = number of elements = width * height = number of channels for audio) |
num | number of frames (number of samples for audio input) |
Implements PiPo.
|
inlinevirtual |
Resets processing (optional)
PiPo module: Any implementation of this method requires a propagateReset() method call and returns its return value.
PiPo host: A terminating receiver module provided by a PiPo host usally simply returns 0.
Reimplemented from PiPo.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
start stream preparation
Implements PiPo.