Class: HeadMusic::Style::Guides::ModernCantusFirmus

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

Overview

Modern rules for the cantus firmus

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::LimitOctaveLeaps,
  HeadMusic::Style::Guidelines::ModerateDirectionChanges,
  HeadMusic::Style::Guidelines::MostlyConjunct,
  HeadMusic::Style::Guidelines::NoRests,
  HeadMusic::Style::Guidelines::NotesSameLength,
  HeadMusic::Style::Guidelines::PrepareOctaveLeaps,
  HeadMusic::Style::Guidelines::SingableIntervals,
  HeadMusic::Style::Guidelines::SingableRange,
  HeadMusic::Style::Guidelines::SingleLargeLeaps,
  HeadMusic::Style::Guidelines::StartOnTonic,
  HeadMusic::Style::Guidelines::StepToFinalNote,
  HeadMusic::Style::Guidelines::UpToFourteenNotes
].freeze

Class Method Summary collapse

Class Method Details

.analyze(voice) ⇒ Object



26
27
28
# File 'lib/head_music/style/guides/modern_cantus_firmus.rb', line 26

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