Sha256: d64d0b92451c075859f6288af59bb50f893bee4e269b025ee9f7ada9dac29a73

Contents?: true

Size: 736 Bytes

Versions: 9

Compression:

Stored size: 736 Bytes

Contents

# frozen_string_literal: true

# Module for style guidelines.
module HeadMusic::Style::Guidelines; end

# A counterpoint guideline
class HeadMusic::Style::Guidelines::SingleLargeLeaps < HeadMusic::Style::Guidelines::RecoverLargeLeaps
  MESSAGE = "Recover leaps by step, repetition, opposite direction, or spelling triad."

  private

  def unrecovered_leap?(first_interval, second_interval, third_interval)
    return false unless first_interval.large_leap?
    return false if spelling_consonant_triad?(first_interval, second_interval, third_interval)
    return false if second_interval.step?
    return false if second_interval.repetition?

    !direction_changed?(first_interval, second_interval) && second_interval.leap?
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
head_music-4.0.1 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-4.0.0 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-3.0.1 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-3.0.0 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-2.0.1 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-2.0.0 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-1.0.0 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-0.29.0 lib/head_music/style/guidelines/single_large_leaps.rb
head_music-0.28.0 lib/head_music/style/guidelines/single_large_leaps.rb