(This note describes an issue arising from the separate thread,
"Scholarly footnotes" [1])

I would like to use Urs' annotate.ily[2] to add some footnotes to an
edition of sixteenth-century polyphony.  But, before investing too much
time, I need to check whether there is now a way for it to cope with
polymetric music[3].  

In case it is relevant, there are two extra features of these scores:
they use \RemoveEmptyStaff, and they (manually) adjust bar numbering to
be continuous along the printed top staff of the system, whichever staff
that happens to be.  This is illustrated in the attachment, below,
(which might make a useful snippet for someone).  The bar numbering aims
to provide a reasonable way to describe locations in rehearsal, at the
possible expense of logical rigour.  For example, in the attachment, the
penultimate note of the alto line could be described as "counting
forward from bar 9, the second note of alto bar 10."  For the purpose of
annotation, this would be "Alto, bar 10."  I accept that this would need
careful handling in certain situations, such as orchestral score and
parts.

[1] lilypond-user, November 2015.
[2] http://lilypondblog.org/2015/01/introducing-scholarly/
[3]
http://www.lilypond.org/doc/v2.19/Documentation/notation/modifying-context-plug_002dins#index-polymetric-scores
\version "2.19.21"

\score {
  <<
    \new Staff \with {
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
      \consists "Bar_number_engraver"
      instrumentName = "S"
      shortInstrumentName = "S"
    }
    \relative c'' {
        \time 2/4
        \repeat unfold 6 c4 
        \break
        \repeat unfold 6 c4
        \break
        R2*3
        \break
        \set Staff.currentBarNumber = #9
        \repeat unfold 6 c4
    }
  \new Staff \with {
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
    \consists "Bar_number_engraver"
    instrumentName = "A"
    shortInstrumentName = "A"
  }
  \relative c''{
      % Suppress bar numbers by default, as this is not the top staff of the 
system.
      \override Staff.BarNumber.break-visibility = ##(#f #f #f)
      \time 2/4
      \repeat unfold  6 g4 
      \time 3/4
      \repeat unfold  6 g4
      % Where \RemoveEmptyStaffContext makes this the top staff, make
      % the bar numbers visible.
      \set Staff.currentBarNumber = #7
      \temporary \override Staff.BarNumber.break-visibility = ##(#f #f #t) 
      \repeat unfold  6 g4
      % and hide bar numbers again, when the upper line reappears.
      \revert Staff.BarNumber.break-visibility
      \repeat unfold  6 g4 
  }
>>
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
    }
  \context {
    \RemoveEmptyStaffContext
    }
  }
}

Attachment: RemoveEmptyStaffContext.pdf
Description: Adobe PDF document

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to