Class: HeadMusic::Style::Guidelines::NoUnisonsInMiddle
- Inherits:
-
Annotation
- Object
- Annotation
- HeadMusic::Style::Guidelines::NoUnisonsInMiddle
show all
- Defined in:
- lib/head_music/style/guidelines/no_unisons_in_middle.rb
Overview
Constant Summary
collapse
- MESSAGE =
"Unisons may only be used in the first and last note."
Instance Method Summary
collapse
Instance Method Details
#marks ⇒ Object
8
9
10
11
12
|
# File 'lib/head_music/style/guidelines/no_unisons_in_middle.rb', line 8
def marks
unison_pairs.map do |notes|
HeadMusic::Style::Mark.for_all(notes)
end.flatten
end
|
#middle_intervals ⇒ Object
24
25
26
|
# File 'lib/head_music/style/guidelines/no_unisons_in_middle.rb', line 24
def middle_intervals
[harmonic_intervals[1..-2]].flatten.compact
end
|
#middle_unisons ⇒ Object
20
21
22
|
# File 'lib/head_music/style/guidelines/no_unisons_in_middle.rb', line 20
def middle_unisons
middle_intervals.select { |interval| interval.perfect_consonance? && interval.unison? }
end
|
#unison_pairs ⇒ Object
16
17
18
|
# File 'lib/head_music/style/guidelines/no_unisons_in_middle.rb', line 16
def unison_pairs
middle_unisons.map(&:notes).compact
end
|