Csound and CsoundAC API 5.13
Public Member Functions | Data Fields | Protected Attributes
csound::Sequence Class Reference

Node that creates a temporal sequence of child nodes. More...

#include <Sequence.hpp>

Inheritance diagram for csound::Sequence:

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

Detailed Description

Node that creates a temporal sequence of child nodes.


Constructor & Destructor Documentation

csound::Sequence::Sequence ( )
virtual csound::Sequence::~Sequence ( ) [virtual]

Member Function Documentation

virtual void csound::Node::addChild ( Node node) [virtual, inherited]
virtual void csound::Node::clear ( ) [virtual, inherited]
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::Cell, csound::ChordLindenmayer, csound::CounterpointNode, csound::Hocket, csound::MCRM, csound::RemoveDuplicates, csound::Random, csound::Rescale, csound::ScoreNode, and csound::VoiceleadingNode.

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.


Field Documentation

std::vector<Node *> csound::Node::children [inherited]

Child Nodes, if any.

ublas::matrix<double> csound::Node::localCoordinates [protected, inherited]