class HeadMusic::Style::Guidelines::StepDownToFinalNote
A counterpoint guideline
Constants
- MESSAGE
Public Instance Methods
marks()
click to toggle source
# File lib/head_music/style/guidelines/step_down_to_final_note.rb, line 10 def marks return if last_melodic_interval.nil? fitness = 1 fitness *= HeadMusic::PENALTY_FACTOR unless step? fitness *= HeadMusic::PENALTY_FACTOR unless descending? HeadMusic::Style::Mark.for_all(notes[-2..-1], fitness: fitness) if fitness < 1 end
Private Instance Methods
descending?()
click to toggle source
# File lib/head_music/style/guidelines/step_down_to_final_note.rb, line 21 def descending? last_melodic_interval&.descending? end
last_melodic_interval()
click to toggle source
# File lib/head_music/style/guidelines/step_down_to_final_note.rb, line 29 def last_melodic_interval @last_melodic_interval ||= melodic_intervals.last end
step?()
click to toggle source
# File lib/head_music/style/guidelines/step_down_to_final_note.rb, line 25 def step? last_melodic_interval&.step? end