csound::CounterpointNode Class Reference

#include <CounterpointNode.hpp>

Inherits csound::Node, and Counterpoint.

Collaboration diagram for csound::CounterpointNode:

Collaboration graph
[legend]

Public Types

enum  { GenerateCounterpoint = 0, CorrectCounterpoint = 1 }

Public Member Functions

 CounterpointNode ()
virtual ~CounterpointNode ()
virtual void produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &globalCoordinates)
virtual ublas::matrix< double > getLocalCoordinates () const
virtual ublas::matrix< double > traverse (const ublas::matrix< double > &globalCoordinates, Score &score)
virtual ublas::matrix< double > createTransform ()
virtual void clear ()
virtual double & element (size_t row, size_t column)
virtual void setElement (size_t row, size_t column, double value)
virtual void addChild (Node *node)
void message (const char *format,...)
void message (const char *format, va_list valist)
virtual void initialize (int mostnotes, int mostvoices)
virtual void clear ()
int ABS (int i)
int MIN (int a, int b)
int MAX (int a, int b)
void ARRBLT (int *dest, int *source, int num)
int InMode (int Pitch, int Mode)
int BadMelody (int Intv)
int ASkip (int Interval)
int AStep (int Interval)
int AThird (int Interval)
int ASeventh (int Interval)
int AnOctave (int Interval)
int ATenth (int Interval)
int MotionType (int Pitch1, int Pitch2, int Pitch3, int Pitch4)
int DirectMotionToPerfectConsonance (int Pitch1, int Pitch2, int Pitch3, int Pitch4)
int ConsecutiveSkipsInSameDirection (int Pitch1, int Pitch2, int Pitch3)
int OutOfRange (int Pitch)
int ExtremeRange (int Pitch)
int Us (int n, int v)
int LastNote (int n, int v)
int FirstNote (int n, int v)
int NextToLastNote (int n, int v)
void SetUs (int n, int p, int v)
int TotalRange (int Cn, int Cp, int v)
int Cantus (int n, int v)
int VIndex (int Time, int VNum)
int Other (int Cn, int v, int v1)
int Bass (int Cn, int v)
int Beat8 (int n)
int DownBeat (int n, int v)
int UpBeat (int n, int v)
int PitchRepeats (int Cn, int Cp, int v)
int Size (int MelInt)
int TooMuchOfInterval (int Cn, int Cp, int v)
int ADissonance (int Interval, int Cn, int Cp, int v, int Species)
int Doubled (int Pitch, int Cn, int v)
int SpecialSpeciesCheck (int Cn, int Cp, int v, int Other0, int Other1, int Other2, int NumParts, int Species, int MelInt, int Interval, int ActInt, int LastIntClass, int Pitch, int LastMelInt, int CurLim)
void AddInterval (int n)
int OtherVoiceCheck (int Cn, int Cp, int v, int NumParts, int Species, int CurLim)
int Check (int Cn, int Cp, int v, int NumParts, int Species, int CurLim)
int SaveIndx (int indx, int *Sp)
void SaveResults (int CurrentPenalty, int Penalty, int v1, int Species)
int Look (int CurPen, int CurVoice, int NumParts, int Species, int Lim, int *Pens, int *Is, int *CurNotes)
void BestFitFirst (int CurTime, int CurrentPenalty, int NumParts, int Species, int BrLim)
void FillRhyPat ()
float RANDOM (float amp)
void UsedRhy (int n)
int CurRhy (int n)
void CleanRhy ()
int GoodRhy ()
void counterpoint (int OurMode, int *StartPitches, int CurV, int CantusFirmusLength, int Species, int *cantus)
void AnySpecies (int OurMode, int *StartPitches, int CurV, int CantusFirmusLength, int Species)
void fillCantus (int c0, int c1, int c2, int c3, int c4, int c5, int c6, int c7, int c8, int c9, int c10, int c11, int c12, int c13, int c14)
void toCsoundScore (std::string filename, double secondsPerPulse)
void winners (int v1, int *data, int *best, int *best1, int *best2, int *durs)

Data Fields

