Sha256: 7301ed0033955a9434ea6943859a098004d0d6695d69cc82035770663dbc19d8

Contents?: true

Size: 628 Bytes

Versions: 6

Compression:

Stored size: 628 Bytes

Contents

module HeadMusic::Style::Annotations
end

class HeadMusic::Style::Annotations::ApproachPerfectionContrarily < HeadMusic::Style::Annotation
  MESSAGE = 'Approach perfect consonances by contrary motion.'

  def marks
    motions_to_perfect_consonance_approached_directly.map do |bad_motion|
      HeadMusic::Style::Mark.for_all(bad_motion.notes)
    end
  end

  private

  def motions_to_perfect_consonance_approached_directly
    motions_to_perfect_consonance.select(&:direct?)
  end

  def motions_to_perfect_consonance
    motions.select do |motion|
      motion.second_harmonic_interval.perfect_consonance?
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
head_music-0.14.8 lib/head_music/style/annotations/approach_perfection_contrarily.rb
head_music-0.14.7 lib/head_music/style/annotations/approach_perfection_contrarily.rb
head_music-0.14.5 lib/head_music/style/annotations/approach_perfection_contrarily.rb
head_music-0.14.4 lib/head_music/style/annotations/approach_perfection_contrarily.rb
head_music-0.14.2 lib/head_music/style/annotations/approach_perfection_contrarily.rb
head_music-0.14.1 lib/head_music/style/annotations/approach_perfection_contrarily.rb