Class: HeadMusic::Style::Guidelines::OneToOneWithTies
- Inherits:
-
Annotation
- Object
- Annotation
- HeadMusic::Style::Guidelines::OneToOneWithTies
- Defined in:
- lib/head_music/style/guidelines/one_to_one_with_ties.rb
Overview
A counterpoint guideline for fourth species counterpoint. For each cantus firmus note, verifies that one or two counterpoint notes are sounding at that position. A note may sustain across the barline (syncopation) rather than starting at the CF note position. Two notes sounding against one CF note is permitted as a "second species break."
Constant Summary collapse
- MESSAGE =
"Place one note per cantus firmus note. Notes may sustain across the barline."
Instance Method Summary collapse
Constructor Details
This class inherits a constructor from HeadMusic::Style::Annotation
Instance Method Details
#marks ⇒ Object
12 13 14 15 16 17 |
# File 'lib/head_music/style/guidelines/one_to_one_with_ties.rb', line 12 def marks return unless cantus_firmus&.notes return if cantus_firmus.notes.empty? HeadMusic::Style::Mark.for_each(uncovered_cantus_firmus_notes) end |
#uncovered_cantus_firmus_notes ⇒ Object (private)
21 22 23 24 25 26 |
# File 'lib/head_music/style/guidelines/one_to_one_with_ties.rb', line 21 def uncovered_cantus_firmus_notes cantus_firmus.notes.select do |cf_note| notes_sounding = voice.notes_during(cf_note) notes_sounding.empty? || notes_sounding.length > 2 end end |