PiPo
Plug In Plug Out / Plugin Interface for Processing Objects
|
#include <PiPoHost.h>
Public Member Functions | |
PiPoChain (PiPo::Parent *parent, PiPoModuleFactory *moduleFactory=NULL) | |
PiPoChain (const PiPoChain &other) | |
const PiPoChain & | operator= (const PiPoChain &other) |
PiPoChain setup methods | |
void | clear () |
size_t | parse (const char *str) |
bool | instantiate (void) |
void | copyPiPoAttributes () |
PiPoChain query methods | |
int | getSize () |
int | getIndex (const char *instanceName) |
PiPo * | getPiPo (const char *instanceName) |
const char * | getInstanceName (unsigned int index) |
![]() | |
PiPoSequence (PiPo::Parent *parent) | |
PiPoSequence (const PiPoSequence &other) | |
const PiPoSequence & | operator= (const PiPoSequence &other) |
void | add (PiPo *pipo, bool autoconnect=true) |
void | add (PiPo &pipo, bool autoconnect=true) |
void | clear () |
bool | connect (PiPo *receiver) |
int | getSize () const |
PiPo * | getHead () const |
PiPo * | getTail () const |
PiPo * | getPiPo (unsigned int index) const |
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... | |
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... | |
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... | |
![]() | |
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 | |
![]() | |
enum | Type { Undefined, Bool, Enum, Int, Float, Double, String } |
enum | Enumerate |
![]() | |
static float | getVersion () |
![]() | |
Parent * | parent |
std::vector< PiPo * > | receivers |
std::vector< Attr * > | attrs |
A PiPo host is built around the class PiPoChain that represents a sequence of PiPo modules piping data into each other.
The PiPoChain is setup with the following steps:
A PiPoChain is itself also a PiPo module, i.e. data processing works the same as for a simple module:
The host registers as the receiver for the last PiPo module in the PiPoChain.
|
inline |
go through list of PiPoOp in ops and instantiate PiPoModule using PiPoModuleFactory
|
inline |
parse pipo chain specification from string
creates list of PiPoOp in member ops