csound::VoiceleadingNode Class Reference

#include <VoiceleadingNode.hpp>

Inherits csound::Node.

Public Member Functions

Data Fields

Protected Attributes


Detailed Description

This node class imposes a sequence of one or more "voice-leading" operations upon the pitches of notes produced by children of this node. These operations comprise: prime chord (P), transpose (T), unordered pitch-class set (C, equivalent to PT), voicing (V), and voice-lead (L). The values of P, T, C, and V each form an additive cyclic group whose elements are defined by counting through all possible values in order. Note that C is not the same as "pitch-class set number" in the sense of M = sum over pitch-classes of (2 ^ pitch-class); it is rather one less than M. Not all combinations of operations are consistent. P requires T. PT cannot be used with C. V cannot be used with L. If neither PT nor C is specified, the existing C of the notes is used. The consistent combinations of operations are thus: PT, PTV, PTL, C, CV, CL, V, and L.


Constructor & Destructor Documentation

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

Member Function Documentation

virtual void csound::Node::addChild ( Node node  )  [virtual, inherited]
virtual void csound::VoiceleadingNode::apply ( Score score,
const VoiceleadingOperation priorOperation,
const VoiceleadingOperation currentOperation 
) [virtual]

Applies stored operations to specified ranges of notes produced by children of this node.

virtual void csound::VoiceleadingNode::C ( double  time,
std::string  C_ 
) [virtual]
virtual void csound::VoiceleadingNode::C ( double  time,
double  C_ 
) [virtual]
virtual void csound::VoiceleadingNode::CL ( double  time,
std::string  C_,
bool  avoidParallels = true 
) [virtual]
virtual void csound::VoiceleadingNode::CL ( double  time,
double  C_,
bool  avoidParallels = true 
) [virtual]
virtual void csound::Node::clear (  )  [virtual, inherited]

Reimplemented in csound::Lindenmayer, and csound::MusicModel.

virtual ublas::matrix<double> csound::Node::createTransform (  )  [virtual, inherited]
virtual void csound::VoiceleadingNode::CV ( double  time,
std::string  C_,
double  V_ 
) [virtual]
virtual void csound::VoiceleadingNode::CV ( double  time,
double  C_,
double  V_ 
) [virtual]
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.

Reimplemented in csound::Random.

virtual void csound::VoiceleadingNode::L ( double  time,
bool  avoidParallels = true 
) [virtual]
virtual void csound::VoiceleadingNode::produceOrTransform ( Score score,
size_t  beginAt,
size_t  endAt,
const ublas::matrix< double > &  coordinates 
) [virtual]

The default implementation does nothing.

Reimplemented from csound::Node.

virtual void csound::VoiceleadingNode::PT ( double  time,
double  P_,
double  T 
) [virtual]
virtual void csound::VoiceleadingNode::PTL ( double  time,
double  P_,
double  T,
bool  avoidParallels = true 
) [virtual]
virtual void csound::VoiceleadingNode::PTV ( double  time,
double  P_,
double  T,
double  V_ 
) [virtual]
virtual void csound::Node::setElement ( size_t  row,
size_t  column,
double  value 
) [virtual, inherited]
virtual void csound::VoiceleadingNode::transform ( Score score,
bool  rescaleTime = false 
) [virtual]

Simplifies use out of the context of a music graph.

virtual ublas::matrix<double> csound::Node::traverse ( const ublas::matrix< double > &  globalCoordinates,
Score score 
) [virtual, inherited]

The default implementation postconcatenates its own local coordinate system with the global coordinates, then passes the score and the product of coordinate systems to each child, thus performing a depth-first traversal of the music graph.

Reimplemented in csound::Hocket, and csound::Sequence.

virtual void csound::VoiceleadingNode::V ( double  time,
double  V_ 
) [virtual]

Field Documentation

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

Child Nodes, if any.

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

Generated by  doxygen 1.6.2