Csound and CsoundAC API  5.17
Public Types | Public Member Functions | Data Fields | Static Public Attributes
Counterpoint Class Reference

#include <Counterpoint.hpp>

+ Inheritance diagram for Counterpoint:

Public Types

enum  { MostNotes_ = 128, MostVoices_ = 12 }
 
enum  {
  Unison = 0, MinorSecond = 1, MajorSecond = 2, MinorThird = 3,
  MajorThird = 4, Fourth = 5, Tritone = 6, Fifth = 7,
  MinorSixth = 8, MajorSixth = 9, MinorSeventh = 10, MajorSeventh = 11,
  Octave = 12
}
 
enum  {
  Aeolian = 1, Dorian = 2, Phrygian = 3, Lydian = 4,
  Mixolydian = 5, Ionian = 6, Locrian = 7
}
 
enum  { DirectMotion = 1, ContraryMotion = 2, ObliqueMotion = 3, NoMotion = 4 }
 
enum  {
  WholeNote = 8, HalfNote = 4, DottedHalfNote = 6, QuarterNote = 2,
  DottedQuarterNote = 3, EighthNote = 1
}
 
enum  {
  One = 0, Two = 2, Three = 3, Four = 4,
  Five = 5, Six = 6, Eight = 8
}
 
enum  { infinity = 1000000, Bad = 100, RealBad = 200 }
 
enum  { INTERVALS_WITH_BASS_SIZE = 8 }
 
enum  { NumFields = 16, Field = (MostVoices_+1), EndF = (Field*NumFields) }
 

Public Member Functions

int ABS (int i)
 
void AddInterval (int n)
 
int ADissonance (int Interval, int Cn, int Cp, int v, int Species)
 
int AnOctave (int Interval)
 
void AnySpecies (int OurMode, int *StartPitches, int CurV, int CantusFirmusLength, int Species)
 
void ARRBLT (int *dest, int *source, int num)
 
int ASeventh (int Interval)
 
int ASkip (int Interval)
 
int AStep (int Interval)
 
int ATenth (int Interval)
 
int AThird (int Interval)
 
int BadMelody (int Intv)
 
int Bass (int Cn, int v)
 
int Beat8 (int n)
 
void BestFitFirst (int CurTime, int CurrentPenalty, int NumParts, int Species, int BrLim)
 
int Cantus (int n, int v)
 
int Check (int Cn, int Cp, int v, int NumParts, int Species, int CurLim)
 
void CleanRhy ()
 
virtual void clear ()
 
int ConsecutiveSkipsInSameDirection (int Pitch1, int Pitch2, int Pitch3)
 
 Counterpoint ()
 
void counterpoint (int OurMode, int *StartPitches, int CurV, int CantusFirmusLength, int Species, int *cantus)
 
int CurRhy (int n)
 
int DirectMotionToPerfectConsonance (int Pitch1, int Pitch2, int Pitch3, int Pitch4)
 
int Doubled (int Pitch, int Cn, int v)
 
int DownBeat (int n, int v)
 
int ExtremeRange (int Pitch)
 
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 FillRhyPat ()
 
int FirstNote (int n, int v)
 
int GoodRhy ()
 
virtual void initialize (int mostnotes, int mostvoices)
 
int InMode (int Pitch, int Mode)
 
int LastNote (int n, int v)
 
int Look (int CurPen, int CurVoice, int NumParts, int Species, int Lim, int *Pens, int *Is, int *CurNotes)
 
int MAX (int a, int b)
 
void message (const char *format,...)
 
void message (const char *format, va_list valist)
 
int MIN (int a, int b)
 
int MotionType (int Pitch1, int Pitch2, int Pitch3, int Pitch4)
 
int NextToLastNote (int n, int v)
 
int Other (int Cn, int v, int v1)
 
int OtherVoiceCheck (int Cn, int Cp, int v, int NumParts, int Species, int CurLim)
 
int OutOfRange (int Pitch)
 
int PitchRepeats (int Cn, int Cp, int v)
 
float RANDOM (float amp)
 
int SaveIndx (int indx, int *Sp)
 
void SaveResults (int CurrentPenalty, int Penalty, int v1, int Species)
 
void SetUs (int n, int p, int v)
 
int Size (int MelInt)
 
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 toCsoundScore (std::string filename, double secondsPerPulse)
 
