Csound and CsoundAC API  5.17
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 Eigen::MatrixXd createTransform ()
virtual double & element (size_t row, size_t column)
 Returns a reference to the indicated element of the local transformation of coordinate system.
virtual Eigen::MatrixXd getLocalCoordinates () const
 Returns the local transformation of coordinate system.
virtual void produceOrTransform (Score &collectingScore, size_t beginAt, size_t endAt, const Eigen::MatrixXd &compositeCordinates)
 This function is called by the traverse() function.
 Sequence ()
virtual void setElement (size_t row, size_t column, double value)
 Sets the indicated element of the local transformation of coordinate system.
virtual Eigen::MatrixXd traverse (const Eigen::MatrixXd &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

Eigen::MatrixXd 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)
virtualinherited
virtual void csound::Node::clear ( )
virtualinherited
virtual Eigen::MatrixXd csound::Node::createTransform ( )
virtualinherited
virtual double& csound::Node::element ( size_t  row,
size_t  column 
)
virtualinherited

Returns a reference to the indicated element of the local transformation of coordinate system.

virtual Eigen::MatrixXd csound::Node::getLocalCoordinates ( ) const
virtualinherited

Returns the local transformation of coordinate system.

virtual void csound::Node::produceOrTransform ( Score collectingScore,
size_t  beginAt,
size_t  endAt,
const Eigen::MatrixXd &  compositeCordinates 
)
virtualinherited

This function is called by the traverse() function.

The default implementation does nothing. If a derived node produces new Events, then it must transform them by the composite coordinates, then append them to the collecting score. If a derived node transforms Events produced by child Nodes, then it must transform only Events in the collecting score starting at the startAt index and continuing up to, but not including, the endAt index. These bookmarks, in turn, must be set in the Traverse function by all Nodes that produce events.

Reimplemented in csound::ChordLindenmayer, csound::VoiceleadingNode, csound::RemoveDuplicates, csound::Random, csound::Cell, csound::CounterpointNode, csound::MCRM, csound::ScoreNode, and csound::Rescale.

virtual void csound::Node::setElement ( size_t  row,
size_t  column,
double  value 
)
virtualinherited

Sets the indicated element of the local transformation of coordinate system.

virtual Eigen::MatrixXd csound::Sequence::traverse ( const Eigen::MatrixXd &  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.

Eigen::MatrixXd csound::Node::localCoordinates
protectedinherited