class HeadMusic::Style::Guidelines::NoUnisonsInMiddle

A counterpoint guideline

Constants

MESSAGE

Public Instance Methods

marks() click to toggle source
# File lib/head_music/style/guidelines/no_unisons_in_middle.rb, line 10
def marks
  unison_pairs.map do |notes|
    HeadMusic::Style::Mark.for_all(notes)
  end.flatten
end

Private Instance Methods

middle_intervals() click to toggle source
# File lib/head_music/style/guidelines/no_unisons_in_middle.rb, line 26
def middle_intervals
  [harmonic_intervals[1..-2]].flatten.compact
end
middle_unisons() click to toggle source
# File lib/head_music/style/guidelines/no_unisons_in_middle.rb, line 22
def middle_unisons
  middle_intervals.select { |interval| interval.perfect_consonance? && interval.unison? }
end
unison_pairs() click to toggle source
# File lib/head_music/style/guidelines/no_unisons_in_middle.rb, line 18
def unison_pairs
  middle_unisons.map(&:notes).compact
end