class HeadMusic::Style::Guidelines::StepOutOfUnison
A counterpoint guideline
Constants
- MESSAGE
Public Instance Methods
marks()
click to toggle source
# File lib/head_music/style/guidelines/step_out_of_unison.rb, line 10 def marks leaps_following_unisons.map do |skip| HeadMusic::Style::Mark.for_all(skip.notes) end.flatten end
Private Instance Methods
leaps_following_unisons()
click to toggle source
# File lib/head_music/style/guidelines/step_out_of_unison.rb, line 18 def leaps_following_unisons melodic_intervals_following_unisons.select(&:leap?) end
melodic_intervals_following_unisons()
click to toggle source
# File lib/head_music/style/guidelines/step_out_of_unison.rb, line 22 def melodic_intervals_following_unisons @melodic_intervals_following_unisons ||= perfect_unisons.map do |unison| note1 = voice.note_at(unison.position) note2 = voice.note_following(unison.position) HeadMusic::MelodicInterval.new(note1, note2) if note1 && note2 end.compact end
perfect_unisons()
click to toggle source
# File lib/head_music/style/guidelines/step_out_of_unison.rb, line 31 def perfect_unisons @perfect_unisons ||= harmonic_intervals.select(&:perfect_consonance?).select(&:unison?) end