Class: HeadMusic::Style::Guidelines::ApproachPerfectionContrarily

Inherits:
Annotation
  • Object
show all
Defined in:
lib/head_music/style/guidelines/approach_perfection_contrarily.rb

Overview

A counterpoint guideline

Constant Summary collapse

MESSAGE =
"Approach perfect consonances by contrary motion."

Instance Method Summary collapse

Constructor Details

This class inherits a constructor from HeadMusic::Style::Annotation

Instance Method Details

#marksObject



8
9
10
11
12
# File 'lib/head_music/style/guidelines/approach_perfection_contrarily.rb', line 8

def marks
  motions_to_perfect_consonance_approached_directly.map do |bad_motion|
    HeadMusic::Style::Mark.for_all(bad_motion.notes)
  end
end

#motions_to_perfect_consonanceObject (private)



20
21
22
23
24
# File 'lib/head_music/style/guidelines/approach_perfection_contrarily.rb', line 20

def motions_to_perfect_consonance
  motions.select do |motion|
    motion.second_harmonic_interval.perfect_consonance?
  end
end

#motions_to_perfect_consonance_approached_directlyObject (private)



16
17
18
# File 'lib/head_music/style/guidelines/approach_perfection_contrarily.rb', line 16

def motions_to_perfect_consonance_approached_directly
  motions_to_perfect_consonance.select(&:direct?)
end