int generationMode
int musicMode
int species
size_t voices
double secondsPerPulse
std::vector< int > voiceBeginnings
std::vector< Node * > children
void(* messageCallback )(CSOUND *csound, int attribute, const char *format, va_list valist)
int MostNotes
int MostVoices
long randx
boost::numeric::ublas::matrix
< int > 
Ctrpt
boost::numeric::ublas::matrix
< int > 
Onset
boost::numeric::ublas::matrix
< int > 
Dur
boost::numeric::ublas::vector
< int > 
TotalNotes
boost::numeric::ublas::matrix
< int > 
BestFit
boost::numeric::ublas::matrix
< int > 
BestFit1
boost::numeric::ublas::matrix
< int > 
BestFit2
boost::numeric::ublas::vector
< int > 
vbs
boost::numeric::ublas::matrix
< int > 
RhyPat
boost::numeric::ublas::vector
< int > 
RhyNotes
int Fits [3]
int LowestSemitone
int HighestSemitone
int BasePitch
int Mode
int TotalTime
int UnisonPenalty
int DirectToFifthPenalty
int DirectToOctavePenalty
int ParallelFifthPenalty
int ParallelUnisonPenalty
int EndOnPerfectPenalty
int NoLeadingTonePenalty
int DissonancePenalty
int OutOfRangePenalty
int OutOfModePenalty
int TwoSkipsPenalty
int DirectMotionPenalty
int PerfectConsonancePenalty
int CompoundPenalty
int TenthToOctavePenalty
int SkipTo8vePenalty
int SkipFromUnisonPenalty
int SkipPrecededBySameDirectionPenalty
int FifthPrecededBySameDirectionPenalty
int SixthPrecededBySameDirectionPenalty
int SkipFollowedBySameDirectionPenalty
int FifthFollowedBySameDirectionPenalty
int SixthFollowedBySameDirectionPenalty
int TwoSkipsNotInTriadPenalty
int BadMelodyPenalty
int ExtremeRangePenalty
int LydianCadentialTritonePenalty
int LowerNeighborPenalty
int UpperNeighborPenalty
int OverTwelfthPenalty
int OverOctavePenalty
int SixthLeapPenalty
int OctaveLeapPenalty
int BadCadencePenalty
int DirectPerfectOnDownbeatPenalty
int RepetitionOnUpbeatPenalty
int DissonanceNotFillingThirdPenalty
int UnisonDownbeatPenalty
int TwoRepeatedNotesPenalty
int ThreeRepeatedNotesPenalty
int FourRepeatedNotesPenalty
int LeapAtCadencePenalty
int NotaCambiataPenalty
int NotBestCadencePenalty
int UnisonOnBeat4Penalty
int NotaLigaturePenalty
int LesserLigaturePenalty
int UnresolvedLigaturePenalty
int NoTimeForaLigaturePenalty
int EighthJumpPenalty
int HalfUntiedPenalty
int UnisonUpbeatPenalty
int MelodicBoredomPenalty
int SkipToDownBeatPenalty
int ThreeSkipsPenalty
int DownBeatUnisonPenalty
int VerticalTritonePenalty
int MelodicTritonePenalty
int AscendingSixthPenalty
int RepeatedPitchPenalty
int NotContraryToOthersPenalty
int NotTriadPenalty
int InnerVoicesInDirectToPerfectPenalty
int InnerVoicesInDirectToTritonePenalty
int SixFiveChordPenalty
int UnpreparedSixFivePenalty
int UnresolvedSixFivePenalty
int AugmentedIntervalPenalty
int ThirdDoubledPenalty
int DoubledLeadingTonePenalty
int DoubledSixthPenalty
int DoubledFifthPenalty
int TripledBassPenalty
int UpperVoicesTooFarApartPenalty
int UnresolvedLeadingTonePenalty
int AllVoicesSkipPenalty
int DirectToTritonePenalty
int CrossBelowBassPenalty
int CrossAboveCantusPenalty
int NoMotionAgainstOctavePenalty
int IntervalsWithBass [INTERVALS_WITH_BASS_SIZE]
int BestFitPenalty
int MaxPenalty
int Branches
int AllDone
float PenaltyRatio
boost::variate_generator
< boost::mt19937,
boost::uniform_real<> > * 
uniform_real_generator

