Module: HeadMusic::Style::Guideline::BarSpan
- Included in:
- HeadMusic::Style::Guidelines::AlwaysMove, HeadMusic::Style::Guidelines::MixSpeciesTextures, HeadMusic::Style::Guidelines::NoteCountPerBar, HeadMusic::Style::Guidelines::PreferLongBeforeShort, HeadMusic::Style::Guidelines::SustainAcrossBarlines
- Defined in:
- lib/head_music/style/guideline/bar_span.rb
Overview
The voice's own bars, rather than the cantus firmus's, so a solo line is judged over its bars too.
Instance Method Summary collapse
- #body_bar_numbers ⇒ Object protected
- #downbeat_of(bar_number) ⇒ Object protected
- #first_bar_number ⇒ Object protected
- #last_bar_number ⇒ Object protected
- #mark_bar(bar_number) ⇒ Object protected
- #middle_bar_numbers ⇒ Object protected
- #notes_in_bar(bar_number) ⇒ Object protected
Instance Method Details
#body_bar_numbers ⇒ Object (protected)
21 22 23 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 21 def (...).to_a end |
#downbeat_of(bar_number) ⇒ Object (protected)
25 26 27 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 25 def downbeat_of() HeadMusic::Content::Position.new(flow, "#{}:1") end |
#first_bar_number ⇒ Object (protected)
9 10 11 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 9 def notes.first.position. end |
#last_bar_number ⇒ Object (protected)
13 14 15 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 13 def notes.last.position. end |
#mark_bar(bar_number) ⇒ Object (protected)
33 34 35 36 37 38 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 33 def () = () return HeadMusic::Style::Mark.for_all() if .any? HeadMusic::Style::Mark.new(downbeat_of(), downbeat_of( + 1)) end |
#middle_bar_numbers ⇒ Object (protected)
17 18 19 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 17 def (( + 1)...).to_a end |
#notes_in_bar(bar_number) ⇒ Object (protected)
29 30 31 |
# File 'lib/head_music/style/guideline/bar_span.rb', line 29 def () notes.select { |note| note.position. == } end |