Sha256: 33f6a4a9e2a4d08371ec8145e7cb4f5095c1b34be45eee1a574699ad5c348fd5

Contents?: true

Size: 563 Bytes

Versions: 3

Compression:

Stored size: 563 Bytes

Contents

module HeadMusic::Style::Annotations
end

class HeadMusic::Style::Annotations::ConsonantClimax < HeadMusic::Style::Annotation
  def message
    "Peak on a consonant high note one time."
  end

  def marks
    if notes
      improper_climaxes = highest_notes.select.with_index do |note, i|
        tonic_pitch = Pitch.get(composition.key_signature.tonic_spelling)
        interval = FunctionalInterval.new(tonic_pitch, note.pitch)
        interval.consonance.dissonant? || i > 0
      end
      HeadMusic::Style::Mark.for_each(improper_climaxes)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
head_music-0.11.3 lib/head_music/style/annotations/consonant_climax.rb
head_music-0.11.2 lib/head_music/style/annotations/consonant_climax.rb
head_music-0.11.1 lib/head_music/style/annotations/consonant_climax.rb