Static Public Attributes

static int PerfectConsonance [13]
static int ImperfectConsonance [13]
static int Dissonance [13]
static int _Ionian [12]
static int _Dorian [12]
static int _Phrygian [12]
static int _Lydian [12]
static int _Mixolydian [12]
static int _Aeolian [12]
static int _Locrian [12]
static int BadMelodyInterval [13]
static int Indx [17]
static boost::mt19937 mersenneTwister

Protected Attributes

ublas::matrix< double > localCoordinates

Detailed Description

Uses Bill Schottstaedt's species counterpoint generator code to either (a) generate a counterpoint in species 1, 2, or 3 for a cantus firmus selected from notes generated by child nodes, or (b) attempt to correct the voice leading for species 1, 2, or 3 counterpoint in notes generated by child nodes.

Member Enumeration Documentation

anonymous enum [inherited]

Enumerator:
Unison 
MinorSecond 
MajorSecond 
MinorThird 
MajorThird 
Fourth 
Tritone 
Fifth 
MinorSixth 
MajorSixth 
MinorSeventh 
MajorSeventh 
Octave 

anonymous enum [inherited]

Enumerator:
Aeolian 
Dorian 
Phrygian 
Lydian 
Mixolydian 
Ionian 
Locrian 

anonymous enum [inherited]

Enumerator:
DirectMotion 
ContraryMotion 
ObliqueMotion 
NoMotion 

anonymous enum [inherited]

Enumerator:
WholeNote 
HalfNote 
DottedHalfNote 
QuarterNote 
DottedQuarterNote 
EighthNote 

anonymous enum [inherited]

Enumerator:
One 
Two 
Three 
Four 
Five 
Six 
Eight 

anonymous enum [inherited]

Enumerator:
infinity 
Bad 
RealBad 

anonymous enum [inherited]

Enumerator:
INTERVALS_WITH_BASS_SIZE 

anonymous enum [inherited]

Enumerator:
NumFields 
Field 
EndF 

anonymous enum

Enumerator:
GenerateCounterpoint 
CorrectCounterpoint 

anonymous enum [inherited]

Enumerator:
MostNotes_ 
MostVoices_ 


Constructor & Destructor Documentation

csound::CounterpointNode::CounterpointNode (  ) 

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


Member Function Documentation

int Counterpoint::ABS ( int  i  )  [inherited]

virtual void csound::Node::addChild ( Node node  )  [virtual, inherited]

void Counterpoint::AddInterval ( int  n  )  [inherited]

int Counterpoint::ADissonance ( int  Interval,
int  Cn,
int  Cp,
int  v,
int  Species 
) [inherited]

int Counterpoint::AnOctave ( int  Interval  )  [inherited]

void Counterpoint::AnySpecies ( int  OurMode,
int *  StartPitches,
int  CurV,
int  CantusFirmusLength,
int  Species 
) [inherited]

void Counterpoint::ARRBLT ( int *  dest,
int *  source,
int  num 
) [inherited]

int Counterpoint::ASeventh ( int  Interval  )  [inherited]

int Counterpoint::ASkip ( int  Interval  )  [inherited]

int Counterpoint::AStep ( int  Interval  )  [inherited]

int Counterpoint::ATenth ( int  Interval  )  [inherited]

int Counterpoint::AThird ( int  Interval  )  [inherited]

int Counterpoint::BadMelody ( int  Intv  )  [inherited]

int Counterpoint::Bass ( int  Cn,
int  v 
) [inherited]

int Counterpoint::Beat8 ( int  n  )  [inherited]

void Counterpoint::BestFitFirst ( int  CurTime,
int  CurrentPenalty,
int  NumParts,
int  Species,
int  BrLim 
) [inherited]

int Counterpoint::Cantus ( int  n,
int  v 
) [inherited]

int Counterpoint::Check ( int  Cn,
int  Cp,
int  v,
int  NumParts,
int  Species,
int  CurLim 
) [inherited]

