Csound and CsoundAC API
5.17
|
Node that creates a temporal sequence of child nodes. More...
#include <Sequence.hpp>
Public Member Functions | |
virtual void | addChild (Node *node) |
virtual void | clear () |
virtual ublas::matrix< double > | createTransform () |
virtual double & | element (size_t row, size_t column) |
virtual ublas::matrix< double > | getLocalCoordinates () const |
Returns the local transformation of coordinate system. | |
virtual void | produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &compositeCordinates) |
The default implementation does nothing. | |
Sequence () | |
virtual void | setElement (size_t row, size_t column, double value) |
virtual ublas::matrix< double > | traverse (const ublas::matrix< double > &globalCoordinates, Score &score) |
The notes produced by the first child node have a total duration. | |
virtual | ~Sequence () |
Data Fields | |
std::vector< Node * > | children |
Child Nodes, if any. | |
Protected Attributes | |
ublas::matrix< double > | localCoordinates |
Node that creates a temporal sequence of child nodes.
virtual csound::Sequence::~Sequence | ( | ) | [virtual] |
virtual void csound::Node::addChild | ( | Node * | node | ) | [virtual, inherited] |
virtual void csound::Node::clear | ( | ) | [virtual, inherited] |
Reimplemented in csound::ChordLindenmayer, csound::Lindenmayer, csound::MusicModel, and csound::ScoreModel.
virtual ublas::matrix<double> csound::Node::createTransform | ( | ) | [virtual, inherited] |
virtual double& csound::Node::element | ( | size_t | row, |
size_t | column | ||
) | [virtual, inherited] |
virtual ublas::matrix<double> csound::Node::getLocalCoordinates | ( | ) | const [virtual, inherited] |
Returns the local transformation of coordinate system.
virtual void csound::Node::produceOrTransform | ( | Score & | score, |
size_t | beginAt, | ||
size_t | endAt, | ||
const ublas::matrix< double > & | compositeCordinates | ||
) | [virtual, inherited] |
The default implementation does nothing.
Derived nodes that produce notes from scratch should transform them using the composite transformation of coordinate system, which is passed in from the traverse() function.
Reimplemented in csound::ChordLindenmayer, csound::VoiceleadingNode, csound::RemoveDuplicates, csound::Random, csound::CounterpointNode, csound::MCRM, csound::ScoreNode, csound::Rescale, csound::Cell, and csound::Hocket.
virtual void csound::Node::setElement | ( | size_t | row, |
size_t | column, | ||
double | value | ||
) | [virtual, inherited] |
virtual ublas::matrix<double> csound::Sequence::traverse | ( | const ublas::matrix< double > & | globalCoordinates, |
Score & | score | ||
) | [virtual] |
The notes produced by the first child node have a total duration.
The notes produced by the second child node are shifted forward in time by that duration, and so on, to create a strict temporal sequence of child nodes.
Reimplemented from csound::Node.
std::vector<Node *> csound::Node::children [inherited] |
Child Nodes, if any.
ublas::matrix<double> csound::Node::localCoordinates [protected, inherited] |