Class: HeadMusic::Style::Guidelines::NoStrongBeatUnisons

Inherits:
HeadMusic::Style::Guideline show all
Defined in:
lib/head_music/style/guidelines/no_strong_beat_unisons.rb

Overview

A counterpoint guideline

Instance Method Summary collapse

Constructor Details

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

Instance Method Details

#interior_downbeat_intervalsObject (private)



18
19
20
21
22
# File 'lib/head_music/style/guidelines/no_strong_beat_unisons.rb', line 18

def interior_downbeat_intervals
  return [] if downbeat_harmonic_intervals.length < 3

  downbeat_harmonic_intervals[1..-2]
end

#interior_downbeat_unisonsObject (private)



14
15
16
# File 'lib/head_music/style/guidelines/no_strong_beat_unisons.rb', line 14

def interior_downbeat_unisons
  interior_downbeat_intervals.select { |interval| interval.perfect_consonance? && interval.unison? }
end

#marksObject



6
7
8
9
10
# File 'lib/head_music/style/guidelines/no_strong_beat_unisons.rb', line 6

def marks
  interior_downbeat_unisons.map do |interval|
    HeadMusic::Style::Mark.for_all(interval.notes)
  end
end