void Counterpoint::CleanRhy (  )  [inherited]

virtual void Counterpoint::clear (  )  [virtual, inherited]

virtual void csound::Node::clear (  )  [virtual, inherited]

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

int Counterpoint::ConsecutiveSkipsInSameDirection ( int  Pitch1,
int  Pitch2,
int  Pitch3 
) [inherited]

void Counterpoint::counterpoint ( int  OurMode,
int *  StartPitches,
int  CurV,
int  CantusFirmusLength,
int  Species,
int *  cantus 
) [inherited]

virtual ublas::matrix<double> csound::Node::createTransform (  )  [virtual, inherited]

int Counterpoint::CurRhy ( int  n  )  [inherited]

int Counterpoint::DirectMotionToPerfectConsonance ( int  Pitch1,
int  Pitch2,
int  Pitch3,
int  Pitch4 
) [inherited]

int Counterpoint::Doubled ( int  Pitch,
int  Cn,
int  v 
) [inherited]

int Counterpoint::DownBeat ( int  n,
int  v 
) [inherited]

virtual double& csound::Node::element ( size_t  row,
size_t  column 
) [virtual, inherited]

int Counterpoint::ExtremeRange ( int  Pitch  )  [inherited]

void Counterpoint::fillCantus ( int  c0,
int  c1,
int  c2,
int  c3,
int  c4,
int  c5,
int  c6,
int  c7,
int  c8,
int  c9,
int  c10,
int  c11,
int  c12,
int  c13,
int  c14 
) [inherited]

void Counterpoint::FillRhyPat (  )  [inherited]

int Counterpoint::FirstNote ( int  n,
int  v 
) [inherited]

virtual ublas::matrix<double> csound::Node::getLocalCoordinates (  )  const [virtual, inherited]

Returns the local transformation of coordinate system.

Reimplemented in csound::Random.

int Counterpoint::GoodRhy (  )  [inherited]

virtual void Counterpoint::initialize ( int  mostnotes,
int  mostvoices 
) [virtual, inherited]

int Counterpoint::InMode ( int  Pitch,
int  Mode 
) [inherited]

int Counterpoint::LastNote ( int  n,
int  v 
) [inherited]

int Counterpoint::Look ( int  CurPen,
int  CurVoice,
int  NumParts,
int  Species,
int  Lim,
int *  Pens,
int *  Is,
int *  CurNotes 
) [inherited]

int Counterpoint::MAX ( int  a,
int  b 
) [inherited]

void Counterpoint::message ( const char *  format,
va_list  valist 
) [inherited]

void Counterpoint::message ( const char *  format,
  ... 
) [inherited]

int Counterpoint::MIN ( int  a,
int  b 
) [inherited]

int Counterpoint::MotionType ( int  Pitch1,
int  Pitch2,
int  Pitch3,
int  Pitch4 
) [inherited]

int Counterpoint::NextToLastNote ( int  n,
int  v 
) [inherited]

int Counterpoint::Other ( int  Cn,
int  v,
int  v1 
) [inherited]

int Counterpoint::OtherVoiceCheck ( int  Cn,
int  Cp,
int  v,
int  NumParts,
int  Species,
int  CurLim 
) [inherited]

int Counterpoint::OutOfRange ( int  Pitch  )  [inherited]

int Counterpoint::PitchRepeats ( int  Cn,
int  Cp,
int  v 
) [inherited]

virtual void csound::CounterpointNode::produceOrTransform ( Score score,
size_t  beginAt,
size_t  endAt,
const ublas::matrix< double > &  coordinates 
) [virtual]

The default implementation does nothing.

Reimplemented from csound::Node.

float Counterpoint::RANDOM ( float  amp  )  [inherited]

int Counterpoint::SaveIndx ( int  indx,
int *  Sp 
) [inherited]

void Counterpoint::SaveResults ( int  CurrentPenalty,
int  Penalty,
int  v1,
int  Species 
) [inherited]

virtual void csound::Node::setElement ( size_t  row,
size_t  column,
double  value 
) [virtual, inherited]

