Class: HeadMusic::Style::Guidelines::ConsonantDownbeats

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

Overview

A counterpoint guideline

Constant Summary collapse

MESSAGE =
"Use consonant harmonic intervals on every downbeat."

Instance Method Summary collapse

Constructor Details

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

Instance Method Details

#dissonant_intervalsObject (private)



20
21
22
# File 'lib/head_music/style/guidelines/consonant_downbeats.rb', line 20

def dissonant_intervals
  downbeat_harmonic_intervals.select { |interval| interval.dissonance?(:two_part_harmony) }
end

#dissonant_pairsObject (private)



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

def dissonant_pairs
  dissonant_intervals.map(&:notes).compact
end

#marksObject



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

def marks
  dissonant_pairs.map do |dissonant_pair|
    HeadMusic::Style::Mark.for_all(dissonant_pair)
  end.flatten
end