int TooMuchOfInterval (int Cn, int Cp, int v)
 
int TotalRange (int Cn, int Cp, int v)
 
int UpBeat (int n, int v)
 
int Us (int n, int v)
 
void UsedRhy (int n)
 
int VIndex (int Time, int VNum)
 
void winners (int v1, int *data, int *best, int *best1, int *best2, int *durs)
 
virtual ~Counterpoint ()
 

Data Fields

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

Static Public Attributes

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

Member Enumeration Documentation

anonymous enum
Enumerator
MostNotes_ 
MostVoices_ 
anonymous enum
Enumerator
Unison 
MinorSecond 
MajorSecond 
MinorThird 
MajorThird 
Fourth 
Tritone 
Fifth 
MinorSixth 
MajorSixth 
MinorSeventh 
MajorSeventh 
Octave 
anonymous enum
Enumerator
Aeolian 
Dorian 
Phrygian 
Lydian 
Mixolydian 
Ionian 
Locrian 
anonymous enum
Enumerator
DirectMotion 
ContraryMotion 
ObliqueMotion 
NoMotion 
anonymous enum
Enumerator
WholeNote 
HalfNote 
DottedHalfNote 
QuarterNote 
DottedQuarterNote 
EighthNote 
anonymous enum
Enumerator
One 
Two 
Three 
Four 
Five 
Six 
Eight 
anonymous enum
Enumerator
infinity 
Bad 
RealBad 
anonymous enum
Enumerator
INTERVALS_WITH_BASS_SIZE 
anonymous enum
Enumerator
NumFields 
Field 
EndF 

Constructor & Destructor Documentation

Counterpoint::Counterpoint ( )
virtual Counterpoint::~Counterpoint ( )
virtual

Member Function Documentation

int Counterpoint::ABS ( int  i)
void Counterpoint::AddInterval ( int  n)
int Counterpoint::ADissonance ( int  Interval,
int  Cn,
int  Cp,
int  v,
int  Species 
)
int Counterpoint::AnOctave ( int  Interval)
void Counterpoint::AnySpecies ( int  OurMode,
int *  StartPitches,
int  CurV,
int  CantusFirmusLength,
int  Species 
)
void Counterpoint::ARRBLT ( int *  dest,
int *  source,
int  num 
)
int Counterpoint::ASeventh ( int  Interval)
int Counterpoint::ASkip ( int  Interval)
int Counterpoint::AStep ( int  Interval)
int Counterpoint::ATenth ( int  Interval)
int Counterpoint::AThird ( int  Interval)
int Counterpoint::BadMelody ( int  Intv)
int Counterpoint::Bass ( int  Cn,
int  v 
)
int Counterpoint::Beat8 ( int  n)
void Counterpoint::BestFitFirst ( int  CurTime,
int  CurrentPenalty,
int  NumParts,
int  Species,
int  BrLim 
)
int Counterpoint::Cantus ( int  n,
int  v 
)
int Counterpoint::Check ( int  Cn,
int  Cp,
int  v,
int  NumParts,
int  Species,
int  CurLim 
)
void Counterpoint::CleanRhy ( )
virtual void Counterpoint::clear ( )
virtual
int Counterpoint::ConsecutiveSkipsInSameDirection ( int  Pitch1,
int  Pitch2,
int  Pitch3 
)
void Counterpoint::counterpoint ( int  OurMode,
int *  StartPitches,
int  CurV,
int  CantusFirmusLength,
int  Species,
int *  cantus 
)
int Counterpoint::CurRhy ( int  n)
int Counterpoint::DirectMotionToPerfectConsonance ( int  Pitch1,
int  Pitch2,
int  Pitch3,
int  Pitch4 
)
int Counterpoint::Doubled ( int  Pitch,
int  Cn,
int  v 
)
int Counterpoint::DownBeat ( int  n,
int  v 
)
int Counterpoint::ExtremeRange ( int  Pitch)
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 
)
void Counterpoint::FillRhyPat ( )
int Counterpoint::FirstNote ( int  n,
int  v 
)
int Counterpoint::GoodRhy ( )
virtual void Counterpoint::initialize ( int  mostnotes,
int  mostvoices 
)
virtual
int Counterpoint::InMode ( int  Pitch,
int  Mode 
)
int Counterpoint::LastNote ( int  n,
int  v 
)
int Counterpoint::Look ( int  CurPen,
int  CurVoice,
int  NumParts,
int  Species,
int  Lim,
int *  Pens,
int *  Is,
int *  CurNotes 
)
int Counterpoint::MAX ( int  a,
int  b 
)
void Counterpoint::message ( const char *  format,
  ... 
)
void Counterpoint::message ( const char *  format,
va_list  valist 
)
int Counterpoint::MIN ( int  a,
int  b 
)
int Counterpoint::MotionType ( int  Pitch1,
int  Pitch2,
int  Pitch3,
int  Pitch4 
)
int Counterpoint::NextToLastNote ( int  n,
int  v 
)
int Counterpoint::Other ( int  Cn,
int  v,
int  v1 
)
int Counterpoint::OtherVoiceCheck ( int  Cn,
int  Cp,
int  v,
int  NumParts,
int  Species,
int  CurLim 
)
int Counterpoint::OutOfRange ( int  Pitch)
int Counterpoint::PitchRepeats ( int  Cn,
int  Cp,
int  v 
)
float Counterpoint::RANDOM ( float  amp)
int Counterpoint::SaveIndx ( int  indx,
int *  Sp 
)
void Counterpoint::SaveResults ( int  CurrentPenalty,
int  Penalty,
int  v1,
int  Species 
)
void Counterpoint::SetUs ( int  n,
int  p,
int  v 
)
int Counterpoint::Size ( int  MelInt)
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 
)
void Counterpoint::toCsoundScore ( std::string  filename,
double  secondsPerPulse 
)
int Counterpoint::TooMuchOfInterval ( int  Cn,
int  Cp,
int  v 
)
int Counterpoint::TotalRange ( int  Cn,
int  Cp,
int  v 
)
int Counterpoint::UpBeat ( int  n,
int  v 
)
int Counterpoint::Us ( int  n,
int  v 
)
void Counterpoint::UsedRhy ( int  n)
int Counterpoint::VIndex ( int  Time,
int  VNum 
)
void Counterpoint::winners ( int  v1,
int *  data,
int *  best,
int *  best1,
int *  best2,
int *  durs 
)

