Class: HeadMusic::Style::Guides::FuxCantusFirmus

Inherits:
Object
  • Object
show all
Defined in:
lib/head_music/style/guides/fux_cantus_firmus.rb

Overview

Rules for the cantus firmus according to Fux.

Constant Summary collapse

RULESET =
[
  HeadMusic::Style::Guidelines::AlwaysMove,
  HeadMusic::Style::Guidelines::AtLeastEightNotes,
  HeadMusic::Style::Guidelines::ConsonantClimax,
  HeadMusic::Style::Guidelines::Diatonic,
  HeadMusic::Style::Guidelines::EndOnTonic,
  HeadMusic::Style::Guidelines::FrequentDirectionChanges,
  HeadMusic::Style::Guidelines::LimitOctaveLeaps,
  HeadMusic::Style::Guidelines::MostlyConjunct,
  HeadMusic::Style::Guidelines::NoRests,
  HeadMusic::Style::Guidelines::NotesSameLength,
  HeadMusic::Style::Guidelines::RecoverLargeLeaps,
  HeadMusic::Style::Guidelines::SingableIntervals,
  HeadMusic::Style::Guidelines::SingableRange,
  HeadMusic::Style::Guidelines::StartOnTonic,
  HeadMusic::Style::Guidelines::StepDownToFinalNote,
  HeadMusic::Style::Guidelines::UpToFourteenNotes
].freeze

Class Method Summary collapse

Class Method Details

.analyze(voice) ⇒ Object



25
26
27
# File 'lib/head_music/style/guides/fux_cantus_firmus.rb', line 25

def self.analyze(voice)
  RULESET.map { |rule| rule.new(voice) }
end