|
| PiPo (Parent *parent, PiPo *receiver=NULL) |
|
| PiPo (const PiPo &other) |
|
virtual void | setParent (Parent *parent) |
| Sets PiPo parent. More...
|
|
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 void | setReceiver (PiPo *receiver, bool add=false) |
| Sets a PiPo modules receiver (call only by the PiPo host) More...
|
|
virtual int | streamAttributes (bool hasTimeTags, double rate, double offset, unsigned int width, unsigned int height, const char **labels, bool hasVarSize, double domain, unsigned int maxFrames)=0 |
| Configures a PiPo module according to the input stream attributes and propagate output stream attributes. More...
|
|
virtual int | reset (void) |
| Resets processing (optional) More...
|
|
virtual int | frames (double time, double weight, PiPoValue *values, unsigned int size, unsigned int num)=0 |
| Processes a single frame or a block of frames. More...
|
|
virtual int | segment (double time, bool start) |
| Signals segment start or end. More...
|
|
virtual int | finalize (double inputEnd) |
| Finalizes processing (optinal) 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...
|
|
virtual int PiPo::frames |
( |
double |
time, |
|
|
double |
weight, |
|
|
PiPoValue * |
values, |
|
|
unsigned int |
size, |
|
|
unsigned int |
num |
|
) |
| |
|
pure virtual |
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.
- Parameters
-
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) |
- Returns
- 0 for ok or a negative error code (to be specified), -1 for an unspecified error
Implemented in PiPoGraph, PiPoFiniteDif, PiPoFft, PiPoParallel, PiPoBiquad, PiPoScale, PiPoSelect, PiPoBands, PiPoOnseg, PiPoSequence, PiPoMedian, PiPoMvavrg, PiPoGate, PiPoSlice, PiPoDelta, PiPoPeaks, PiPoChop, PiPoLpc, PiPoOut, PiPoDct, PiPoBayesFilter, PiPoMoments, PiPoSum, PiPoConst, and PiPoIdentity.
virtual int PiPo::reset |
( |
void |
| ) |
|
|
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.
- Returns
- 0 for ok or a negative error code (to be specified), -1 for an unspecified error
Reimplemented in PiPoGraph, PiPoFiniteDif, PiPoParallel, PiPoBiquad, PiPoOnseg, PiPoSequence, PiPoMedian, PiPoMvavrg, PiPoGate, PiPoSlice, PiPoDelta, PiPoPeaks, PiPoChop, PiPoBayesFilter, and PiPoConst.
virtual int PiPo::segment |
( |
double |
time, |
|
|
bool |
start |
|
) |
| |
|
inlinevirtual |
Signals segment start or end.
PiPo module: An implementation of this method calls propagateFrames() at the end of the segment.
In the case of two sucessive calls to segment(), the second call implitly ends the last segment.
If the module did not receive any frames - at all or since the last segment end -, the method should return 0 to the call segment(0.0, end) without calling propagateFrames(). This permits the host to check whether a module implements the segment method or not.
if(this->started)
{
this->started = false;
}
if(start)
{
}
return 0;
- Parameters
-
time | time of segment start of end |
start | flag, true for segment start, false for segment end |
- Returns
- 0 for ok or a negative error code (to be specified), -1 for an unspecified error
Reimplemented in PiPoGraph.
virtual int PiPo::streamAttributes |
( |
bool |
hasTimeTags, |
|
|
double |
rate, |
|
|
double |
offset, |
|
|
unsigned int |
width, |
|
|
unsigned int |
height, |
|
|
const char ** |
labels, |
|
|
bool |
hasVarSize, |
|
|
double |
domain, |
|
|
unsigned int |
maxFrames |
|
) |
| |
|
pure virtual |
Configures a PiPo module according to the input stream attributes and propagate output stream attributes.
PiPo module: Any implementation of this method requires a propagateStreamAttributes() method call and returns its return value, typically like this:
PiPo host: A terminating receiver module provided by a PiPo host handles the final output stream attributes and usally returns 0.
- Parameters
-
hasTimeTags | a boolean representing whether the elements of the stream are time-tagged |
rate | the frame rate (highest average rate for time-tagged streams, sample rate for audio input) |
offset | the lag of the output stream relative to the input |
width | the frame width (number of channels for audio or data matrix columns) |
height | the frame height (or number of matrix rows, always 1 for audio) |
labels | optional labels for the frames' channels or columns (can be NULL) |
hasVarSize | a boolean representing whether the frames have a variable height (respecting the given frame height as maximum) |
domain | extent of a frame in the given domain (e.g. duration or frequency range) |
maxFrames | maximum number of frames in a block exchanged between two modules (window size for audio) |
- Returns
- 0 for ok or a negative error code (to be specified), -1 for an unspecified error
Implemented in PiPoGraph, PiPoParallel, PiPoSequence, PiPoLpcFormants, PiPoBiquad, PiPoFft, PiPoScale, PiPoMedian, PiPoMvavrg, PiPoBands, PiPoOnseg, PiPoPeaks, PiPoOut, PiPoGate, PiPoFiniteDif, PiPoSlice, PiPoChop, PiPoSelect, PiPoBayesFilter, PiPoLpc, PiPoMoments, PiPoDct, PiPoDelta, PiPoSum, PiPoConst, and PiPoIdentity.