Field Documentation

int Counterpoint::_Aeolian[12]
static
int Counterpoint::_Dorian[12]
static
int Counterpoint::_Ionian[12]
static
int Counterpoint::_Locrian[12]
static
int Counterpoint::_Lydian[12]
static
int Counterpoint::_Mixolydian[12]
static
int Counterpoint::_Phrygian[12]
static
int Counterpoint::AllDone
int Counterpoint::AllVoicesSkipPenalty
int Counterpoint::AscendingSixthPenalty
int Counterpoint::AugmentedIntervalPenalty
int Counterpoint::BadCadencePenalty
int Counterpoint::BadMelodyInterval[13]
static
int Counterpoint::BadMelodyPenalty
int Counterpoint::BasePitch
Eigen::MatrixXi Counterpoint::BestFit
Eigen::MatrixXi Counterpoint::BestFit1
Eigen::MatrixXi Counterpoint::BestFit2
int Counterpoint::BestFitPenalty
int Counterpoint::Branches
int Counterpoint::CompoundPenalty
int Counterpoint::CrossAboveCantusPenalty
int Counterpoint::CrossBelowBassPenalty
Eigen::MatrixXi Counterpoint::Ctrpt
int Counterpoint::DirectMotionPenalty
int Counterpoint::DirectPerfectOnDownbeatPenalty
int Counterpoint::DirectToFifthPenalty
int Counterpoint::DirectToOctavePenalty
int Counterpoint::DirectToTritonePenalty
int Counterpoint::Dissonance[13]
static
int Counterpoint::DissonanceNotFillingThirdPenalty
int Counterpoint::DissonancePenalty
int Counterpoint::DoubledFifthPenalty
int Counterpoint::DoubledLeadingTonePenalty
int Counterpoint::DoubledSixthPenalty
int Counterpoint::DownBeatUnisonPenalty
Eigen::MatrixXi Counterpoint::Dur
int Counterpoint::EighthJumpPenalty
int Counterpoint::EndOnPerfectPenalty
int Counterpoint::ExtremeRangePenalty
int Counterpoint::FifthFollowedBySameDirectionPenalty
int Counterpoint::FifthPrecededBySameDirectionPenalty
int Counterpoint::Fits[3]
int Counterpoint::FourRepeatedNotesPenalty
int Counterpoint::HalfUntiedPenalty
int Counterpoint::HighestSemitone
int Counterpoint::ImperfectConsonance[13]
static
int Counterpoint::Indx[17]
static
int Counterpoint::InnerVoicesInDirectToPerfectPenalty
int Counterpoint::InnerVoicesInDirectToTritonePenalty
int Counterpoint::IntervalsWithBass[INTERVALS_WITH_BASS_SIZE]
int Counterpoint::LeapAtCadencePenalty
int Counterpoint::LesserLigaturePenalty
int Counterpoint::LowerNeighborPenalty
int Counterpoint::LowestSemitone
int Counterpoint::LydianCadentialTritonePenalty
int Counterpoint::MaxPenalty
int Counterpoint::MelodicBoredomPenalty
int Counterpoint::MelodicTritonePenalty
boost::mt19937 Counterpoint::mersenneTwister
static
void(* Counterpoint::messageCallback)(CSOUND *csound, int attribute, const char *format, va_list valist)
int Counterpoint::Mode
int Counterpoint::MostNotes
int Counterpoint::MostVoices
int Counterpoint::NoLeadingTonePenalty
int Counterpoint::NoMotionAgainstOctavePenalty
int Counterpoint::NotaCambiataPenalty
int Counterpoint::NotaLigaturePenalty
int Counterpoint::NotBestCadencePenalty
int Counterpoint::NotContraryToOthersPenalty
int Counterpoint::NoTimeForaLigaturePenalty
int Counterpoint::NotTriadPenalty
int Counterpoint::OctaveLeapPenalty
Eigen::MatrixXi Counterpoint::Onset
int Counterpoint::OutOfModePenalty
int Counterpoint::OutOfRangePenalty
int Counterpoint::OverOctavePenalty
int Counterpoint::OverTwelfthPenalty
int Counterpoint::ParallelFifthPenalty
int Counterpoint::ParallelUnisonPenalty
float Counterpoint::PenaltyRatio
int Counterpoint::PerfectConsonance[13]
static
int Counterpoint::PerfectConsonancePenalty
long Counterpoint::randx
int Counterpoint::RepeatedPitchPenalty
int Counterpoint::RepetitionOnUpbeatPenalty
Eigen::VectorXi Counterpoint::RhyNotes
Eigen::MatrixXi Counterpoint::RhyPat
int Counterpoint::SixFiveChordPenalty
int Counterpoint::SixthFollowedBySameDirectionPenalty
int Counterpoint::SixthLeapPenalty
int Counterpoint::SixthPrecededBySameDirectionPenalty
int Counterpoint::SkipFollowedBySameDirectionPenalty
int Counterpoint::SkipFromUnisonPenalty
int Counterpoint::SkipPrecededBySameDirectionPenalty
int Counterpoint::SkipTo8vePenalty
int Counterpoint::SkipToDownBeatPenalty
int Counterpoint::TenthToOctavePenalty
int Counterpoint::ThirdDoubledPenalty
int Counterpoint::ThreeRepeatedNotesPenalty
int Counterpoint::ThreeSkipsPenalty
Eigen::VectorXi Counterpoint::TotalNotes
int Counterpoint::TotalTime
int Counterpoint::TripledBassPenalty
int Counterpoint::TwoRepeatedNotesPenalty
int Counterpoint::TwoSkipsNotInTriadPenalty
int Counterpoint::TwoSkipsPenalty
boost::variate_generator<boost::mt19937, boost::uniform_real<> >* Counterpoint::uniform_real_generator
int Counterpoint::UnisonDownbeatPenalty
int Counterpoint::UnisonOnBeat4Penalty
int Counterpoint::UnisonPenalty
int Counterpoint::UnisonUpbeatPenalty
int Counterpoint::UnpreparedSixFivePenalty
int Counterpoint::UnresolvedLeadingTonePenalty
int Counterpoint::UnresolvedLigaturePenalty
int Counterpoint::UnresolvedSixFivePenalty
int Counterpoint::UpperNeighborPenalty
int Counterpoint::UpperVoicesTooFarApartPenalty
Eigen::VectorXi Counterpoint::vbs
int Counterpoint::VerticalTritonePenalty