void Counterpoint::SetUs ( int  n,
int  p,
int  v 
) [inherited]

int Counterpoint::Size ( int  MelInt  )  [inherited]

int Counterpoint::SpecialSpeciesCheck ( int  Cn,
int  Cp,
int  v,
int  Other0,
int  Other1,
int  Other2,
int  NumParts,
int  Species,
int  MelInt,
int  Interval,
int  ActInt,
int  LastIntClass,
int  Pitch,
int  LastMelInt,
int  CurLim 
) [inherited]

void Counterpoint::toCsoundScore ( std::string  filename,
double  secondsPerPulse 
) [inherited]

int Counterpoint::TooMuchOfInterval ( int  Cn,
int  Cp,
int  v 
) [inherited]

int Counterpoint::TotalRange ( int  Cn,
int  Cp,
int  v 
) [inherited]

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.

int Counterpoint::UpBeat ( int  n,
int  v 
) [inherited]

int Counterpoint::Us ( int  n,
int  v 
) [inherited]

void Counterpoint::UsedRhy ( int  n  )  [inherited]

int Counterpoint::VIndex ( int  Time,
int  VNum 
) [inherited]

void Counterpoint::winners ( int  v1,
int *  data,
int *  best,
int *  best1,
int *  best2,
int *  durs 
) [inherited]


Field Documentation

int Counterpoint::_Aeolian[12] [static, inherited]

int Counterpoint::_Dorian[12] [static, inherited]

int Counterpoint::_Ionian[12] [static, inherited]

int Counterpoint::_Locrian[12] [static, inherited]

int Counterpoint::_Lydian[12] [static, inherited]

int Counterpoint::_Mixolydian[12] [static, inherited]

int Counterpoint::_Phrygian[12] [static, inherited]

int Counterpoint::AllDone [inherited]

int Counterpoint::BadMelodyInterval[13] [static, inherited]

int Counterpoint::BasePitch [inherited]

boost::numeric::ublas::matrix<int> Counterpoint::BestFit [inherited]

boost::numeric::ublas::matrix<int> Counterpoint::BestFit1 [inherited]

boost::numeric::ublas::matrix<int> Counterpoint::BestFit2 [inherited]

int Counterpoint::Branches [inherited]

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

Child Nodes, if any.

boost::numeric::ublas::matrix<int> Counterpoint::Ctrpt [inherited]

int Counterpoint::Dissonance[13] [static, inherited]

boost::numeric::ublas::matrix<int> Counterpoint::Dur [inherited]

int Counterpoint::Fits[3] [inherited]

int Counterpoint::ImperfectConsonance[13] [static, inherited]

int Counterpoint::Indx[17] [static, inherited]

int Counterpoint::IntervalsWithBass[INTERVALS_WITH_BASS_SIZE] [inherited]

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

int Counterpoint::MaxPenalty [inherited]

boost::mt19937 Counterpoint::mersenneTwister [static, inherited]

void(* Counterpoint::messageCallback)(CSOUND *csound, int attribute, const char *format, va_list valist) [inherited]

int Counterpoint::Mode [inherited]

int Counterpoint::MostNotes [inherited]

int Counterpoint::MostVoices [inherited]

boost::numeric::ublas::matrix<int> Counterpoint::Onset [inherited]

float Counterpoint::PenaltyRatio [inherited]

int Counterpoint::PerfectConsonance[13] [static, inherited]

long Counterpoint::randx [inherited]

boost::numeric::ublas::vector<int> Counterpoint::RhyNotes [inherited]

boost::numeric::ublas::matrix<int> Counterpoint::RhyPat [inherited]

boost::numeric::ublas::vector<int> Counterpoint::TotalNotes [inherited]

int Counterpoint::TotalTime [inherited]

boost::variate_generator<boost::mt19937, boost::uniform_real<> >* Counterpoint::uniform_real_generator [inherited]

int Counterpoint::UnisonPenalty [inherited]

boost::numeric::ublas::vector<int> Counterpoint::vbs [inherited]


Generated on Tue Apr 14 11:03:01 2009 for Csound and CsoundAC by  doxygen 1.5.8