csound::VoiceleadingNode Class Reference
#include <VoiceleadingNode.hpp>
Inherits csound::Node.
Public Member Functions
- virtual void addChild (Node *node)
- virtual void apply (Score &score, const VoiceleadingOperation &priorOperation, const VoiceleadingOperation ¤tOperation)
- virtual void C (double time, std::string C_)
- virtual void C (double time, double C_)
- virtual void CL (double time, std::string C_, bool avoidParallels=true)
- virtual void CL (double time, double C_, bool avoidParallels=true)
- virtual void clear ()
- virtual ublas::matrix< double > createTransform ()
- virtual void CV (double time, std::string C_, double V_)
- virtual void CV (double time, double C_, double V_)
- virtual double & element (size_t row, size_t column)
- virtual ublas::matrix< double > getLocalCoordinates () const
- virtual void L (double time, bool avoidParallels=true)
- virtual void produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &coordinates)
- virtual void PT (double time, double P_, double T)
- virtual void PTL (double time, double P_, double T, bool avoidParallels=true)
- virtual void PTV (double time, double P_, double T, double V_)
- virtual void setElement (size_t row, size_t column, double value)
- virtual void transform (Score &score, bool rescaleTime=false)
- virtual ublas::matrix< double > traverse (const ublas::matrix< double > &globalCoordinates, Score &score)
- virtual void V (double time, double V_)
- VoiceleadingNode ()
- virtual ~VoiceleadingNode ()
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] |
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] |
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