Class: HeadMusic::Style::Guidelines::Diatonic
- Inherits:
-
Annotation
- Object
- Annotation
- HeadMusic::Style::Guidelines::Diatonic
show all
- Defined in:
- lib/head_music/style/guidelines/diatonic.rb
Overview
Constant Summary
collapse
- MESSAGE =
"Use only notes in the key signature."
Instance Method Summary
collapse
Instance Method Details
#marks ⇒ Object
8
9
10
|
# File 'lib/head_music/style/guidelines/diatonic.rb', line 8
def marks
HeadMusic::Style::Mark.for_each(notes_not_in_key_excluding_penultimate_leading_tone)
end
|
#notes_not_in_key_excluding_penultimate_leading_tone ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/head_music/style/guidelines/diatonic.rb', line 14
def notes_not_in_key_excluding_penultimate_leading_tone
notes_not_in_key.reject do |note|
penultimate_note &&
note == penultimate_note &&
HeadMusic::Rudiment::ScaleDegree.new(key_signature, note.pitch.spelling).alteration == "#"
end
end
|
#penultimate_note ⇒ Object
22
23
24
|
# File 'lib/head_music/style/guidelines/diatonic.rb', line 22
def penultimate_note
voice.note_preceding(positions.last) if positions.last
end
|