class HeadMusic::Style::Guidelines::SingableIntervals
A counterpoint guideline
Constants
- MESSAGE
- PERMITTED_ASCENDING
- PERMITTED_DESCENDING
Public Instance Methods
marks()
click to toggle source
# File lib/head_music/style/guidelines/singable_intervals.rb, line 13 def marks melodic_intervals.reject { |interval| permitted?(interval) }.map do |unpermitted_interval| HeadMusic::Style::Mark.for_all([unpermitted_interval.first_note, unpermitted_interval.second_note]) end end
Private Instance Methods
permitted?(melodic_interval)
click to toggle source
# File lib/head_music/style/guidelines/singable_intervals.rb, line 21 def permitted?(melodic_interval) whitelist_for_interval(melodic_interval).include?(melodic_interval.shorthand) end
whitelist_for_interval(melodic_interval)
click to toggle source
# File lib/head_music/style/guidelines/singable_intervals.rb, line 25 def whitelist_for_interval(melodic_interval) melodic_interval.ascending? ? PERMITTED_ASCENDING : PERMITTED_DESCENDING end